20058

Fernsteuerung I: Start und Remote-Shutdown

21.02.2009 | 10:14 Uhr | Hermann Apfelböck, Thorsten Eggeling, David Wolski, Christian Löbering

Problem: Nach dem Kauf eines neuen PCs stellt sich oft die Frage „Was tun mit dem alten?“. Weiterverkaufen lohnt sich selten. Als Druck- oder Datei-Server könnte er noch gute Dienste leisten. Sie möchten aber weder Platz noch Geld für einen zusätzlichen Monitor investieren.
Lösung: Einfache Aufgaben kann der alte Rechner schon allein über die üblichen Windows-Netzwerkdienste übernehmen. Damit der PC dann ohne Eingabegeräte auskommt, müssen Sie zuerst im Bios jeglichen „Halt on“-Befehl deaktivieren, sprich: alles, was zum Hochfahren eine Eingabe erfordert. Das geschieht meist mit der Einstellung „No Errors“. Dann ein automatisches Windows-Logon einrichten.

Dazu greifen Sie direkt in die Registry ein. Das geschieht im Schlüssel „Hkey_Local_Machine\ Software\ Microsoft\ Windows NT\ CurrentVersion\ Winlogon“. Legen Sie dort die Zeichenfolge „DefaultUserName“ an, und geben Sie ihr als Wert den gewünschten Benutzernamen. In die zweite neue Zeichenkette „DefaultPassword“ tragen Sie das Kennwort ein. Dann richten Sie einen Remote-Shutdown ein. Dazu brauchen Sie als einfachste Lösung nur ein Script im Autostart-Ordner, das so lange „loopt“, bis es eine bestimmte Datei auf der Freigabe des anderen PCs nicht mehr findet – weil der heruntergefahren wurde. Wenn Sie den Haupt-PC abschalten, fährt so auch der andere herunter. Das Prinzip sehen Sie in der unten stehenden Abbildung. Schließlich müssen Sie noch genau prüfen, ob der PC nach diesen Maßnahmen vielleicht doch noch auf Benutzereingaben wartet. Kontrollieren Sie dazu noch einmal den kompletten Startvorgang.

Fernsteuerung II: Von außen Programme starten

Problem: Soll der ferngesteuerte Altrechner mehr leisten, als nur Datei- und Drucker-Dienste anzubieten, reicht der vorherige Tipp nicht mehr aus. Sie brauchen dann eine Art Server-Script, das ständig auf Jobs lauert und diese ausführt.

Lösung: Für den Hausgebrauch genügen zwei Scripts – eines für den sendenden Haupt-PC und eines für den Altrechner. Die Scripts kommunizieren über eine Netzwerkfreigabe. Das Prinzip veranschaulichen die Scripts im Archiv pcwRemote . pcwServer.VBS prüft laufend, ob in einem bestimmten Verzeichnis eine Job.TXT auftaucht. Wird es fündig, führt es die dort enthaltenen Befehle aus. Die gewünschten Befehle können Sie beispielsweise auf dem Hauptrechner mit Notepad so in die Datei schreiben, wie sie auf der Kommandozeile oder unter „Start, Ausführen“ einzugeben wären, und dann auf die Freigabe des Alt-PCs als Job.TXT speichern. Noch bequemer wird die Bedienung mit einem Sende-Script wie pcwJobs.VBS: Nach Doppelklick geben Sie in die Box den gewünschten Befehl ein, das Ablegen auf der Freigabe erfolgt dann automatisch. Bei der Übergabe von Pfaden an den Remote-PC müssen Sie stets darauf achten, dass dieser damit etwas anfangen kann:

Entweder machen Sie das Server-Script so intelligent, dass es einen lokalen Pfad wie „d:\daten“ automatisch in den zutreffenden UNC-Netzpfad umwandelt, oder Sie übergeben statt der lokalen gleich UNC-Pfade – zum Beispiel „\\computername\daten“. Beachten Sie, dass Sie laufende Programme auf dem Remote-PC mangels Tastatur und Monitor nicht einfach beenden können. Im Systempfad muss daher auf diesem PC auf jeden Fall ein Task-Killer wie die Kill.EXE sein. Auch die Beispiel-Scripts pcwServer und pcwJobs sind darauf angewiesen – etwa der eingebaute Befehl „showtasks“, der auf dem Hauptrechner die Tasks des anderen PCs auflistet. Der Shutdown des Altrechners erfolgt in dieser Lösung automatisch nach einer erfolglosen „Ping“-Abfrage an den Hauptrechner. Weitere Infos bietet der kommentierte Code der beiden VB-Scripts. Er weist auch auf nötige Anpassungen hin.

PC-WELT Marktplatz

20058