Username ermitteln (Kein "Getusername_"!)

Anfängerfragen zum Programmieren mit PureBasic.
CNESM
Beiträge: 311
Registriert: 29.08.2004 15:16
Kontaktdaten:

Beitrag von CNESM »

Hallo Leute,

also die Möglichkeit mit der Registry hab ich gleich zu Beginn ausgeschlossen. Auch die NET Variante hab ich bereits ausgeschlossen. Leider findet er dort aber ebenfalls keine Informationen:
Der Benutzername konnte nicht gefunden werden.

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2221 eingeben.
Wahrscheinlich ist der FullName in unserem Firmennetzwerk nur auf dem Anmelde-Server hinterlegt.
Davon gehe ich stark aus, das es bei uns genauo ist. Gibts eine Möglichkeit, diese Abfrage im Grunde nachzubauen? Sprich: Schicke Stammnummer an den Server und erhalte den Namen. Irgendwie muss das ja auch Vista regeln ...
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Beitrag von Shardik »

CNESM hat geschrieben:Leider findet er dort aber ebenfalls keine Informationen:
Zitat:
Der Benutzername konnte nicht gefunden werden.

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2221 eingeben.
NET HELPMSG 2221 hat geschrieben:Der Benutzername konnte nicht gefunden werden.


ERLÄUTERUNG

Sie haben einen unbekannten Benutzernamen angegeben.

AKTION

Überprüfen Sie die Schreibweise des Benutzernamens.
Zur Anzeige einer Liste der Benutzer in der Sicherheitsdatenbank, geben Sie ein:


NET USER
Welche Ausgabe generiert denn "net user"?
CNESM
Beiträge: 311
Registriert: 29.08.2004 15:16
Kontaktdaten:

Beitrag von CNESM »

Folgendes:
R:\>NET USER

Benutzerkonten für \\HH00408D

-------------------------------------------------------------------------------
Administrator ASPNET Gast
SCBAdmin
Der Befehl wurde erfolgreich ausgeführt.
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

Beitrag von jpd »

wenn du benutzer der domäne suchst..

dann verwende:
net user /domain
Ciao
jpd
PB 5.10 Windows 7 x64
CNESM
Beiträge: 311
Registriert: 29.08.2004 15:16
Kontaktdaten:

Beitrag von CNESM »

@ jpd

Da kriege ich nur ne ganze Latte von irgendwelchen Domainen, aber daraus irgendwie meinen Namen ableiten zu können, sehe ich nicht.
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

Beitrag von jpd »

Hi CNESM,

so ist es auch möglich:

net user username /domain

ich gehe davon aus dass alle andere beispiele auch funktionieren,

du hast immer den localen benutzer abgefragt-

bei nicht local user müsstes du den computername bei alleistehende server (workgroup) verwenden,

computername\username


oder den domainname (bei domäne)

domain\username

Ciao
jpd
PB 5.10 Windows 7 x64
CNESM
Beiträge: 311
Registriert: 29.08.2004 15:16
Kontaktdaten:

Beitrag von CNESM »

Yes, das war's:

Code: Alles auswählen

Define FullName.S 
Define Output.S 
Define ProgramID.I 
Define UserID.S = "****" ; <-- Bitte User-ID eintragen 

ProgramID = RunProgram("Net", " User " + UserID+" /domain", "", #PB_Program_Hide | #PB_Program_Open | #PB_Program_Read) 

If ProgramID  
  While ProgramRunning(ProgramID) 
    Output + ReadProgramString(ProgramID) + #CR$ 
  Wend 

  FullName = StringField(Output, 4, #CR$) 
  Debug Trim(Mid(FullName, FindString(UCase(FullName), "NAME", 1) + 4)) 
EndIf
Vielen Dank jod! Vielleicht könnten die andere das auch nochmal testen, damit ich weiß, das das auch ne gängige Lösung ist!
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Beitrag von Shardik »

CNESM hat geschrieben:Vielleicht könnten die andere das auch nochmal testen, damit ich weiß, das das auch ne gängige Lösung ist!
Diese Lösung funktioniert bei mir im Firmennetzwerk nicht, weil ich nicht bei einer Domäne angemeldet bin, sondern bei einem Novell Netware Server (Novell Workstation Manager):
net user xxx /domain hat geschrieben:Die Anforderung wird auf einem Domänencontroller für Domäne xxx verarbeitet.

Systemfehler 1355 aufgetreten.

Die angegebene Domäne ist nicht vorhanden oder es konnte keine Verbindung hergestellt werden.
Funktioniert denn eines meiner Beispiele mit NetUserGetInfo_(), wenn Du beim NetUserGetInfo()-Aufruf vor die "P46789" den Domänennamen einträgst, wie "\\123_ADS\P46789" oder "123_ADS\P46789"? Zumal Du geschrieben hattest:
> Auch die NET Variante hab ich bereits ausgeschlossen.
CNESM
Beiträge: 311
Registriert: 29.08.2004 15:16
Kontaktdaten:

Beitrag von CNESM »

@ Shardik

Ich hab mal ein bissle mit der Funktion NetUserGetInfo_() und den neuen Erkenntnissen rumgespielt, aber trotzdem keine Ausgabe des FullRealNames erwirken können. Vielleicht man ich auch nur wieder etwas falsch :freak:
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

code geht (mit ohne unicode)

mit unicode wie folgt

Code: Alles auswählen

..
..
..
    Output + ReadProgramString(ProgramID) + #CR$ 
  Wend 
  output.s=PeekS(@output,Len(output),#PB_Ascii)  ; dies hier rein tun
  FullName = StringField(Output, 4, #CR$) 
..
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten