rony
Goto Top

Logoff eines Remotesystems via Batch zweitverzögert

Hallo Leute

Mein Problem sieht folgendermassen aus. Wir sind dabei, auf eine Citrix Server Farm zu migrieren.
Ich möchte den Usern einige Icons aufs Desktop legen, die eine Batchdatei ansprechen, welche zuerst die Terminalserver Session sauber beendet und danach den XP-Client abmeldet, resp. herunterfährt.
Zu diesem Zweck setze ich das Tool Psshutdown.exe von Sysinternals.com ein.
Die Batch zum herunterfahren funktioniert einwandfrei, da mit psshutdown der Shutdown-Befehl standardmässig 20 Sekunden verzögert ist.

Batch zum herunterfahren:
@echo on
psshutdown \\%clientname% -f -m "Der PC wird nun heruntergefahren..."
logoff

Der Batch für das Abmelden sieht so aus:
@echo on
psshutdown \\%clientname% -o -f
logoff

Da der Logoff-Befehl jedoch nicht verzögerbar ist, kommt die Batch nicht mehr dazu, den zweiten Befehl (logoff) auszuführen und die Session sauber zu beenden, bevor der Client sich abmeldet.

Hat jemand eine Idee, wie ich das machen könnte, oder kennt jemand ein Programmzeilen-Tool, womit ich den Logoff eines Remotesystems verzögert anwerfen kann?

Vielen Dank
Rony

Content-ID: 29880

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

Ausgedruckt am: 08.11.2024 um 05:11 Uhr

ssteigner
ssteigner 06.04.2006 um 13:46:27 Uhr
Goto Top
Hi,
entweder du benutzt das DOS proggi SLEEP.EXE
findest du wenn du googelst.

oder du verwendest folgenden parameter vor deinem logoff befehl.

PING 1.1.1.1 -n 10 -w 300 >NUL
-n = echo count -> 10 wiederholungen
-w = timeout -> 30 sekunden

denke das sollte dir helfen
gruß
sven
Rony
Rony 06.04.2006 um 16:16:02 Uhr
Goto Top
Ne, geht nicht, hab ich auch schon probiert.

Das Problem ist, dass dann der logoff-Befehl zu spät (nachdem die Session geschlossen wurde) kommt.
Beim Schliessen der Session wird aber die Batchdatei abgebrochen. Somit wird der logoff-Befehl niemals abgesetzt!

Aber ich hab vermutlich ne andere Lösung gefunden. Ich löse die Befehle mit "Start" aus, was dazu führt, dass die Batchdatei nicht watet, bis der eine Befehl abgeschlossen ist, bevor sie mit dem nächsten weiter macht.

Das ganze sieht dann so aus:

@echo on
Start psshutdown \\%clientname% -o -f
Start logoff

Aber trotzdem vielen Dank für deine Mühe!

Rony