chris123
Goto Top

W2000 WTS Benutzer jede Nacht um 4 Uhr abmelden

Hi
Ich möchte gerne einen User am WTS um bestimmte Uhrzeit abmelden. Im AD kann ich eine Abmeldung nach Zeit herbeiführen, aber nicht zu einer bestimmten Zeit. Ich habe in einem frühreren Posting gelesen, das dies mit dem TSSESSIONTOOL geht. Allerdings kommt das Tool auf dem Client zum Einsatz. Ich möchte aber der Server um 4 Uhr von selbst einen User abmeldet. Gibt es da eine Möglichkeit?

Danke

Content-Key: 41273

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

Printed on: April 25, 2024 at 21:04 o'clock

Member: Torsten72
Torsten72 Oct 02, 2006 at 10:13:57 (UTC)
Goto Top
vielleicht mit "shutdown -l" als dienst möglich
Member: Kafuhn
Kafuhn Oct 02, 2006 at 11:25:03 (UTC)
Goto Top
Hallo allerseits,

mit "shutdown" habe ich keine gute Erfahrung, besser funktioniert "tsshutdn" da es speziell auf Terminalserverbelange zugeschnitten ist. Allerdings habe ich hier bei diversen Produktionsservern auch damit Problem, der Versuch des Herunterfahrens wird im Eventlog mit Fehlereintrag quittiert und es passiert dann weiter nichts mehr = kein Neustart, keine Abmeldung.

Eine Möglichkeit zum reinen Abmelden ohne Neustart ist auch über eine Domänen-Policy möglich, in der Du z.B. die Anmeldung zu einem gewissen Zeitpunkt deaktivierst und zusätzlich definierst, dass angemeldete Benutzer zwangsabgemeldet werden. Dazu muss natürlich ein AD im Einsatz sein. Probiert habe ich dieses persönlich aber noch nicht, ich habe aber einen Foreneintrag mit Anleitung zu Hause. Den Link dazu stelle ich heute Abend ein.

http://www.anetforums.com/posts.aspx?ThreadIndex=19092

edit: Link ergänzt

Gruß,

Thorsten
Mitglied: 33425
33425 Oct 02, 2006 at 16:02:21 (UTC)
Goto Top
Hi,

das geht schon mit dem TSSESSIONTOOL. Lies dir mal die readme Datei durch. http://thethin.net/TSsessiontool.zip

mfg
Schnitzelchen
Member: macadmin
macadmin Oct 02, 2006 at 19:55:25 (UTC)
Goto Top
Hi !

Eine alternative ist Logoff.exe aus dem Windows Ressource Kit.

Plane per Startskript einen Task der um 04:00 Logoff.exe ausführt.

z.B.:

@echo off
at 04:00 logoff.exe

Gruß,

Michael
Member: chris123
chris123 Oct 04, 2006 at 10:23:57 (UTC)
Goto Top
Hi
Aber ich möchte doch nur einen User abmelden! Ich habe mir die Readme.txt duchgelesen. Aber wie soll das gehen wenn ich nur einen User abmelden möchte? Genauso stellte sich mit die Frage bei logoff.exe?

Danke nochmal
Member: Kafuhn
Kafuhn Oct 05, 2006 at 07:12:07 (UTC)
Goto Top
Hi,

ich frage nochmals gezielt nach, soll nur ein ganz bestimmter Anwender abgemeldet werden? Dann wird es wohl etwas aufwändiger werden - mit logoff.exe kannst Du zwar gezielt eine Session-ID abmelden, die musst Du aber erstmal haben. Die kann man sicher über einen Batch mit Textausgabe in eine Datei und anschließender Filterung gewinnen und als Parameter übergeben...
Soll oder kann der Server ruhig neu starten oder darf dies nicht passieren?
Shutdown usw. dienen ja eher zum Neustart als zum reinen Abmelden.

Schöne Grüße,

Thorsten
Mitglied: 33425
33425 Oct 06, 2006 at 06:28:40 (UTC)
Goto Top
Hi,

vielleicht hilft dir das weiter. Ersetze bitte ABMELDEUSER durch den wirklichen Benutzernamen!

@echo off

rem * Variablen festlegen
set logfile=c:\userlogoff.log
set templog=c:\test.txt

rem
* Überprüfung auf Unterroutine
if /I "%1" == "_logoff" goto _logoff

rem * Logdatei initialisieren
echo ------------------------------------------------- >> %logfile%
date /t >> %logfile%
time /t >> %logfile%

rem
* temporäre Datei für Ausgabe erstellen
query user > %templog%

rem * Zeilen abfragen
for /F "eol=> tokens=1 delims= " %%i in (%templog%) do call user-logoff.cmd _logoff %%i

rem
* temporäre Datei für Ausgabe löschen
del %templog%

rem * Programm beenden
goto _quit


rem
* Start Subroutine
:_logoff

rem * Überprüfung auf BENUTZERNAME (wird von "query user" erzeugt)
if /I "%2" == "BENUTZERNAME" goto _quit

rem
* Loggen und Benutzer abmelden
If /i "ABMELDEUSER" == "%2" (
echo Benuter %2 war aktiv und wurde abgemeldet >> %logfile%
logoff %2
) else (
echo Benuter %2 war aktiv und wurde aber NICHT abgemeldet >> %logfile%
)

:_quit


mfg
Schnitzelchen

PS: Batch rules face-wink