UPN finden wenn nur der NetBIOS-Name angegeben ist

Published on Monday, 8 June 2020

Die Frage ist eigentlich ganz einfach: Gegeben ein NetBIOS-Benutzername (d.h. im Format netBIOSdomain\samAccountName, also etwa "contoso\andresen"), wie kann der UPN gefunden werden. Viele Antworten sind dann in der Form "einfache String-Ersetzung" "contoso\andresen" -> "andresen@contoso.de". Aber so einfach ist die Welt meistens nicht. (Als einfaches Beispiel könnte schon einmal sein, dass der UPN vielleicht eher "nils.andresen@contoso-weltweit.de" ist.)

Am "einfachsten" ist das vermutlich über TranslateNameA() aus der Secur32.dll gelöst. Oder?

Ich habe eine kleine Lösung geschrieben, die im Grunde mit reinen LDAP-Anfragen gegen das AD auskommt. Diese ist als PowerShell Cmdlet vorhanden:

Zusätzlich gibt es das auch in c#: