我正在寻找一种方法来递归列出文件夹中的所有访问权限。 现在我有这个代码:
$logfile = "C:\temp\test.txt"
$testpath = "H:\"
dir $testpath -Recurse | Get-Acl | Out-File $logfile
但是这并没有列出所有访问权限。
有谁知道错误是什么?
修改 目前它看起来像这样:
Boardmaker HEALTH\infsst_sys VORDEFINIERT\Administratoren Allow FullControl...
答案 0 :(得分:0)
Get-Acl
生成一个复杂的数据结构,其中包含有关对象的所有者和访问信息。您需要展开该对象的Access
属性以获取所需的信息:
Get-ChildItem $testpath -Recurse | ForEach-Object {
$file = $_.FullName
Get-Acl -Path $file | Select-Object -Expand Access |
Select-Object @{n='File';e={$file}}, IdentityReference, FileSystemRights,
AccessControlType
} | Export-Csv $logfile -NoType