cigarcad
Goto Top

Abfrage ob User angemeldet

Hallo Zusammen,

mein erster Post und schon ne Frage. face-wink

Und zwar möchte ich in einer Windows 2003 Umgebung mittels einem Batch abfragen ob ein User angemeldet ist.

Gibt es da irgendeine Möglichkeit?
Ein Tool das mir ein Errorlevel zurückgibt würde mir schon reichen.

Danke,
Grüsse

cigarcad

Content-Key: 33969

Url: https://administrator.de/contentid/33969

Ausgedruckt am: 28.03.2024 um 19:03 Uhr

Mitglied: Dani
Dani 10.06.2006 um 15:36:42 Uhr
Goto Top
Hi,
ich mache das so: Ich habe ein Freigabe, wo Jeder Zugriff hat. Wenn sich nun jemand anmeldet, wird auf der Freigabe eine TXT - Datei erstellt die den Namen des Benutzer und Computer hat. Beim abmelden wird diese Datei durch das Logoff Script gelöscht.

Ist zwar nicht die beste Lösung, aber einfach. face-wink

Gruß
Dani
Mitglied: cigarcad
cigarcad 10.06.2006 um 16:00:22 Uhr
Goto Top
Hallo Dani,

lustig - genau so hatte ich das auch geplant falls es nicht besseres gibt.
Aber es ist leider ziemlich "unschön" und nicht ganz sicher.
zB. wenn der PC aus irgendwelchen Gründen einfrieren sollte und man
dann den Rechner nicht wieder startet, oder sich jemand anders anmeldet....
dann gibts die Textfile obwohl der Benutzer nicht mehr aktiv ist. face-sad

Grüsse
cigarcad
Mitglied: superboh
superboh 10.06.2006 um 16:05:29 Uhr
Goto Top
Hi,

schau Dir mal das Tool PSLoggedon aus den PSTools von www.sysinternals.com an. Vielleicht hilft Dir das.

Gruß,
Thomas
Mitglied: Biber
Biber 10.06.2006 um 16:12:55 Uhr
Goto Top
Hilft aber nichts, cigarcad.
Die Info welcher Computername online ist, bekommst du immer über Minitools.
Die Info, welcher Username sich dahinter verbirgt bekommst Du auch über solche Tools wie PsLoggedOn von www.sysinternals.com nur dann, wenn Dir das Remote-Lesen der Registry erlaubt ist (Eintrag LastUsername oder so ähnlich).
Diesen Weg müssen alle Minitools gehen - erst über die IP des Rechners oder den Rechnernamen, im zweiten Schritt die Registry nach dem gerade angemeldeten User befragen.
Ist genauso unzuverlässig und langsam wie Danis Workaround.

Sollte es irgendeine simple Lösung geben a la "IstUserOnline.exe" wäre ich genauso dankbar für einen entsprechenden Link.
Kann aber IMHO rein technisch nicht gehen, solange du nicht irgendwo auf eine Tabelle mit der Zuordnung "UserX sitzt an RechnerY" zugreifen kannst und das ganze in einer Echtzeit-aktuellen Datenbank -------->und das bieten nur die klobigen AD-Enterprise-Tools.

Gruß
Biber
[Edit] War zeitlich über Kreuz mit Superboh[/Edit]
Mitglied: cigarcad
cigarcad 11.06.2006 um 12:30:15 Uhr
Goto Top
Hallo superboh,
hallo Biber,

Danke für den Tipp mit PSLoggedon!
Habe es nun mit folgender Abfrage gelöst:

Das Tool schaut auf dem Rechner bzw. in deren Registry nach welche Benutzer angemeldet sind und listet sie auf.
Findstr sucht nach dem gewünschten String (also ob der gewünschte User angemeldet ist) und gibt einen errorlevel aus den ich auswerte und einfach in der Batch File springe.

psloggedon \\rechner -x | findstr /L /C:"rechner\user" > NUL
if errorlevel 1 goto nichtangemeldet

Danke,
Grüsse

cigarcad
Mitglied: Biber
Biber 11.06.2006 um 12:53:52 Uhr
Goto Top
Moin cigarcad,

jepp, ist schon richtig so - Du musst Dir nur der Einschränkung bewusst sein, dass Du aus den oben beschriebenen Gründen eigentlich nur die Positivaussage prüfen kannst - wenn Du den User mit der PsLoggedOn-Mimik findest, dann ist er/sie/es angemeldet.

Wenn der User nicht gefunden wird, dann ist keine Aussage möglich (kann sein, dass Du keine Registry-Remoterechte hast oder der Remote-Zugriff gar nicht aktiviert ist).

Daher eigentlich:
...
if not Errorlevel 1 goto UserGefunden
...

Auch wenn es sich haarspalterisch anhört
Gruß
Biber
Mitglied: cigarcad
cigarcad 11.06.2006 um 13:58:37 Uhr
Goto Top
Mahlzeit Biber,

stimmt natürlich - danke!

Grüsse
cigarcad
Mitglied: FARYS
FARYS 22.06.2007 um 12:40:27 Uhr
Goto Top
Hallo @all,

bin ziemlich ganz neu hier und eigentlich habe nicht so große Erfahrung mit bat-Dateien.
Zufälligerweise ;) muss ich auch einen Script erstellen, der überprüft, ob ein User an einem PC angemeldet ist. Falls nein, sollte er den PC runterfahren, falls ja - einfach zu der nächsten Abfrage gehen.
Ich sollte erwähnen, dass ich eine Gruppe von PCs betreue und an einem PC können sich verschiedene User einloggen. Deswegen ich habe einen bestimmten Username nicht zur verfügung ==> funktioniert in diesem Falle auch dieses psloggedon.exe?
Könnte mir j-n schreiben, wie ich die einzelnen Batdateien formuleiren sollte??

Danke für Antworten!
grüsse

FARYS!