我有一个文本文件,其中包含我想要获取权限信息的文件夹的确切路径,我正在尝试使用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数据由新行分隔,如果这有任何区别。
请帮助,这让我疯了......
答案 0 :(得分:1)
嘿,你在这里错过了一些东西:
$ Folder 是string
,而不是FileInfo
(您应该使用Get-Item),因此您应该首先:get-acl $Folder
和不是get-acl $Folder.Fullname
。
然后你应该写:
$ACLs = (get-acl $Folder).Access