下午好。
我对Powershell很新,所以请原谅我的无知。
我正在尝试在文本文档中的服务器路径列表上运行Get-ACL,这样我就可以获得具有权限的AD帐户/组列表以及每个文件夹路径的权限级别。然后我需要它将此信息导出为CSV或文本文件。我在这里经历了大量的脚本,并试图调整它们以满足我的特定需求,但我仍然遇到麻烦。我目前正试图调整这个,但我不确定我哪里出错了;
$FullList = Get-Content "C:\ShareList.txt"
$DataOutFile = "C:\PermissionInformation.txt"
Foreach ($Folder in $FullList)
{
$ACLs = get-acl $Folder | ForEach-Object { $_.Access }
Foreach ($ACL in $ACLs)
{
$DataOutInfo = $Folder.FullName + ":" + $ACL.IdentityReference
Add-Content -Value $DataOutInfo -Path $DataOutFile
}
}
源列表“ShareList.txt”的格式如下;
\\phttest\Testing$\Test1
\\phttest\Testing$\Test2
\\phttest\Testing$\Test3
脚本运行并且似乎没有出错,但是当我检查输出文件时它没有输入,它完全为空。
我还尝试了一个使用CSV的更简单的变体;
源文件是ShareList.csv
Folder,
\\phttest\Testing$\Test1
\\phttest\Testing$\Test2
\\phttest\Testing$\Test3
脚本;
$FilePath = "C:\ShareList.csv"
$List = Import-CSV $FilePath
foreach($Folder in $List)
{
Get-ACL $Folder | ForEach-Object
}
我收到以下消息: 命令管道位置2处的cmdlet ForEach-Object 提供以下参数的值: 过程[0]:
我一直在努力让弗兰肯斯坦成为一个有效的剧本,但到目前为止我似乎已经围成一圈,任何帮助都会非常感激。
山姆
答案 0 :(得分:0)
试试这个,在CSV标题中单词“Folder”后面省略逗号:
letters.length
<强>更新强>
根据您的评论,这是下一个猜测。试试这个:
for