У меня есть 2 OU пользователей, у каждого из которых есть почтовый контакт с тем же именем в отдельном одиночном OU. Итак, Джейн Доу будет в Staff \ OU1 с адресом электронной почты jdoe@contoso.com. Майк Доу будет в Staff \ OU2 с адресом mdoe@contoso.com. Затем в OU Contacts \ Staff у каждого из них будет контакт со своими именами с адресом электронной почты username@contoso.com.test-google-a.com. Мне нужно переслать электронные письма всех пользователей в OU1 и OU2 их контактам в OU контактов \ персонала. Также мне нужна почта, чтобы попасть в их почтовый ящик и контактный адрес электронной почты. Есть ли в PowerShell синтаксис, который сделает это за меня?
Предполагая, что вы работаете с почтовыми ящиками Exchange (в вашем вопросе не очень ясно) Set-Mailbox твой лучший друг.
Вам понадобится цикл for-each для извлечения атрибутов пользователя и правильной установки SMTP-адреса назначения. Если у вас есть целая OU пользователей, к которым можно применить изменения, используйте что-то вроде:
Get-Mailbox -OrganizationalUnit <OU> | % {Set-Mailbox -DeliverToMailboxAndForward $true -ForwardingSMTPAddress "($_.Alias)@otherdomain.com"}
ИМО, первый пример на связанной странице Set-Mailbox близок к тому, что вы пытаетесь сделать.
Честно говоря, вам не нужны контакты, потому что в этом случае это просто что-то другое. Однако, возможно, я неправильно разбираю ваш вопрос. Если вам нужно управлять контактами, это будет Get-MailUser
вместо того Get-Mailbox
. Вы все еще можете указать -OrganizationalUnit
с участием Get-MailUser
, так что вы можете сначала это проверить.
Вместо того ForwardingSMTPAddress
свойство, вы хотите указать свойство ExternalEmailAddress
на Set-MailUser