我想找到一种方法(最好是VB脚本或PowerShell)生成一个报告,该报告显示域中的所有用户帐户,并显示他们所属的组。
我希望以下列格式将其导出到Excel电子表格中:
用户名1 |第1组,第2组,第3组,第4组,第5组等 用户名2 |第1组,第2组,第3组,第4组,第5组等。
我一直在玩AD的Quest Powershell Commands并提出以下建议:
get-qaduser * -sizelimit 0 | select Name,MemberOf | export-csv report.csv
但是,它在输出文件中显示为:
Username1 | System.String[]
Username2 | System.String[]
Username3 | System.String[]
System.String[]
应该是组名。
我该怎么办?
答案 0 :(得分:6)
试试这个,你需要加入组名:
$memberOf = @{n='MemberOf';e={ ($_.MemberOf -replace '^CN=([^,]+).+$','$1') -join ';' }}
Get-QADUser -SizeLimit 0 | `
Select-Object Name,DN,SamAccountName,$memberOf | `
Export-Csv report.csv
答案 1 :(得分:0)
像这样的脚本(未经测试):
$users = get-qaduser * -sizelimit 0
$a = @()
foreach ( $user in $users)
{ $al = New-Object System.Object
$al | Add-member -type Noteproperty -name Accountame $user.samaccountname
$al | add-member -type Noteproperty -name Groups $user.memberof
$a += $al
}
$a | export-csv report.csv
答案 2 :(得分:0)
你能试试吗
get-qaduser * -sizelimit 0 | select -Property @{N="my";E={$_.name}}, -ExpandProperty MemberOf | export-csv report.csv