【问题标题】:Getting and Error when changing an ACL via Powershell通过 Powershell 更改 ACL 时获取和错误
【发布时间】:2013-01-02 08:43:45
【问题描述】:

我正在编写一个小脚本,该脚本通过添加额外权限来修改文件夹上的 ACL;我在执行“Set-ACL”命令时遇到错误;请让我知道我做错了什么。

$AddAccessRule = New-Object security.accesscontrol.filesystemaccessrul("CREATOROWNER",@("ReadAndExecute,Synchronize"),"ContainerInherit,Objectinherit","Inheritonly","Allow")
$objacl = get-acl $FolderPath
$ObjAcl.AddAccessRule($AddAccessRule)
Set-acl $FolderPath $objacl

以下错误发生,当我执行它时;

使用“1”个参数调用“AddAccessRule”的异常:“部分或全部身份引用无法翻译。” 在 C:\Users\kakulva\Desktop\Scripts\CreatorOwner\ACL.ps1:10 char:1 + $ObjAcl.AddAccessRule($AddAccessRule) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : IdentityNotMappedException

如果需要任何疑问或澄清,请告诉我。

【问题讨论】:

  • 您的示例代码中似乎有拼写错误,您可以检查一下吗?例如CREATOROWNER 准确还是CREATOR OWNER?前者是你所拥有的,但它应该是后者......除非这是问题所在。
  • 感谢 Mike,它现在可以工作了,是的,两者之间应该有空间。

标签: powershell permissions acl fileserver


【解决方案1】:

这有效(或至少不返回错误):

$AddAccessRule = New-Object 'security.accesscontrol.filesystemaccessrulE'("CREATOR OWNER",@("ReadAndExecute,Synchronize"),"ContainerInherit,Objectinherit","Inheritonly","Allow")
$objacl = get-acl C:\A
$ObjAcl.AddAccessRule($AddAccessRule)
Set-acl -PATH C:\A $objacl

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 2021-09-02
    • 2018-08-06
    • 2015-01-26
    相关资源
    最近更新 更多