当我使用 powershell 和 set-acl 设置新的文件系统访问规则时,我将继承标志设置为传播到子对象和叶对象
$acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule(
"username","FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")))
Set-Acl -path $filename -aclObject $acl
当我查看资源管理器中的权限时.. 在安全选项卡中.. 高级.. 传播设置正确。但如果我看看 children 自己,他们不会显示新的安全规则。
如果在资源管理器中,我添加了另一个具有不同 SID 的规则......并保存它(不强制选择“替换所有子对象权限......”)。然后手册和 powershell 规则都出现在 child 身上。就好像需要某种启动来使 children 接受新的传播规则。我缺少什么才能使子对象显示添加的新规则?
最佳答案
我有同样的逻辑问题...
$acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule(
"username","FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")))
用最后一个“无”,你是在说:不要传播......
改成:
$acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule(
"username","FullControl", "ContainerInherit, ObjectInherit", "InheritOnly", "Allow")))
它会传播您的设置。
在此处查看访问规则选项:http://msdn.microsoft.com/en-us/library/ms147785.aspx
这些是传播标志:http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.propagationflags.aspx
关于powershell - 使用 powershell 更改权限不会传播给 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10970957/