Hallo zusammen.
Ich würde gerne unter Windows 10 den Benutzername auslesen.
Mit Environment.Username erhalte ich den Netzwerk Benutzername.
Wenn ich aber unter Win10 auf das Symbol im Taskmenü mit der Maus fahre (über dem Zahnrad), dann erscheint dort der reale Name.
Wie kann ich diesen in C# erhalten?
Ich finde bei der Suche immer nur die oben genannte "Lösung".
Danke!
Das Format ist doch:
Domain\User
Splitte doch nach dem Backslash?
Probiere mal GetUserNameEx mit einer der aufgeführten ExtendedNameFormat
-Werte (z.B. NameDisplay
oder NameGivenName/NameSurname
).
Environment.UserName
ruft intern GetUserName auf.
Das Format ist doch:
Domain\User
Splitte doch nach dem Backslash?
Ja, aber der Domain Username ist kryptisch 😃
Trotzdem erscheint später dann der korrekte Name, bzw. beiden.
Wenn ich auf Account gehe sehe ich:
Nachname, Vorname
Domain/LoginName
Den Login-Name lese ich dann leider immer mit dem genannten Befehl aus 😦
Dann müßte ja die von mir verlinkte Funktion die hinterlegten Vor- und Nachnamen korrekt auslesen, oder?
Ich würde gerne unter Windows 10 den Benutzername auslesen.
Die Identität in einer AD / AAD Domäne ist immer <Domain><Username>.
Environment.UserName
.. hingegen ist nur der lokale Benutzername, der nicht zwangsläufig mit der Identität identisch sein muss.
dann erscheint dort der reale Name.
Was ist "realer Name" für Dich? Du meinst Vorname und Nachname?
weil...
Wie kann ich diesen in C# erhalten?
Im Eingangssatz sagst Du, dass Du den Benutzernamen willst; und jetzt doch den realen Namen, oder wie?
Sofern das AD das führende Datensystem ist, dann bekommst Du alle Informationen davon über den UserPrincipal
(in einer aktiven Domäne über UserPrincipal.Current
).
Über System.Security.Principal.WindowsIdentity
bekommst Du allgemein den Principal, egal ob UserPrincipal oder eine andere Ableitung davon.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Einwandfrei.
Ja, Benutzername und Loginname sind für mich 2 Unterschiedliche.
Aber das mit UserPrincipal hat funktioniert, so wie ich es will.
Danke