Я нашел статью на Microsoft утверждая, что этот запрос 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
но проблема в том, что мой запрос (и Microsoft в этом отношении) принимает во внимание только часть уравнения. Требуется выбор радио / флажков, но кажется, что пропускается Container
пользователи находятся в (даже ты $members.OrganizationalUnit
должен сделать свое дело). Кажется, вернуть всех с Users with Exchange mailboxes
которые находятся в выбранном контейнере, но также принимает людей, которые находятся по умолчанию Users OU
.
Итак, как изменить запрос, чтобы отображались только те, которые находятся в выбранном контейнере получателя, без подразделения Users по умолчанию.
Вы используете неправильное свойство для OrganizationalUnit
Следующее должно работать:
$MarketingGroup = Get-DynamicDistributionGroup "Marketing Group"
Get-Recipient -RecipientPreviewFilter $MarketingGroup.RecipientFilter -OrganizationalUnit $MarketingGroup.RecipientContainer
Если ваш динамический DL был создан в Exchange 2003 или ранее ... или вы используете гибридную среду. Дайте этому однострочнику трещину. Обратите внимание, что разница заключается в использовании LDAPRecipientFilter вместо RecipientFilter. В среде 2003 простое значение RecipientFilter будет нулевым.
Get-Recipient -RecipientPReviewFilter (Get-DynamicDistributionGroup -Identity *groupname*).LDAPRecipientFilter | Select Name,PrimarySMTPAddress