Printout Header

HowTo:


Bei Erzeugung von ADS-User und -Kontakten den Namen automatisch auf "Nachname, Vorname" setzen


Wenn unter Windows 2000/2003 ein Active Directory Benutzer oder Active Directory Kontakt mit Hilfe der Microsoft Management Console (ADS User und Computer) angelegt wird, dann wird sowohl der Objektname (Relative Distinguished Name oder auch Common Name) als auch der Anzeigename (displayName) standardmäßig so gebildet:

„Vorname Nachname“


ADS User-Objectname Screenshot

So tauchen die Benutzer schließlich auch im globalen Adressbuch von Exchange auf. Erwünscht ist aber oft folgende Form für die betreffenden Benutzer-Namensfelder:

„Nachname, Vorname“

Dies erreichen Sie, indem sie im ADS die dortigen Display-Specifier-Objekte in der Configuration Partition der ADS Datenbank ändern. Dies kann auf zwei Arten geschehen:


1. Möglichkeit: Mit ADSIEdit


Diese Vorgehensweise ist detaillert im KB-Artikel Q250455 beschrieben. Sie benötigen dafür lediglich das MMC-SnapIn ADSIEdit (in den Support Tools auf den CDs der Windows Server-Betriebssysteme enthalten). Verbinden Sie sich in ADSIEdit mit der Configuration Partition. Dort gehen Sie zu folgendem Container:

cn=Display Specifiers,cn=Configuration,dc=<Ihre Forest Root-Domäne>,dc=<com, de usw.>


ADS Displayspecifier Screenshot

Hier sehen Sie verschiedene Unter-Container für die diversen vom Betriebssystem unterstützen Sprach-Pakete. Es gelten hier die hexadezimalen Locale IDs (LCID) der betreffenden Sprachen. Sie müssen nun den Container der von Ihnen verwendeten Sprachversion öffnen, auf deutschen Systemen ist dies die LCID-Nummer 407, für englische Server die 409. Eine komplette Liste der LCIDs finden sie hier.

Innerhalb des betreffenden LCID-Containers öffnen Sie die Eigenschaften des Objektes cn=user-Display. Der vollständige Pfad dieses Objektes wäre auf deutschen Systemen also:

cn=user-Display,cn=407,cn=Display Specifiers,cn=Configuration,dc=<Ihre Domäne>,dc=<com, de usw.>

Gehen Sie in der Liste der Attribute zum Wert für createDialog - dieser ist normalerweise nicht gesetzt. Tragen Sie hier als Attrbutwert folgende Zeichenkette ein:

%<sn>, %<givenName>


ADS Displayspecifier Screenshot

Damit signalisieren Sie, dass der vollständige Name des Objektes aus dem Nachnamen (sn für Surname), gefolgt von einem Komma und dem Vornamen (givenname) gebildet werden soll.

Die gleiche Änderung solltenSie nun auch noch für die Erzeugung von ADS-Kontakten durchführen, dazu begeben Sie sich im betreffenden LCID-Containers auf die Eigenschaften des Objektes cn=user-Display. Die Attribut-Änderung läuft dann genau mit den gleichen Werten ab wie oben beim User-Objekt beschrieben.

2. Möglichkeit: Mit einem VB-Script


Set display = GetObject("LDAP://CN=contact-Display,CN=407,CN=DisplaySpecifiers,CN=Configuration," & _
                        "DC=root,DC=com")
display.Put "createDialog", "%<sn>, %<givenName>"
display.SetInfo

Set display = GetObject("LDAP://CN=user-Display,CN=407,CN=DisplaySpecifiers,CN=Configuration," & _
                    "DC=root,DC=com")
display.Put "createDialog", "%<sn>, %<givenName>"
display.SetInfo

Diese Kommandos setzen die Display-Specifier-Eigenschaften für deutschsprachige Verwaltung, falls die Root-Domäne in der ADS root.com heißt.

Ich habe ein VBScript geschrieben, dass diese Aktion etwas verallgemeinert, denn hier wird die Konfiguration für deutsche und englische Verwaltungstools ausgeführt, außerdem findet das Skript den korrekten LDAP-Pfad für die Display Specifier selbst heraus. Der Aufruf des Skriptes lautet:

cscript //nologo ADSCreateDialog.vbs


Download Script Download von ADSCreateDialog.vbs