Wissen

Exchange Shell – SMPT E-Mail Adressen in Postfächern löschen

Dieses kleine Script unterstützt Euch bei der Bereinigung von Exchange User-Postfächern. Hin und wieder kommt es vor, dass die E-Mail-Adressen von Usern sich ändern, es zu einer Domain-Änderung kommt oder sonstige Vorfälle verwaiste SMTP E-Mail-Einträge hinterlassen. Dies ist vor allem dann der Fall, wenn diese E-Mailadressen nicht über Adress-Richtlinien eingepflegt worden sind. Denn ansonsten könnte man ja auch einfach diese Richtlinie deaktivieren und man wäre die ungeliebten alten E-Mail-Adressen los. Ist dies nicht der Fall, bleibt nur eine Bereinigung per Hand, oder eben wie in diesem Fall über ein kleines Exhange Shell Script.

Diese gibt es dann auch noch in einer leicht modifizierten Version, mit deren Hilfe man diese X400 Einträge global löschen kann, welche ja nun wirklich nicht mehr benötigt werden, aber ständig von Version zu Version mitgeschleppt werden.

Um das Script zu nutzen, legt ihr Euch am besten eine „ichloeschemeineadressen.ps1“ Datei an und kopiert dann folgende Code-Zeilen dort hinein:

$mailbox = Get-Mailbox
$mailbox | foreach {
for ($i=$_.EmailAddresses.Count;$i -ge 0; $i--)
{
$address = $_.EmailAddresses[$i]
if ($address.SmtpAddress -like "*@meinedomain.de" )
{
Write-host("Remove smtp adress: " + $address.AddressString.ToString() )
$_.EmailAddresses.RemoveAt($i)
}
}
$_|set-mailbox -EmailAddresses $_.EmailAddresses
}

Variante 2 ist um die X400 Einträge aus den Postfächern zu entfernen.

$mailbox = Get-Mailbox -resultsize unlimited
$mailbox | foreach {
for ($i=$_.EmailAddresses.Count;$i -ge 0; $i--)
{
$address = $_.EmailAddresses[$i]
# removes all addresses Type x400
if ($address.PrefixString -eq "x400" )
{
Write-host("Remove x400 address: " + $address.AddressString.ToString() )
$_.EmailAddresses.RemoveAt($i)
}
}
$_ | set-mailbox -EmailAddresses $_.EmailAddresses
}

Falls ihr auf die Schnelle das Ergebnis quer checken wollt, dann könnt ihr dies über diesen Exchange Management Shell Befehl tun.

get-mailbox | where {$_.emailaddresses -like “*meinedomain.de*”}

Über diesen Befehl könnt ihr auch ganz einfach alle Leute anzeigen lassen, welche eine bestimmte E-Mail Domain haben.

Ähnliche Artikel

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Schaltfläche "Zurück zum Anfang"