如何为Exchange Powershell创build脚本来修改所有共享邮箱的设置?

遵循本指南: https : //blogs.technet.microsoft.com/exchange/2015/03/03/want-more-control-over-sent-items-when-using-shared-mailboxes/

我必须在Exchange Powershell(Exchangepipe理控制台)中发出这些命令:

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

不过,我有很多共享邮箱。 我想不想发出这个命令100次。 是否有一个variables和/或脚本我可以使用<mailbox name>这将让我自动化这个过程的所有共享邮箱? (这是非常重要的,我适用于共享邮箱,而不是所有的邮箱)

要获取您的环境中的所有共享邮箱,请使用:

 Get-Mailbox -RecipientTypeDetails SharedMailbox 

对这个命令的结果运行这些命令应该是微不足道的。

使用Get-Mailbox,将结果传递给Set-Mailbox。 这是一个oneliner

 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部分。