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

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

我发现这篇文章微软声称此 powershell 查询将给我一个动态通讯组中的用户列表,该列表的定义大致如下:

图像

列出的代码:

$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

但问题是我的查询(以及微软)只考虑了方程的一部分。它需要单选/复选框选择,但似乎跳过了用户Container所在的位置(即使你$members.OrganizationalUnit应该这样做)。它似乎返回Users with Exchange mailboxes所选容器中的所有人,但它也考虑了默认的人Users OU

那么如何修改查询以仅显示所选收件人容器内没有默认用户 OU 的查询。

答案1

您使用了错误的属性,OrganizationalUnit以下应该有效:

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

答案2

如果您的动态 DL 是在 Exchange 2003 或更早版本中创建的...或者您正在运行混合环境。试一试这个单行代码。请注意,不同之处在于使用 LDAPRecipientFilter 而不是 RecipientFilter。在 2003 环境中,普通的 RecipientFilter 值将为空。

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

相关内容