Alexander A Manaeff -

 
 

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

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

Модератор: UncleFather

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

Сообщение UncleFather » 22 ноя 2010 16: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 - полные права
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1256
Зарегистрирован: 17 авг 2004 17:20, Вт

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

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

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

cron
Alexander A Manaeff -
@Mail.ru .