从dynamic通讯组获取用户Exchange 2007/2010

我在微软发现文章声称,这个PowerShell查询会给我一个dynamic通讯组中的用户列表,或多或less的定义如下:

图片

要列出的代码:

$MarketingGroup = Get-DynamicDistributionGroup "Marketing Group" Get-Recipient -RecipientPreviewFilter $MarketingGroup.RecipientFilter -OrganizationalUnit $MarketingGroup.OrganizationalUnit 

所以我修改了一下:

 $members = Get-DynamicDistributionGroup -Identity "dynamic group" Get-Recipient -RecipientPreviewFilter $members.RecipientFilter -OrganizationalUnit $members.OrganizationalUnit | select Displayname,PrimarySmtpAddress > membersall.txt 

但问题是我的问题(和微软在这方面)只考虑了一部分方程式。 它采取无线电/checkbox的select,但它似乎是跳过用户所在的Container (甚至你$members.OrganizationalUnit应该做的伎俩)。 它似乎返回所有Users with Exchange mailboxes选定的容器中的Users with Exchange mailboxes ,但它也需要在默认Users OU

因此,如何修改查询以仅显示在没有默认用户OU的情况下select的收件人容器中的查询。

您正在使用OrganizationalUnit的错误属性以下应该工作:

 $MarketingGroup = Get-DynamicDistributionGroup "Marketing Group" Get-Recipient -RecipientPreviewFilter $MarketingGroup.RecipientFilter -OrganizationalUnit $MarketingGroup.RecipientContainer 

因为您的dynamicDL是在Exchange 2003或之前版本中创build的,或者您正在运行混合环境。 给这一行一个裂缝。 注意不同之处在于使用LDAPRecipientFilter而不是仅使用RecipientFilter。 在2003环境中,普通的RecipientFilter值将为空。

 Get-Recipient -RecipientPReviewFilter (Get-DynamicDistributionGroup -Identity *groupname*).LDAPRecipientFilter | Select Name,PrimarySMTPAddress