Я пытаюсь подражать действию щелчка правой кнопкой мыши по папке, установке "изменить" в папке и иметь разрешения для конкретной папки и подпапок и файлов.
В основном я использую Powershell, но наследование только устанавливается как "вложенные папки и файлы" вместо целой "этой папки, подпапок и файлов".
Есть ли какой-то нелистинговый флаг для System.Security.AccessControl.PropagationFlags, который будет правильно установлен?
Вот что я работаю до сих пор.
$Folders = Get-childItem c:\TEMP\
$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [System.Security.AccessControl.InheritanceFlags]::ObjectInherit
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]::InheritOnly
$objType = [System.Security.AccessControl.AccessControlType]::Allow
foreach ($TempFolder in $Folders)
{
echo "Loop Iteration"
$Folder = $TempFolder.FullName
$acl = Get-Acl $Folder
$permission = "domain\user","Modify", $InheritanceFlag, $PropagationFlag, $objType
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
Set-Acl $Folder $acl
}