PowerShell为文本文件中的文件夹获取ACL

时间:2014-06-23 01:23:10

标签: file-permissions powershell-v3.0

我有一个文本文件,其中包含我想要获取权限信息的文件夹的确切路径,我正在尝试使用PowerShell从每个文件夹中获取信息。我想将信息添加到文本文件中,分隔符值为":"

有人可以告诉我我做错了什么......

$FullList = Get-Content "C:\Temp\ListofFoldersToCheck.txt"

$DataOutFile = "C:\Temp\PermissionInformation.txt"

Foreach ($Folder in $FullList)
{
    $ACLs = get-acl $Folder.Fullname | ForEach-Object { $_.Access }

    Foreach ($ACL in $ACLs)
    {
        $DataOutInfo = $Folder.FullName + ":" + $ACL.IdentityReference
        Add-Content -Value $DataOutInfo -Path $DataOutFile
    }
}

它返回错误消息: Get-Acl:无法验证参数' Path'的参数。参数为null或空。提供一个非null或空的参数,然后尝试 再次命令。

$ FullList数据由新行分隔,如果这有任何区别。

请帮助,这让我疯了......

1 个答案:

答案 0 :(得分:1)

嘿,你在这里错过了一些东西:

$ Folder string,而不是FileInfo(您应该使用Get-Item),因此您应该首先:get-acl $Folder和不是get-acl $Folder.Fullname

然后你应该写:

$ACLs = (get-acl $Folder).Access