Abfrage ob User angemeldet
Hallo Zusammen,
mein erster Post und schon ne Frage.
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
mein erster Post und schon ne Frage.
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 33969
Url: https://administrator.de/contentid/33969
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
8 Kommentare
Neuester Kommentar
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.
Gruß
Dani
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.
Gruß
Dani
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]
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]
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
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
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!
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!