New-Item -Type Directory -Path "C:\MyFolder"
$Acl = Get-Acl "C:\MyFolder"
$Ar = New-Object System.Security.AccessControl.FileSystemAccessRule("username", "FullControl", "Allow")
$Acl.SetAccessRule($Ar)
Set-Acl -Path "C:\MyFolder" -AclObject $Acl
Run Code Online (Sandbox Code Playgroud)
嗨,当我得到上面的代码并使用我自己的设置应用它时 - 为文件夹添加了用户帐户条目,但是没有应用权限(没有勾选)
任何人都可以帮助解释为什么会这样吗?
谢谢
您的评论描述了以下行为:
您的 PowerShell 脚本成功,但如果您使用资源管理器属性对话框检查权限,您将看到以下内容:
这非常令人困惑,因为 PowerShell 查询将确认:
PS> Get-Acl .|fl
Path : Microsoft.PowerShell.Core\FileSystem::D:\temp\myfolder
Owner : clijsters\clijsters
Group : clijsters\Kein
Access : clijsters\NEWUSER Allow FullControl
VORDEFINIERT\Administratoren Allow FullControl
VORDEFINIERT\Administratoren Allow 268435456
NT-AUTORITÄT\SYSTEM Allow FullControl
[...]
Run Code Online (Sandbox Code Playgroud)
您的 ACL 已更改。如果您向下滚动复选框列表,您会注意到,“特殊权限”已被选中,如果您单击“高级”,您会注意到,您的权限已设置。
编辑:
正如@AnsgarWiechers 所提到的,我错过了描述为什么添加的权限New-Object System.Security.AccessControl.FileSystemAccessRule("username", "FullControl", "Allow")被列为特殊权限的部分。
就像 MSDN 上描述的那样,FileSystemAccessRule有 4 个构造函数,其中一些接受InheritanceFlags和PropagationFlags(例如,这个适合您的需要)。如果您使用它们并定义继承行为,则权限将显示为正常权限。
| 归档时间: |
|
| 查看次数: |
21359 次 |
| 最近记录: |