簡體   English   中英

Exchange Powershell-批量向所有郵箱用戶添加新的SMTP地址

[英]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.comjane.l.smith@domain.comjsmith@domain.com

我需要保留這些現有的smtp地址,但使用新的域添加新的smtp地址,並保留前綴格式。 因此,我需要將john.doe@newdomain.com jane.l.smith@newdomain.comjsmith@newdomain.com jane.l.smith@newdomain.comjsmith@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM