Warum muss man ProxyAddresses hinzufügen? Kann man ja eigentlich via recipient update policys ganz einfach erledigen…

Ich hatte vor kurzem das Problem, dass jemand neue E-Mail Adressen haben möchte. Das Problem dabei, bei div. Benutzern sind die recipient policys des Exchange Servers deaktiviert. Diese dürfen auch nicht aktiv sein.

Wenn man nun aber massenhaft ProxyAddresses hinzufügen möchte, kann man das alternativ mit diesem kleinen Script tun.

Von Hand würde das bei x tausend Nutzern etwas dauern ;)

ProxyAddresses hinzufügen

Die Proxy Addresses werden verwendet um zum Beispiel weitere E-Mail Adressen einem Benutzer hinzuzufügen.

Oder ein Matching mit Office 365 sauber hin zu bekommen. Oder, oder oder…

Wie immer hier das Script, ohne Gewähr.

[string]$proxydomain = "@domain.eu";
[string]$address = $_.givenName+"."+$_Surname
[string]$usersOU = "OU=Benutzer,DC=domain,DC=eu";
[int]$count = 0 ;

Import-Module ActiveDirectory

Get-ADUser -Filter "*" -SearchScope Subtree -SearchBase "$usersOU" -Properties proxyAddresses, employeeType, givenName, Surname | foreach-object {
  Write-Host "Bearbeite Nutzer: $_.SamAccountName"

  if ($_.Proxyaddresses -match $address+$proxydomain)
  {
  Write-Host "Ergebniss: proxyAddresses existiert bereits; Keine Aktion."
  }
  else
  {
  Set-ADUser -Identity $_.SamAccountName -Add @{proxyAddresses="SMTP:"+$address+$proxydomain}
  Write-Host "Ergebniss: proxyAddresses hinzugefuegt"
  $count++
  }   
  }
Write-Host "Erfogreich bearbeitet: " $count "Benutzer"
  • Was macht das Script?
  • Wir definieren erstmal unsere Domain.
  • Dann basteln wir uns die E-Mail Adresse vor dem @ Zeichen zusammen.
  • In welcher OU liegen die Benutzer?
  • Wir definieren eine Hilfsvariable
  • Dann holen wir alle AD User aus der angegebenen OU und schauen ob der Benutzer die Adresse bereits hat.
  • Wenn nein, wird das Script die ProxyAddresses hinzufügen.
  • Dadurch, dass es eine for-each Schleife ist wird das ganze solange wiederholt, bis alle Benutzer aus der angegebenen Organisationseinheit durch sind.
  • Selbst wenn man das Script nochmals ausführt, sollte nichts dabei kaputt gehen, da der Check da ist, ob die E-Mail Adresse bereits existiert.

 

Wenn es um das matching geht, könnte das hier noch interessant sein. Exchange Postfachmigration beschleunigen