У меня недавно была задача обновления структур разрешений на наших домашних дисках пользователя. У меня есть каталог под названием home и папка для каждого пользователя ниже дома. На домашнем уровне есть две группы, и они приводятся к каждой из пользовательских папок. Папки пользователя устанавливаются как наследуемые от их родителя, а затем пользователь получает доступ только к своей папке.Получение имени папки с определенным ACL
Я пытаюсь написать сценарий powershell, который покажет мне, если какие-либо папки имеют определенный ACL, оставленный позади. Это то, с чем я столкнулся, и похоже, что он возвращает список подпапок для указанного каталога, где мне нужны только папки с указанным ACL.
$path = "\\server\share"
$folders = Get-ChildItem $path | where {$_.psiscontainer}
foreach ($folder in $folders)
{
$domain = "domname"
$aclname = "ACLname"
$aclfullname ="$domain\$aclname"
Get-Acl | select -ExpandProperty Access | where {$_.identityreference -contains $aclfullname}
Write-Host $folder.FullName
}
Если я использую следующий, он возвращает только один результат, но он возвращает ACL, а не имя папки.
$path = "\\node1\home"
$domain = "morgan-cole"
$aclname = "gsherlock"
$aclfullname ="$domain\$aclname"
Get-ChildItem $path | where {$_.psiscontainer} | Get-Acl | select -ExpandProperty Access | where {$_.identityreference -contains $aclfullname}
Любые идеи? Надеюсь, мои требования имеют смысл.
Точно, что я был после. Огромное спасибо! –