如何使用AD或exchange 2010在OU内列出分发组(List)及其成员

我们的整个域有数以千计的通讯组,而我可以使用这里引用的脚本: 如何获取Exchange 2007中的所有通讯组列表及其成员的列表? 要拉动所有的发行集团和他们的成员,要过滤所有的结果实在太难了。

我特别需要拉一个。 (首选)所有组(分配和安全)及其成员(这个特定的OU包含超过100个组)或b。 所有与名称匹配的团体和成员,例如:

dsquery | dsget看起来像几乎可以达到这个目的,但是当我做到:

dsquery group“OU = my-department,DC = blah,DC = blahblah,DC = com”-name * | dsget group -members(-expand)>> c:\ my-department.txt

它只显示成员而不显示它们属于哪个组。 我需要的输出应该有:组名,成员和可能扩展的子组。

我仍然在研究如何做到这一点,似乎我可以以某种方式使上述引用的脚本search只在一个OU,但我不是很熟悉PowerShell。

任何帮助将不胜感激,谢谢。

这不是很漂亮,但这个PowerShell应该做到这一点,

Import-Module ActiveDirectory "{0},{1}" -f "Group Name", "Member" | out-file outfile.csv Get-ADGroup -filter * -SearchBase "ou=groups, dc=your, dc=domain" | ForEach-Object { $group = Get-ADGroup $_.Name foreach ($member in Get-ADGroupMember $group) { "{0},{1}" -f $group.Name,$member.Name | out-file outfile.csv -append } } 

用目标OU的path来更新SearchBase,然后就离开了。