提问人:SuperZee 提问时间:11/17/2023 最后编辑:litSuperZee 更新时间:11/18/2023 访问量:22
报告文件夹和子文件夹权限以及所有文件
Report on folder and sub folder permissions along with all files
问:
目前有此脚本,该脚本将报告顶级文件夹和子文件夹中的权限。我还需要它来报告所有文件。我已经安装了 Export-Excel 模块,以便它可以导出到 excel 文件。
$FolderPath = Get-ChildItem -Directory -Path "E:\TEMP\" -Recurse -Force
$Output = @()
ForEach ($Folder in $FolderPath) {
$Acl = Get-Acl -Path $Folder.FullName
ForEach ($Access in $Acl.Access) {
$Properties = [ordered]@{'FolderName'=$Folder.FullName;'Group/User'=$Access.IdentityReference;'Permissions'=$Access.FileSystemRights;'Inherited'=$Access.IsInherited}
$Output += New-Object -TypeName PSObject -Property $Properties
}
}
$Output | Export-Excel E:\TEMP\Report.xlsx -TableName Permissions -AutoSize
非常感谢ppl可以提供的任何帮助。
答:
0赞
Vern_Anderson
11/18/2023
#1
由于您使用“-Directory”开关设置$FolderPath变量,因此您只会在变量中获取文件夹/目录。
您需要删除该开关,或者创建代码的完全其他副本,将第 1 行替换为新变量,例如 $Filepath
$Filepath = Get-ChildItem -File -Path “E:\TEMP” -递归 -Force
然后遍历每个文件 ACL 对象,就像对文件夹所做的那样
更新
我刚刚在删除“-Directory”开关的情况下对其进行了测试,它为文件和文件夹重新保留了 ACL 对象。
评论