0
当前我正在执行用于从多个服务器获取单个文件夹的访问控制列表的脚本。在执行脚本时,我收到了访问列表System.Security.AccessControl.AuthorizationRuleCollection
。从多个服务器获取单个文件夹的访问控制列表
$a = @()
$servers = Get-Content "F:\Team CDS\ExchServerlist.txt"
ForEach ($server in $servers)
{
$b = New-Object System.Object
$b = get-acl "\\$server\F$\Team CDS" | select-object -property @{Name = 'Path'; Expression = { ($_.PSPath -split '::')[1]; } },owner,access
$a += $b
$a | Export-Csv -NoTypeInformation -Path "F:\access1.csv"
}
输出:
\\9021\F$\Team CDS","OnlyL3","System.Security.AccessControl.AuthorizationRuleCollection"
\\9022\F$\Team CDS","OnlyL3","System.Security.AccessControl.AuthorizationRuleCollection"
\\9022\F$\Team CDS","OnlyL3","System.Security.AccessControl.AuthorizationRuleCollection"
请帮我更新了对输出文件访问性能。
可以通过管道将'Access'属性'出String'样这个:'@ {Label =“Access”; Expression = {$ _。Access | Out-String}}'但输出将是一个对象的集合。从本质上讲,你将在主表中有一张表格,所以为了CSV导出,你需要做一些额外的格式化。 – 2014-10-04 12:20:36
你真的在找什么信息? 'Get-Acl'可以返回具有多级访问权限的对象。这不适合单行输出。你可能需要使用foreach-Loop来循环它们 – Matt 2014-10-04 12:28:25