如何显示所有域用户&他们的团体会员(活动目录)

时间:2012-01-18 12:35:36

标签: powershell vbscript active-directory

我想找到一种方法(最好是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[]应该是组名。

我该怎么办?

3 个答案:

答案 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