1

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

У меня есть скрипт для создания каталогов:

New-Item -Path D:\superuser-data -ItemType directory
Net-Item -Path D:\superuser-data\documents -ItemType directory
Net-Item -Path D:\superuser-data\scripts -ItemType directory

Я запускаю этот сценарий, а затем настраиваю разрешения так, как я хочу, для учетных записей AD на сервере А.

Затем я хочу иметь возможность повторно запустить этот сценарий на сервере B, а затем запустить другой сценарий на сервере B, который устанавливает разрешения в соответствии с тем, что я делал на сервере A.

1 ответ1

1

Отсюда: https://seankilleen.com/2015/01/how-to-copy-ACL-Permissions-To-Folders-With-Powershell/

Powershell содержит команды get-acl и set-acl , и вы можете соединить их вместе:

Get-Acl -Path C:\Folder1 | Set-Acl -Path C:\Folder2

Этими путями могут быть UNC или другие подходящие методы, поэтому они должны работать в сетях.

Обновить:

Дескрипторы безопасности МОГУТ быть скопированы и сохранены. Следующее не самый эффективный процесс, его я впервые попробовал сделать, но он функционален.

Несколько итеративно улучшенных поисков в Google привели меня сюда: http://community.idera.com/powershell/powertips/b/tips/posts/replacing-ntfs-permissions-with-sddl-information

И вот процесс.

  1. Захват ACL с исходного компьютера:
    $SDout = get-acl -path (source folder)
  2. Сохраните SDDL в буфере обмена:
    $SDout.GetSecurityDescriptorSddlForm('All') | clip.exe
  3. Вставьте в Блокнот и перейдите к целевому компьютеру.
  4. Скопируйте ТОЛЬКО однострочный SDDL в буфер обмена.
  5. Сохраните исходный SDDL в параметре:
    $SDsource = '(paste the source SDDL here)'
  6. Захватите целевой объект ACL в параметре:
    $SDtarget = get-acl -path (target folder)
  7. Переписать SDDL цели с SDDL источника сигналов:
    $SDtarget.SetSecurityDescriptorSddlForm($SDsource)
  8. Запишите измененный ACL обратно в целевую папку:
    set-acl -Path (target folder) -ACLObject $SDtarget

Теперь, проверяя свойства, вы должны увидеть, что целевая папка имеет те же разрешения, что и исходная папка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .