我和“ leosenko”有同样的问题。 我的脚本在下面;
$groupperm = @(
('(RW)',$readwrite,$inheritanceflag,$propagationflag),('(RO)',$readonly,('(LF)',$Listfolder,'None','None'))
foreach ($group in $groupperm){
$grouptxt = "FS1-$groupname " + $group[0]
$accessControlEntry = New-Object system.security.accessControl.FileSystemaccessRule @($grouptxt,$group[1],$group[2],$group[3],$type)
$objACL.AddaccessRule($accessControlEntry)
Set-ACL $folderpath $objACL
$accessControlEntry
}
这些组可以很好地应用于$ folderpath,但是最后一组上的“应用于”而不是其他“仅此文件夹”是“此文件夹,子文件夹和文件”。
如果我使用(Get-ACL $folderpath).access
检查ACL
我得到
FileSystemRights : Read,Synchronize
accessControlType : Allow
IdentityReference : MELTD\FS1-testing (LF)
IsInherited : False
Inheritanceflags : ContainerInherit,ObjectInherit
Propagationflags : None
对于最后一组,但是运行脚本(对于最后一组)时$ accesscontrolentry的输出显示;
FileSystemRights : Read,Synchronize
accessControlType : Allow
IdentityReference : FS1-testing (LF)
IsInherited : False
Inheritanceflags : None
Propagationflags : None
任何人都可以帮我照亮吗?
预先感谢
保罗。
编辑...好吧,经过一些测试...如果我使用设置权限
icacls $folderpath /grant $grouptxt":(R)"
我获得了所需的“仅此文件夹”权限集,但是,如果我在脚本中包含该行,并且仅应用前两个权限,则同一行会将权限设置为“此文件夹,子文件夹和文件” 例如
$groupperm = @(
('(RW)',$propagationflag)
)
$grouptxt = 'FS1-'+$groupname+' (LF)'
icacls $folderpath /grant $grouptxt":(R)"
foreach ($group in $groupperm){
$grouptxt = "FS1-$groupname " + $group[0]
$accessControlEntry = New-Object system.security.accessControl.FileSystemaccessRule @($grouptxt,$type)
$objACL.AddaccessRule($accessControlEntry)
Set-ACL $folderpath $objACL
$accessControlEntry
}
有些东西坏了!