Laden...

[gelöst] Aktueller Username rausfinden

Erstellt von LaberLu vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.357 Views
L
LaberLu Themenstarter:in
18 Beiträge seit 2008
vor 15 Jahren
[gelöst] Aktueller Username rausfinden

Hallo,

ich würde gerne Daten in einem Projekt wahlweise allen am Computer oder nur dem angemeldeten User zugänglich machen.
Dazu habe ich mir einfach gedacht, dass ich eine Datenbank (ich arbeite mit SQLite) für alle User mache und für jeden anderen User, der Daten für sich behalten will eine extra Datenbank mit seinem Namen erstellen. Das Problem ist das Herrausfinden des Namens.
Ich bin an diesem PC mit dem Namen "Malte" (ist ein Familien-PC und das ist mein Vorname).

System.Security.Principal.WindowsIdentity.GetCurrent().Name = "(Computername)\User"
System.Environment.UserName = "User"

Wenn ich es unter einem anderen Name ausführen lasse (Ausführen als...) kommt der richtige Name.
Im Taskmanager steht übrigends auch überall "User".

In meinem Projekt würde das aber heißen, dass alle ihre Daten in der selben Datenbank speichern, die sie eigentlich für sich behalten wollen.

Wie kann ich jetzt den Benutzernamen rausfinden?

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo LaberLu,

also ich bekomme hier auf meinem Rechner (.NET 2.0/Win2k) mit beidem von dir geposteten Wegen die richtigen Angaben.

herbivore

L
LaberLu Themenstarter:in
18 Beiträge seit 2008
vor 15 Jahren

Das heißt, es würde wahrscheinlich bei den meisten Usern gehen, aber es gibt auch welche, wo diese Funktion nicht funktioniert.
Gibt es eine Möglichkeit dies woanders rauszufinden? Über die Registry oder so?
Ich habe mal kurz geguckt, aber nichts gefunden.

Und brauche ich dann auch Admin Rechte? (Nur auslesen, nix reinschreiben)

915 Beiträge seit 2006
vor 15 Jahren

Hrm, normal sollte das alles ohne Probleme gehen. Ansonsten über Win API Advapi32 GetUserName, siehe hierzu www.pinvoke.net. Wenn dann das selbe Problem auftritt versuchs mal über WMI kannst dir dafür mal das in Codeprojekt ansehen.

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(

L
LaberLu Themenstarter:in
18 Beiträge seit 2008
vor 15 Jahren

Ich glaube wir haben bald alle Möglichkeiten durch 😉

Advapi32 geht auch nicht, im WMI hab ich nichts gefunden und bei codeproject sind die Downloadlinks down.

R
494 Beiträge seit 2006
vor 15 Jahren

Prüf mal lieber wo du deinen Namen da eingegeben hast. Bisher hab ich noch nie erlebt dass da nichts drinsteht bzw was falsches.

1.433 Beiträge seit 2006
vor 15 Jahren

Wenn Du die WMI-Klassen suchst, die verwendet werden um was mit dem Benutzer im generellen anzustellen das wären die auf Windows XP SP2


cimv2:CIM_UserDevice
cimv2:Win32_UserAccount
cimv2:Win32_PerfRawData_MSSQLSQLEXPRESS_MSSQLSQLEXPRESSUserSettable
cimv2:__NTLMUser9X
cimv2:MSFT_WmiCoreUser
cimv2:Win32_SystemUsers
cimv2:Win32_UserInDomain
cimv2:Win32_GroupUser
cimv2:Win32_UserDesktop
cimv2:Win32_LoggedOnUser
cimv2:Win32_NTLogEventUser

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

915 Beiträge seit 2006
vor 15 Jahren

Hrm, was für ein Betriebssystem benutzt du den? Muss zugeben habe das bisher nur auf Vista und Xp mal benutzt und von herbivore weis man nun, das es auch unter Windows 2000 geht.

Vielleicht hast ja Vista oder Xp Home und es könnte damit im Zusammenhang zu Problemen kommen?

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(

L
LaberLu Themenstarter:in
18 Beiträge seit 2008
vor 15 Jahren

Ich habe Xp Pro
Aber ich habe mit WMI etwas interessantes herrausgefunden:
unter

root\CIMV2
Win32_UserAccount
Name

findet er auch nur "User"

Unter

root\CIMV2
Win32_UserAccount
FullName Findet er dagegen Malte.

Wieso erkennt er meinen Namen als Malte, meldet mich als Malte an, aber im System heiße ich User?
Ich habe noch eine Reihe andere durchprobiert und überall kam sonst User raus.

Wo kann ich das ändern?

B
114 Beiträge seit 2007
vor 15 Jahren

Kann es sein, dass du als Benutzername "User" angegeben hast und als Vollständigen Namen "Malte".
So oder so prüf mal dein Benutzerkonto.
Fakt ist, dass es hier bei allen klappt und auch aus meinen Erfahrungen hat es bisher immer funktioniert. Also grenz ich dein Fehler mal auf Einstellungen bei dir ein. Grad Win XP (Pro oder nich) sollte dem nicht im Wege stehen.

L
LaberLu Themenstarter:in
18 Beiträge seit 2008
vor 15 Jahren

Also über Systemsteuerung finde ich nur den Namen und der ist Malte.
Wo kann ich den Usernamen überprüfen?

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo LaberLu,

also nach meinem Verständnis ist "User" die eigentliche Userid und "Malte" der freiwählbare, beschreibende Name des Benutzerkontos. Also im Sinne von "pmaier" als Userid und "Peter Maier" als beschreibenden Namen. Mag sein, dass man sich mit dem beschreibenden Namen anmelden kann, solange der eindeutig ist und dass der beschreibenden Name an verschiedenen Stellen statt der Userid angezeigt wird, aber die Userid ist eben trotzdem "User". Insofern liefern die Methoden und Funktionen schon das richtige Ergebnis.

Unter Win2k erreicht man die Benutzerverwaltung über Systemsteuerung/"Benutzer und Kennwörter" oder über Systemsteuerung/Verwaltung/Computerverwaltung/"Lokale Benutzer und Gruppen"/Benutzer. Bei ersterem heißt die Bezeichnung für die Userid "Benutzername" und die Bezeichnung für den beschreibenden Namen "Vollständiger Name", bei letzterem "Name" und "Vollständiger Name".

Intern gespeichert ist aber ohnehin weder das eine oder andere, sondern immer nur die SID, die auch dann gleich bleibt, wenn man den Account umbenennt und auch dann ungleich ist, selbst wenn man später oder auf einem anderen Computer einen Account gleichen Namens anlegt.

Siehe auch Win32_UserAccount Class

herbivore

L
LaberLu Themenstarter:in
18 Beiträge seit 2008
vor 15 Jahren

👍
Danke, über Verwaltung habe ich ich es gefunden. Du hattest Recht, der Name war User.
Ich hab ihn in Malte umbenannt, neu gestartet und bis auf mein Symbol ist alles gleich geblieben. Aus irgend einem Grund ist aus der Ente ein Schmetterling geworden, aber meine Eigenen Dateien etc. blieben gleich.

Vielen Dank.