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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 41273
Url: https://administrator.de/contentid/41273
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
7 Kommentare
Neuester Kommentar
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
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
Hi,
das geht schon mit dem TSSESSIONTOOL. Lies dir mal die readme Datei durch. http://thethin.net/TSsessiontool.zip
mfg
Schnitzelchen
das geht schon mit dem TSSESSIONTOOL. Lies dir mal die readme Datei durch. http://thethin.net/TSsessiontool.zip
mfg
Schnitzelchen
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
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
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
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