Powershell: Primäre SMTP Adresse bei MailUser im bulk ändern

Posted on: April 8, 2015 Posted by: Philipp Comments: 0

Powershell: Primäre SMTP Adresse bei MailUser im bulk ändern

Bei der Aktivierung eines MailUser wird die externe SMTP Adresse als primäre SMTP Adresse gesetzt. Das war vom Kunden nicht gewünscht, da somit in der globalen Adressliste (GAL) die MailUser mit einer falschen E-Mail Adresse gelistet sind.

Das Skript prüft die primäre SMTP Adresse und korrigiert diese bei einer Abweichung.

Die Variablen $Server und $Domain sind zu setzen.

$server = "myex.test.net"
$domain = "semi-precious.de"

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://$($server)/PowerShell/" -Authentication Kerberos
Import-PSSession $Session

$wronguser = Get-MailUser | ? {$_.PrimarySmtpAddress -notlike "*$($domain)"}

foreach ($user in $wronguser)
{
Set-MailUser $user.identity -EmailAddressPolicyEnabled $false
write-host "found wrong MailAddress: $($user.PrimarySmtpAddress)"
$newprimarysmtp = $user.PrimarySmtpAddress
$wrongsmtp = $newprimarysmtp.split("@")
$newprimarysmtp = $newprimarysmtp.replace($wrongsmtp[1],$domain)
write-host "set to: $($newprimarysmtp)"
Set-MailUser $user.identity -PrimarySmtpAddress $newprimarysmtp
Set-MailUser $user.identity -EmailAddressPolicyEnabled $true
}
Remove-PSSession $Session