Windows-Rechner von der FritzBox aus in den Ruhezustand versetzen / herunterfahren

Bei Windows XP ist bereits ein shutdown Programm dabei:
Code:
> shutdown /?
Syntax: shutdown [-l | -s | -r | -a] [-f] [-m \\Computer] [-t xx]
                 [-c "Kommentar"] [-d up:xx:yy]

  Keine Argumente Zeigt diese Meldung an (wie -?).
  -i              Zeigt eine grafische Benutzeroberfläche an (muss die erste
                  Option sein).
  -l              Abmelden (kann nicht mit der Option -m verwendet werden).
  -s              Fährt den Computer herunter.
  -r              Fährt den Computer herunter und startet ihn neu.
  -a              Bricht das Herunterfahren des Systems ab.
  -m \\Computer   Remotecomputer zum Herunterfahren/Neustarten/Abbrechen.
  -t xx           Zeitlimit für das Herunterfahren, in xx Sekunden.
  -c "Kommentar"  Kommentar für das Herunterfahren (maximal 127 Zeichen).
  -f              Erzwingt das Schließen ausgeführter Anwendungen ohne Warnung.
  -d [u][p]:xx:yy Grund (Code) für das Herunterfahren:
                  u = Benutzercode
                  p = Code für geplantes Herunterfahren
                  xx = Hauptgrund (positive ganze Zahl kleiner als 256)
                  yy = Weiterer Grund (positive ganze Zahl kleiner als 65536)
 
@Ralf: Bei Pickachu ging es um sein Skript, mit dem er die Box über CAPI abfragt, ob jemand anruft und dann herunterfährt. Wahrscheinlich kann er dann mit seinem shutdown besser kommunizieren, oder vielleicht beinhalten sein shutdown diese Abfrage.

MfG
 
Ich bin heute endlich dazu gekommen, mir poweroff von robinio anzuschauen. Das Ding lässt sich zwar noch nicht auf meinem Win7-Profx64 vernünftig installieren, aber ich konnte es schon immerhin "zufuss" als Dienst starten und hatte meinen Rechner von der Fritz!Box heraus herunterfahren können. Es ist auf jeden Fall eine interessante Variante, wie man es umsetzen kann.
Einige Erkenntnisse, weitere Vorgehensweise und Fragen meinerseits, damit wir weiter kommen:
1. poweroff redet mit der Außenwelt in so einer Mischsprache zwischen telnet und smtp-Server. Wenn man es vernünftig realisieren will, sollte man über telnet mit dem Programm auf der zu herunterfahrenden Kiste interaktiv reden (sprich auch auf Antworten reagieren). Um dies zu ermöglichen, braucht man ein Tool namens expect, was in der Linux-Welt recht verbreitet und bekannt sein dürfte. Ich hatte aber bis jetzt nicht gefunden, ob wir es bereits auf der Box haben (busybox ???) und wenn nicht, wie man es am einfachsten hinbekommt. Hat vielleicht OpenWRT es bereits? Hat jemand schon was diesbezüglich gemacht/gehört?
Edit: expect erfordert tcl. Ich glaube, es wird eine Nummer zu gross für die Box. Meine ersten Gehversuche zeigen, dass es vermutlich auch ohne vollständige Interaktivität klappt.
Code:
echo -n "" >4
{
echo "password geheim"
echo "action lock"
echo "doit"
echo "quit"
sleep 1
} | telnet rechner 3210 >4
cat <4
Das führt dazu, dass der Rechner erfolgreich gesperrt wird (ich wollte nicht jedes Mal zum Testen herunterfahren) und die Rückmeldungen im 4-ten Buffer abgefangen werden. Wenigstens ein sleep am Ende braucht man, sonst wird die telnet-Sitzung manchmal relativ schnell geschlossen, ohne, dass die Meldungen sicher abgefangen werden. Somit ist es möglich in einem Schub die Befehle zum Rechner zu schicken und die Antwort ebenfalls in einem Schub zurück bekommen.
Ausgaben:
Code:
201 Welcome to Poweroff 3.0.1.3 created by Jorgen Bosman
250 OK
250 OK
250 OK
201 Bye bye
Connection closed by foreign host
Code:
201 Welcome to Poweroff 3.0.1.3 created by Jorgen Bosman
501 Invalid password
501 Access is denied
Connection closed by foreign host
Code:
201 Welcome to Poweroff 3.0.1.3 created by Jorgen Bosman
250 OK
501 Invalid value specified
250 OK
201 Bye bye
Connection closed by foreign host
Wobei im letzteren Fall die Aktion dennoch und trotz einer fehlerhaften Bezeichnung durchgeführt wird. poweroff.exe nimmt in diesem Fall die letzte Aktion. Aber das sind kleine Schönheitsfehler, die man umgehen kann.
Also, es ist realisierbar.


2. poweroff ist zwar eine reine Windows-Anwendung und es gibt auch keine Sources dazu, ich stelle mir aber eine kompatible Portierung auf Linux-Seite relativ unkompliziert vor. Man könnte einen Wrapper-Shell-Skript für Linux schreiben, welches in der "Sprache" von poweroff kommuniziert. Dann richtet man einen telnet-Zugang auf dem besagten Port 3210 und erklärt das Wrapper-Skript als Shell für diese telnet-Verbindung. Sieht ihr das als machbar? Kann man telnet unter Linux allgemein so starten, dass keine Benutzer-Abfrage kommt oder sollte man lieber netcat nehmen?
3. Ich teste noch weiter und melde mich, wenn ich weitere Erfolge habe.

MfG
Edit:
hier geht es weiter!
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.