UserPrincipalName (UPN)

Viele Administratoren legen Benutzer an und geben wie schon seit vielen Jahren auch einen Kontonamen ein. Auch die meisten Anwender kennen schon lange das Anmeldeschema mit DOMÄNE\USERNAME. Aber seit Windows 2000 kann man sich auch über einen "UserPrincipalName" anmelden, welcher die Form "user@upnsuffix" hat. Das sehen Sie schon immer auf der Karteikarte beim Benutzer:

UPN beim Benutzer

Der User Logon Name ist der Teil vor dem UPN-Suffix und eine Zeile darunter steht der alte NT4 Anmeldename (SamAccountName). Interessant sind hier zwei Dinge:

Anmelden mit UPN

Wenn Sie sich an einem PC anmelden, sehen sie gewöhnlich den klassischen Anmeldedialog.

Anmeldedialog ohne Domäne

Der normale Anwender sieht also nicht einmal die Domäne, was besonders in Umgebungen mit mehreren Domains natürlich zu Fehlern führen kann. Wenn Sie "Options" auswählen oder die Anmeldung fehlschlägt, dann zeigt ihnen Windows den erweiterten Anmeldedialog. Oft erkennen die dann hier, dass der vorherige Anwender vielleicht die falsche Domäne hinterlassen hat. (Tipp: per Gruppenrichtlinien können Sie die "DefaultDomain" vorgeben).

Anmeldedialog mit Domain

Interessant wird es aber, wenn Sie im Feld für den Anmeldenamen nach dem ersten Teil ein "@" eintippen. In dem Moment wird die Domäne "grau" und damit nicht mehr auswählbar.

Anmeldung mit UPN

Das ist auch nicht erforderlich, da Windows nun einen UPN erwartet. Und den passenden Benutzer dazu findet der Anmeldedienst sowieso im globalen Katalog.

UPN Suffix

Für den Administrator stellt sich nun natürlich die Frage, wo die UPNs gepflegt werden, welche dann beim Benutzer ausgewählt werden können. Dazu muss man "Enterprise Administrator" sein, um über die Active Directory Domänen und Vertrauensstellungen" die UPN Suffixe für die Gesamtstruktur (Forest) zu pflegen:

UPN Suffix pflegen

Erst dann tauchen nach einer kurzen Zeit (Replikation abwarten) auch die neu eingegebenen UPN Suffixe bei den Benutzern zur Auswahl auf:

Allerdings kann ein Benutzer immer nur "GENAU EINEN" Anmeldenamen haben. Es gibt also keine Option, mehrere Anmeldenamen zu verwenden.

Die Information steht im Active Directory Feld "UserPrincipalName", welches eigentlich ein Freitext ist. Es ist daher denkbar, direkt beim Anwender auch andere Namen zu verwenden, aber davon rate ich natürlich ab.

UPN prüfen

Es bietet sich natürlich an, regelmäßig die Einträge von MAIL und UserPrincipalName zu prüfen. Dazu habe ich ein kleines Powershell Skript geschrieben, welches Sie z.B. per Taskplaner regelmäßig starten können.

check-upn.1.0.ps1

Sie können es einfach auf der Powershell aufrufen. Es verbindet sich mit dem GC und sucht alle "normalen" Benutzer mit einer Mailadresse und vergleicht diese mit dem Feld "MAIL", welches in der Regel die primäre SMTP-Adresse enthält.

Die Daten werden in eine PIPE ausgegeben, so dass Sie mit " | export-csv datei.csv" die Liste auch in einer CSV-Textdatei schreiben können.

Konsoleausgabe von Check-UPN

Unstimmigkeiten werden mit "write-warning" sowohl auf die Konsole geschrieben, als auch in das Eventlog.

Check-UPN Eventlog meldnug

So können Sie das Skript auf dem Server regelmäßig laufen lassen und die Events mit einer Überwachungssoftware kontrollieren. Natürlich können Sie das Skript noch erweitern, so dass Sie eine Mail bekommen.

Das Skript ändert aber nicht die Einträge und prüft auch nicht, ob die verwendeten UPNs global konfiguriert sein. Mit ADModify.NET können solche Felder aber sehr einfach für viele Personen gesetzt werden.

Keywords: Admin UPN