【发布时间】:2015-12-11 11:15:05
【问题描述】:
这是我得到的:
Import-Module ActiveDirectory
$objectCollection = @()
$groups = (Get-ADGroup -Filter *)
foreach ($group in $groups) {
$groupName = ($group.SamAccountName)
$object = (New-Object –Type PSObject)
Add-Member -InputObject $object -MemberType NoteProperty –Name ($groupName) –Value ""
$groupMembers = (Get-ADGroupMember -Identity "$groupName" -Recursive |
Select-Object -ExpandProperty Name)
$object.$groupName = $groupMembers
$objectCollection += $object
}
$objectCollection | Export-Csv -Path C:\Users\administrator\Desktop\test.csv `
-Encoding UTF8 -Delimiter ";" -NoTypeInformation
此脚本的目标是创建一个 CSV 文件,其中 AD 组名称是一列中的标题,然后是下面列出的组的所有成员在单独的行中。下一个组在一个新列中,以 AD 组名称作为标题,依此类推...
通常我根据需要创建尽可能多的成员,但这次我希望它是动态的,有多少组,上面的脚本只显示 $groups 数组中的第一个组。
任何帮助表示赞赏,在此先感谢!
【问题讨论】: