Get-ACL -Literalpath抛出:路径

时间:2015-09-25 16:16:13

标签: powershell acl

我有一个所有文件夹和文件的arraylist,我想要关闭ACL。 我的Foreach循环中一切运行良好。

但是出于一个奇怪的原因它会抛出:

  

Get-Acl:非法字符       + CategoryInfo:NotSpecified:(:) [Get-Acl],ArgumentException       + FullyQualifiedErrorId:System.ArgumentException,Microsoft.PowerShell.Commands.GetAclCommand

当我使用'faulty'路径运行get-acl手册时,我获得了ACL。 我的代码是:

               $ACL = get-acl -LiteralPath "$Path" | select -ExpandProperty access | select IdentityReference
               $Result = Compare-Object -ReferenceObject $ACLListAccess -DifferenceObject $ACL -Property Access -PassThru
                   if ($Result.count -ne 0)
                   {
                   $ExplicitTest = get-acl -LiteralPath "$Path" | select -ExpandProperty access 
                   if ($ExplicitTest.IsInherited.count -ne $ACLListAccessFull.count -and $ExplicitTest.IsInherited -Like "*False*")
                   {
                   $WrongFolders.Add($Path) | Out-Null
                   }
                   }

具有'非法字符'的路径是 \ mycompany.com \ folders \ Algemeen \Reme§ysen

1 个答案:

答案 0 :(得分:0)

抱歉,无法重现您的问题并且评论不允许我粘贴此

D:\temp\a> get-acl .\aaa§bbb
    Directory: D:\temp\a
Path                                                         Owner                                                        Access                                                      
----                                                         -----                                                        ------                                                      
aaa§bbb                                                      adil                                               BUILTIN\Administrators Allow  FullControl...

如果你复制粘贴那个角色,你也会得到167吗?

C:\> [int][char]'§'
167