мы работаем над новой концепцией разрешений. Мы создали разные группы безопасности в зависимости от отдела.
Например:
Finance_List, Finance_Read, Finance_ReadWrite
Controlling_List, Controlling_Read, Controlling_ReadWrite
Planning_List, Planning_Read, Planning_ReadWrite
Теперь я ищу сценарий для автоматизации процесса установки GroupPermissions для определенных папок.
Пример:
Папка Финансы:
Отключить наследование а затем установите новые разрешения и замените их для всех файлов и подпапок: Группа Finance_List (Папка списка), Группа Finance_Read (Читать), Группа Finance_ReadWrite (Изменить)
Пример CSV (путь к папке и 3 разрешения для каждой папки):
\\cifs\Finance;Finance_List;Finance_Read;Finance_ReadWrite
У меня 300 групп безопасности и 100 папок.
Любая помощь приветствуется.
Спасибо!
Следующее должно дать вам то, что вам нужно (убедитесь, что группы в вашем CSV соответствуют имени группы в AD, иначе это не будет работать правильно):
$Folders = Import-Csv "C:\Scripts\Folders.csv" -Delimiter ";" -Header "Path","List","Read","ReadWrite"
ForEach ($F in $Folders) {
$ACL = Get-Acl $F.Path
# Set the first parameter to $true to disable inheritance
# Set the second parameter to $false if you don't want to retain a copy the permissions to this folder.
# Set the second parameter to $true if you want to retain a copy of the inherited permissions.
$ACL.SetAccessRuleProtection($true, $true)
# 'ReadData' grants List Folder / Read Data
$List = New-object System.Security.AccessControl.FileSystemAccessRule($F.List,"ReadData","Allow")
$ACL.SetAccessRule($List)
# 'ReadAndExecute' grants Traverse Folder / Execute File
# 'Read' only grants List Folder / Read Data
$Read = New-object System.Security.AccessControl.FileSystemAccessRule($F.List,"ReadAndExecute","Allow")
$ACL.SetAccessRule($Read)
$ReadWrite = New-object System.Security.AccessControl.FileSystemAccessRule($F.ReadWrite,"Modify","Allow")
$ACL.SetAccessRule($ReadWrite)
$ACL | Set-Acl $F.Path
}
На этом веб-сайте есть хорошие примеры того, как изменить это при необходимости, а также список различных прав доступа и их эквивалента для Powershell. Как управлять ACL файловой системы с помощью сценариев PowerShell