Laden...

Wie kann ich unter Windows 10 den Benutzernamen auslesen?

Erstellt von Krumnix vor 3 Jahren Letzter Beitrag vor 3 Jahren 1.425 Views
K
Krumnix Themenstarter:in
129 Beiträge seit 2018
vor 3 Jahren
Wie kann ich unter Windows 10 den Benutzernamen auslesen?

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!

2.078 Beiträge seit 2012
vor 3 Jahren

Das Format ist doch:

Domain\User

Splitte doch nach dem Backslash?

4.931 Beiträge seit 2008
vor 3 Jahren

Probiere mal GetUserNameEx mit einer der aufgeführten ExtendedNameFormat-Werte (z.B. NameDisplay oder NameGivenName/NameSurname).

Environment.UserName ruft intern GetUserName auf.

K
Krumnix Themenstarter:in
129 Beiträge seit 2018
vor 3 Jahren

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 😦

4.931 Beiträge seit 2008
vor 3 Jahren

Dann müßte ja die von mir verlinkte Funktion die hinterlegten Vor- und Nachnamen korrekt auslesen, oder?

16.807 Beiträge seit 2008
vor 3 Jahren

Ich würde gerne unter Windows 10 den Benutzername auslesen.

Die Identität in einer AD / AAD Domäne ist immer <Domain>&lt;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.

K
Krumnix Themenstarter:in
129 Beiträge seit 2018
vor 3 Jahren

Einwandfrei.
Ja, Benutzername und Loginname sind für mich 2 Unterschiedliche.
Aber das mit UserPrincipal hat funktioniert, so wie ich es will.
Danke