powershell - 访问权和所有权 Powershell
问题描述
关于如何在以下脚本中添加所有者信息的任何想法?
Get-ChildItem "C:\DFSRoots\DFS\Folder_Redirection" -Recurse | ?{
$_.PsIsContainer } | %{ $Path = $_.FullName
# Include inherited rights from the report
(Get-Acl $Path).Access | Select-Object `
@{n='Path';e={ $Path }}, IdentityReference, AccessControlType, `
InheritanceFlags, PropagationFlags, FileSystemRights } | Export-CSV "C:\exported\Permissions4.csv"
解决方案
所有者不是Access
Get-Acl 返回的属性的属性,因此您需要在深入访问 Access 属性之前捕获它。
$dfsPath = "C:\DFSRoots\DFS\Folder_Redirection"
$report = "C:\exported\Permissions4.csv"
$result = Get-ChildItem $dfsPath -Recurse -Directory| ForEach-Object {
$folderPath = $_.FullName
$acl = Get-Acl -Path $folderPath
$owner = $acl.Owner
$ownerSid = $acl.Sddl -replace 'O:([S\-\d]+).+','$1'
$acl.Access |
Select-Object @{Name = 'Path'; Expression = { $folderPath }}, *,
@{Name = 'Owner'; Expression = { $owner}},
@{Name = 'OwnerSid'; Expression = { $ownerSid}}
}
# output on console
$result
#output to CSV file
$result | Export-CSV $reportPath -NoTypeInformation
作为奖励,上面还检索了所有者 SID
希望有帮助
推荐阅读
- azure - Azure 管道不并行运行矩阵作业
- django - django 表单和请求在同一个 http 页面中
- react-native - 致命异常:com.facebook.react.common.JavascriptException null 不是对象(评估 'n[u]')
- java - 使用 Groovy 重新映射 CSV 结构
- android - 如果我可以在 ADB 终端中看到我的 USB 连接的三星设备,但在 Mac OS 的 Android Studio 中看不到它,该怎么办?
- r - 选择R中的最后两列并通过将最后两列相除而不使用索引来形成一个新列
- java - Tomcat 找不到 Log4j 库
- android - 如何在android上制作一个概述的文本字段?
- spring - 如何将滚动文件记录器添加到 SpringBoot?
- flutter - 右侧 RenderFlex 溢出 99889 像素