2014-12-12 8 views
1

Exchange 서버로 새 SMTP 주소를 추가합니다. 주소가 모두 동일한 형식 인 경우 Get-MailContact을 실행하여 새 주소를 쉽게 추가 할 수 있습니다. 도메인에서와 같이 FirstName+"."+.LastName. 그러나 모든 SMTP 주소가이 규칙을 따르는 것은 아닙니다.교환 파워 쉘 - 대량 모든 사서함 사용자 2,007 나는 각 사서함에 새 SMTP 주소를 삽입하는 모든 사서함에서 명령을 실행해야</p> <p>

예를 들어 [email protected], [email protected][email protected]과 같은 일부 주소가 있습니다.

나는 기존의 SMTP 주소를 유지해야하지만 새 도메인으로 새 SMTP 주소를 추가하고 접두사 형식을 유지해야합니다. 따라서 해당 사서함에 [email protected], [email protected][email protected]을 추가해야합니다.

난 그냥 *@domain.com*@newdomain.com

내가 여기서 무엇을 할 수 추가를 포함하는 모든 주소에 대한 모든 사서함을 검색하는 방법을 잘 모르겠어요?

답변

1

작업,하지만 난 그것을 테스트하지 않았습니다한다, 그래서 나는 확실히 당신의 Exchange 서버를 파괴하기 전에 테스트 환경에 대해 테스트 것 같은 뭔가 ...

$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 
    } 
}