Laden...

vollständiger Benutzername rausfinden

Erstellt von Behoernchen vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.438 Views
B
Behoernchen Themenstarter:in
67 Beiträge seit 2007
vor 17 Jahren
vollständiger Benutzername rausfinden

Hallo zusammen,
hab nen kleines Problem und find irgendwie nichts passendes zur Lösung.

Ich würde gerne zu dem Windows-Login-Benutzernamen (in diesem Fall ein Kürzel) den dazu entsprechenden vollständigen Namen des Benutzers haben.. Also Vorname und Nachname. Irgendwo muss das gespeichert sein, denn ich logge mich zwar mit dem Kürzel ein, aber bei der Startleiste unter WinXp steht ganz oben mein vollständiger Name.

Weiß jemand ob es eine Möglichkeit gibt an diesen vollständigen Namen zu gelangen.


Enviroment.UserName

liefert halt immer nur das Kürzel. Das bringt mir aber leider nichts.
In diversen Foren oder bei Google hab ich dazu leider auch nichts passendes gefunden.

738 Beiträge seit 2007
vor 17 Jahren

vielleich(!)
mit dem WMI Code Generator nach dem Registrierungsname suchen:

root\CIMV2
Win32_OperatingSystem
RegisteredUser

B
1.529 Beiträge seit 2006
vor 17 Jahren

System.Security.Principal.WindowsIdentity.GetCurrent().Name liefert aber - glaube ich - auch nur den Login-Namen.
Ansonsten musst du die WinAPI-Funktion NetUserGetInfo benutzen.

738 Beiträge seit 2007
vor 17 Jahren

dieser minimalistische code aus dem WMI code generator sollte den namen ausgeben, auf den der rechner registriert ist.


ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_OperatingSystem");
            foreach (ManagementObject queryObj in searcher2.Get())
            {
                lblname.Text = queryObj["Organization"].ToString();//Lizensinhaber
            }

B
1.529 Beiträge seit 2006
vor 17 Jahren

@nin: Nur leider war dieser Name nie gesucht. Es geht um den vollständigen Benutzernamen, den man in der Computerverwaltung zusätzlich zum Benutzernamen (= Login-Name) angeben kann. Der Explorer zeigt diesen, wenn er vorhanden ist, im Startmenü an.

B
Behoernchen Themenstarter:in
67 Beiträge seit 2007
vor 17 Jahren

genau der ist gesucht 🙂

inzwischen hab ich ihn dank des Tools auch gefunden, wenn auch unter anderen Einstellungen

falls es wen interessiert hier der Code:


               String userKuerzel = Enviroment.UserName;
                ManagementObjectSearcher searcher =
                    new ManagementObjectSearcher("root\\CIMV2",
                    "SELECT * FROM Win32_UserDesktop");

                foreach (ManagementObject queryObj in searcher.Get())
                {
                     String temp = queryObj["Element"].ToString();
                    if (temp.ToLower().Contains(userKuerzel.ToLower()))
                    {
                        ManagementObjectSearcher searcher2 =
                            new ManagementObjectSearcher("root\\CIMV2",
                            "SELECT * FROM Win32_UserAccount where name='" +   
                             userKuerzel + "'");

                        foreach (ManagementObject queryObj2 in searcher2.Get())
                        {
                             MessageBox.Show(queryObj2["FullName"].ToString());
                        }
                     }
                }

nicht ganz so elegant wie ich gedacht hatte aber gut was solls g

B
1.529 Beiträge seit 2006
vor 17 Jahren

Ich vermute mal, da ist NetUserGetInfo kürzer, einfacher und performanter.