Назад | Перейти на главную страницу

Как создать сценарий для Exchange Powershell для изменения настроек всех общих почтовых ящиков?

Следуя этому руководству: https://blogs.technet.microsoft.com/exchange/2015/03/03/want-more-control-over-sent-items-when-using-shared-mailboxes/

Я должен выполнить эти команды в Exchange Powershell (консоль управления Exchange):

set-mailbox <mailbox name> -MessageCopyForSentAsEnabled $True
set-mailbox <mailbox name> -MessageCopyForSendOnBehalfEnabled $True

Однако у меня есть много общих почтовых ящиков. Я не хочу, чтобы мне приходилось запускать эту команду 100 раз. Есть ли переменная и / или сценарий, который я могу использовать для <mailbox name> что позволит мне автоматизировать этот процесс для всех общий почтовые ящики? (Очень важно применить это к только общий почтовые ящики, а не только все почтовые ящики)

Используйте Get-Mailbox, передайте результат Set-Mailbox. Вот один лайнер

Get-Mailbox -Filter { <put your filter here> } | % { Set-Mailbox -MessageCopyForSentAsEnabled $True -MessageCopyForSendOnBehalfEnabled $True }

Или поместите это в сценарий.

$Mailboxes = Get-Mailbox -Filter { <put your filter here> }

Foreach ($Mailbox in $Mailboxes) {
    Set-Mailbox $Mailbox -MessageCopyForSentAsEnabled $True -MessageCopyForSendOnBehalfEnabled $True
}

Ключ отфильтровывает Get-Mailbox часть.

Чтобы получить все общие почтовые ящики в вашей среде, используйте:

Get-Mailbox -RecipientTypeDetails SharedMailbox

Запуск этих команд с результатами этой команды должен быть тривиальным.