chris123
Goto Top

Lokalen Rechner vom Terminalserver beenden

Hi

Ich bin gerade dabei unsere lokalen Rechner als TS-Clients zu konfigurieren. Die Rechner sollen nichts anderes mehr machen, als nach der Anmeldung direkt auf den TS weiterzuleiten. Soweit auch kein Problem.

Wenn der User nun seine TS-Session beendet, wäre prima, wenn dann auch direkt der lokale PC runterfährt. Wie kann ich das am besten realisieren? Kann ich das irgendwie per GPO als Skript hinterlegen. Abmelde-Skript am TS? Aber wie? ich kann ja nicht hingehen und einen Shutdown auf eine IP-Adresse legen. Der Terminalserver weiß ja nicht welcher User an welchem Rechner sitzt. Wahrscheinlich ist mein Ansatz auch falsch und Ihr habe eine bessere Lösung?

Vielen Dank
Chris

Content-Key: 192536

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

Printed on: April 19, 2024 at 05:04 o'clock

Member: SlainteMhath
SlainteMhath Oct 10, 2012 at 11:03:28 (UTC)
Goto Top
Moin,
Der Terminalserver weiß ja nicht welcher User an welchem Rechner sitzt
Stimmt, aber er weis welcher Client mit der TS-Session verbunden ist - das steht nämlich in der Umgebungsvariablen %CLIENTNAME%

if ""=="%CLIENTNAME%" GOTO :EOF  
shutdown ...  \\%CLIENTNAME% ...
usw :)

lg,
Slainte
Member: chris123
chris123 Oct 10, 2012 at 12:50:11 (UTC)
Goto Top
Vielen Dank für die Antwort! Könntest Du mir das Skript noch ein wenig erklären bzw. schreiben, was ich genau da rein schreiben muss. Ich komme nicht ganz klar, was für :EOF stehen soll und für was die Punkte in Zeile 2 stehen soll.

VG
Chris
Member: SlainteMhath
SlainteMhath Oct 10, 2012 at 12:56:30 (UTC)
Goto Top
Das :EOF steht für End Of File - und beendet die Batch.
Die Punkte stehen für die entsprechenden Option von "shutdown.exe" nach deinem Gusto.
Member: Wern2000
Wern2000 Oct 10, 2012 updated at 12:58:26 (UTC)
Goto Top
EOF = end of file
die ... so anpassen das der client runterfährt
einfach in console mal shutdown /? eingeben dann siehst du alle möglichkeiten.
z.b. wartezeit fürs herunterfahren, Komentar, herunterfahren ohne warnung....
Member: chris123
chris123 Oct 10, 2012 at 14:18:22 (UTC)
Goto Top
OK, halbwegs verstanden. Aber wofür brauche ich die IF-Anweisung. Kann ich nicht einfach einen Shutdown mit \\%CLIENTNAME% + Parameter durchführen?
Mitglied: 102534
102534 Oct 10, 2012 at 16:25:46 (UTC)
Goto Top
Hallo Chris,

du könntest mit einem Powershellscript überwachen ob der Prozess beendet wurde und anschließend den PC herunterfahren:
$processToWatch = Get-Process notepad
$processToWatch.WaitForExit()

Habe das ganze gerade beim Einlesen in PowerShell gefunden und dachte das könnte hilfreich sein...


Grüße

win-dozer
Member: SlainteMhath
SlainteMhath Oct 11, 2012 updated at 06:44:17 (UTC)
Goto Top
Wenn %CLIENTNAME% leer ist, bist du direkt am Server angemeldet und möchtest auch keinen Auto-Shutdown fahren. face-smile

@102534
Und welchen Prozess würdest du da jetzt genau überwachen?
Mitglied: 102534
102534 Oct 11, 2012 updated at 07:10:55 (UTC)
Goto Top
Zitat von @SlainteMhath:
@102534
Und welchen Prozess würdest du da jetzt genau überwachen?

Das kommt drauf an wie er die Verbindung zum Terminalserver herstellt - ich denke aber er wird den mstsc.exe Prozess überwachen müssen...

Edit meint: Keine Ahnung ob das funktioniert, aber theoretisch könnte er auch im Autostart ein Script anlegen dass die Verbindung zum TS herstellt. Wenn der AW die Verbindung schließt läuft das Script weiter und fährt den PC runter...