Seite 3 von 6
Verfasst: 10.02.2009 15:47
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 ...
Verfasst: 11.02.2009 09:17
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"?
Verfasst: 11.02.2009 09:25
von CNESM
Folgendes:
R:\>NET USER
Benutzerkonten für \\HH00408D
-------------------------------------------------------------------------------
Administrator ASPNET Gast
SCBAdmin
Der Befehl wurde erfolgreich ausgeführt.
Verfasst: 11.02.2009 09:42
von jpd
wenn du benutzer der domäne suchst..
dann verwende:
net user /domain
Ciao
jpd
Verfasst: 11.02.2009 11:03
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.
Verfasst: 11.02.2009 11:13
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
Verfasst: 11.02.2009 13:04
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!
Verfasst: 11.02.2009 13:37
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.
Verfasst: 11.02.2009 15:02
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

Verfasst: 11.02.2009 15:22
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$)
..