[英]Exchange Powershell - Bulk add new SMTP address to all mailbox users
Exchange Server 2007
我需要在所有郵箱上運行命令以向每個郵箱插入一個新的SMTP地址。 如果它們都是相同的格式,則很容易運行Get-MailContact
來添加新地址。 例如域中的FirstName+"."+.LastName
。 但是,並非所有SMTP地址都遵循此約定。
我們有一些地址,例如: john.doe@domain.com
jane.l.smith@domain.com
jsmith@domain.com
, jane.l.smith@domain.com
和jsmith@domain.com
。
我需要保留這些現有的smtp地址,但使用新的域添加新的smtp地址,並保留前綴格式。 因此,我需要將john.doe@newdomain.com
jane.l.smith@newdomain.com
, jsmith@newdomain.com
jane.l.smith@newdomain.com
和jsmith@newdomain.com
到這三個郵箱中。
我只是不確定如何掃描所有郵箱中包含*@domain.com
任何地址並添加*@newdomain.com
我在這里可以做什么?
像這樣的東西應該可以工作,但是我還沒有對其進行測試,因此在銷毀您的交換服務器之前,我一定會在測試環境中對其進行測試...
$NeedsNew = get-mailbox -ResultSize Unlimited | Where-Object { $_.EmailAddresses -like "*@domain.com"
foreach ( $Mailbox in $NeedsNew ) {
$EmailAddresses = $Mailbox.EmailAddresses
$Changed = $false
foreach ( $Address in $EmailAddresses ) {
if ( $Address -like "*@domain.com" ) {
( $prefix, $oldDomain ) = $Address.AddressString.split("@")
$EmailAddresses += "{0}@newdomain.com" -f $prefix
$Changed = $true
}
}
if( $Changed ) {
Set-Mailbox -Identity $Mailbox -EmailAddresses $EmailAddresses
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.