Связывание безопасности папок с группами безопасности AD Сценарий Powershell - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь написать скрипт, который связывает разрешения безопасности папки с существующей группой AD. Я еще не нашел ни одного скрипта или командлета (Set-Acl не может связывать с группами, только явные разрешения), который позволил бы мне это написать.

Например, у меня есть папка «FOLDER A» и группа безопасности AD «FOLDER A». Есть ли способ добавить группу AD в безопасность папки?

Пример группы AD в разрешениях папки:

AD group within folder permissions example

РЕДАКТИРОВАТЬ: Возможно, я нашел решение по поводу ошибки сервера. Я могу использовать командлет Get-ADGroup, чтобы найти SID каждой группы, а затем передать IdentityReference для Set-Acl. Проверим это и посмотрим, смогу ли я заставить его работать

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Я наконец нашел решение своей проблемы. Спасибо Джеймсу С. - хотя я не мог понять это с помощью вашего метода, я считаю, что он действительно указал мне верное направление.

Я фактически использовал конструктор FileSystemAccessRule. У меня был момент ясности, когда я понял, что могу ссылаться на группы AD. Я очень новичок в Powershell, так что это было не сразу для меня очевидно. Вот реализация:

$acl = Get-Acl <PATH OF FOLDER>

$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule('<NAME OF GROUP>','<PERMISSIONS>,'<Allow/Deny>')

$acl.SetAccessRule($AccessRule)

$acl | Set-Acl <PATH OF FOLDER>

Полную документацию по конструктору можно найти здесь . Затем я использовал скрипт Python для форматирования всех данных в csv и перебирал их для создания групп.

Спасибо всем!

0 голосов
/ 03 сентября 2018

Я всегда использую модуль NTFSSecurity при работе с разрешениями файловой системы. Команды в этом модуле гораздо легче понять, чем Set-Acl, поскольку они действуют так же, как и GUI.

Чтобы добавить разрешения для папки, достаточно одной команды:

Add-NTFSAccess -Path 'C:\Folder A' -Account 'Domain\Folder A' -AccessRights Read

Стоит прочитать ссылки на документацию, так как модуль может сделать гораздо больше, чем просто добавить разрешения!

Примечание. Вам необходимо установить модуль, если вы используете современную версию Powershell, это легко, так как вы можете просто использовать Install-Module -Name NTFSSecurity. Если это более старая версия, вам нужно скачать и установить модуль вручную.

...