【发布时间】:2011-03-17 23:52:33
【问题描述】:
我试图模仿右键单击文件夹、在文件夹上设置“修改”以及将权限应用于特定文件夹、子文件夹和文件的操作。
我大部分时间都在使用 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
}
【问题讨论】:
-
我做了一个文件权限对话框和结果权限之间的映射图表:bit.ly/inheritMatrix
-
请添加您所做的以下代码中的修改以使其正常工作
标签: powershell permissions file-permissions