Alexander A Manaeff -

 
 

Как установить наследование прав для дочерних папок

Все об администрировании Windows NT/2000/2003/2008/2012 Server (в т.ч. R2) серверов. Групповые политики, домены, безопасность и пр. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.

Модератор: UncleFather

Как установить наследование прав для дочерних папок

Сообщение UncleFather » 22 ноя 2010 15:38, Пн




Проблема:

Имеется файловый сервер с папкой, в которой лежит множество пользовательских папок. По условиям задачи - права от родительской папки на пользовательские папки наследовать нельзя! Необходимо добавить нового пользователя с правами на изменение ко всем пользовательским папкам так, чтобы эти права распространились и на дочерние папки.

Решение:

Создаем PowerShell скрипт (файлик с именем ChgPerm.ps1)

Код: Выделить всё
$inheritCO = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagationIO = [system.security.accesscontrol.PropagationFlags]"InheritOnly"
$PropagationN = [system.security.accesscontrol.PropagationFlags]"None"
foreach ($item in Get-ChildItem -LiteralPath D:\Users_Dirs\ -Force | Where-Object {!$item.PSIsContainer}) {
echo $item
$ACL = Get-Acl D:\Users_Dirs\$item
$AccessRule = new-object System.Security.AccessControl.FileSystemAccessRule(
    "Domain\User1", "Modify", $inheritCO, $propagationN,  "Allow"
)
$ACL.SetAccessRule($AccessRule)
$AccessRule = new-object System.Security.AccessControl.FileSystemAccessRule(
    "Domain\User2", "Modify", $inheritCO, $propagationN,  "Allow"
)
$ACL.SetAccessRule($AccessRule)
$AccessRule = new-object System.Security.AccessControl.FileSystemAccessRule(
    "SYSTEM", "FullControl", $inheritCO, $propagationN,  "Allow"
)
$ACL.SetAccessRule($AccessRule)
$ACL | Set-Acl D:\Users_Dirs\$item
}

здесь:
  • $propagationIO - используем в случае, если права нужно ставить ТОЛЬКО на дочерние папки пользовательских папок;
  • $propagationN - используем в случае, если права нужно ставить и на дочерние папки и на пользовательские папки;

Этот пример добавит к существующим следующие права с наследованием на все дочерние подпапки папки "D:\Users_Dirs\":
  • Domain\User1 - на изменение
  • Domain\User12- на изменение
  • System - полные права




Если Вам понравился этот материал, то мы с признательностью примем вашу финансовую поддержку, которая поможет нам и в дальнейшем радовать Вас интересной и полезной информацией.
Помните, что даже минимальная сумма сделает Вас инвестором этого проекта и о Вас будут думать с благодарностью тысячи наших новых читателей.
Материально поддержать проект можно здесь










Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram
Изображение
Изображение
Изображение
Изображение
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1343
Зарегистрирован: 17 авг 2004 16:20, Вт



Вернуться в Администрирование Windows Server

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Alexander A Manaeff - нижняя граница
Рейтинг@Mail.ru Яндекс.Метрика Яндекс цитирования

Счетчик посещений