Exchange: Deaktivierte User aus der Global Address List (GAL) ausblenden

mx_microsoft_borderVerlässt ein Benutzer das Unternehmen, so wird oft das Exchange-Mailkonto gelöscht und der Benutzeraccount gesperrt.

Dadurch kann der ehemalige Benutzer zwar nicht mehr auf Firmendaten zugreifen, in der Global Address List (GAL) wird er dennoch für interne Mitarbeiter angezeigt. Er kann weiterhin im Adressbuch ausgewählt werden und ist im Teamkalender sichtbar.

Das liegt daran, dass der Account noch vorhanden ist und das Attribut msExchHideFromAddressLists keinen Wert enthält.
Wird das Attribut auf TRUE gesetzt, wird der Benutzer weder in der Global Address List noch in Kalendergruppen angezeigt.

Um die Arbeit mit deaktivierten Usern zu vereinfachen, eignen sich die hier beschriebenen PowerShell CMDlets.

Zu jeder Zeit die Übersicht behalten

Welche deaktivierten User tauchen noch im Adressbuch auf?

Um herauszufinden, welche User deaktiviert wurden, aber noch im GAL erscheinen, kann man das folgende CMDlet verwenden:

Get-ADUser `
 -Filter {(enabled -eq "false") -and (msExchHideFromAddressLists -notlike "*")} `
 -SearchBase "OU=<OrganisationalUnit>,DC=<Domain>,DC=<TLD>"`
 -Properties enabled,msExchHideFromAddressLists

Welche deaktivierten User werden nicht mehr angezeigt?

Will man alle deaktivierten User herausfinden, bei denen das Attribut schon verändert wurde – die also nicht mehr im GAL auftauchen – ist dieser Befehl hilfreich:

Get-ADUser `
 -Filter {(enabled -eq "false") -and (msExchHideFromAddressLists -like "*")} `
 -SearchBase "OU=<OrganisationalUnit>,DC=<Domain>,DC=<TLD>"`
 -Properties enabled,msExchHideFromAddressLists

Einzelne User aus dem Adressbuch ausblenden

Einen einzelnen User, dessen Usernamen man kennt, kann man mit diesem Befehl ausblenden:

Set-ADUser <Username> -Add @{msExchHideFromAddressLists="TRUE"}

Das kann zum Beispiel hilfreich sein, wenn man ein Script erstellt hat, um ehemalige User zu deaktivieren. Den Usernamen kann man in diesem Fall auch in einer Variablen übergeben.

Deaktivierte Benutzer automatisiert ausblenden

Um diese Tätigkeit zu erleichtern, kann man eine geplante Aufgabe (scheduled Task) erstellen. Hierbei werden alle deaktivierten Benutzer, die noch im GAL angezeigt werden, herausgesucht und anschließend wird das msExchHideFromAddressLists Attribut auf TRUE gesetzt.

Get-ADUser `
 -Filter {(enabled -eq "false") -and (msExchHideFromAddressLists -notlike "*")} `
 -SearchBase "OU=<OrganisationalUnit>,DC=<Domain>,DC=<TLD>"`
 -Properties msExchHideFromAddressLists | `
 Set-ADUser -Add @{msExchHideFromAddressLists="TRUE"}

-xyra
http://miriamxyra.com – Miriam Wiesner

Advertisements

One comment

  1. Hallo Miriam,
    vielen Dank für diese perfekte Lösung. Danach habe ich schon lange gesucht.
    Wie aufwändig wäre es das tägliche Script zu ergänzen, so dass reaktivierte User auch wieder in der GAL angezeigt werden?

    Viele Grüße

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s