среда, 24 февраля 2016 г.

[icacls] Создаем личные сетевые папки пользователям и назначаем корректные разрешения и права доступа

Задача: в домене domain.local в общей папке SHARE на сервере srv01 создать в автоматическом режиме личные папки для пользователей организационного подразделения Company, назначить такие права, при которых каждый пользователь имел бы доступ только в свою папку, не мог бы ее удалить/переименовать, мог бы создавать/удалять подпапки и файлы, но не мог бы становиться их владельцем. Для выполнения данной задачи используем утилиту icacls.


Import-Module ActiveDirectory
$users = Get-ADUser -SearchBase 'OU=Company,DC=domain,DC=local' -filter * | select samAccountName,Name
$share = '\\srv01\SHARE\';
$users | foreach {
                  $path = $share + $_.name
                  md $path
                  $acc = 'DOMAIN\' + $_.samAccountName
                  $cmd1 = 'icacls "' + $path + '" /inheritance:d /grant "' + $acc + '":(OI)(CI)(IO)M'
                  $cmd2 = 'icacls "' + $path + '" /grant "' + $acc + '":(AD,R,WD)'     

                  cmd /c ($cmd1)
                  cmd /c ($cmd2)
                 }



В итоге права пользователя выглядят таким образом:





Осталось только на папку SHARE назначить всем пользователям разрешения "Только для чтения".

Комментариев нет:

Отправить комментарий