Es kommt drauf an, wie man Windows abriegelt.
In der "normalen" Installation läuft der Server Dienst und der lässt sich remote ansprechen und shutdown auslösen, ohne dass man einen neuen Dienst installiert (über SMB). Das ist der "alte" Weg der Windows Fernwartung.
Die Lösung mit WMI funktioniert, wenn der MS WMI Dienst gestartet ist - (wird neuerdings im Standard mit installiert und gestartet) und ist der neue Weg für alle Fernadministrationstools von MS Produkten - in Verbindung mit dem Scripting Host kann man auch remote Batch Tools basteln für alle erreichbaren PC's und alle Dienste einer Domain (AD, LDAP, Exchange, SQL, SMS, Windows, ...).
Der dritte Weg über SOAP - auch von MS empfohlen - zielt auf verteilte Dienste im Internet / Intranet und Plattformunabhängigkeit. Auch hier muss kein neuer Dienst gebaut werden, sondern der IIS Dienst von Windows beim Setup ausgewählt und gestartet werden (einfacher Web Server). Die SOAP Wrapper gibts auch als Template und man kann alle Dienste per .net / DCOM der Maschine nutzen und eben auch die Systembibliotheken aufrufen. Der Aufruf könnte z.B. per wget erfolgen.
Mit Visual Studio kann auch ganz einfach einen echten Windows Dienst erstellt werden (Whizard / Template) in dem man seinen Listener reinpackt - in beliebiger Sprache (C, C#, VB, ...) - mit ein paar Mausklicks.
Man kann auch eine beliebige windows exe aus dem "userspace" als Windows Dienst registrieren, wenn sie bestimmte Anforderungen erfüllt.
Für den Fall des Shutdowns muss im Grunde nur die User32.dll Funktion aufgerufen werden, um einen Rechner herunterzufahren, der Rest ist nur Kommunikationsschnittstelle.
Weil das alles so einfach ist und sogar aus einem Excel Makro oder Winword Dokument heraus funktionieren könnte - gibt es für Windows so viele erfolgreiche Virenprogrammierer
.
Das Problem ist weniger der Windows Teil, sondern der Linux Teil. Die Frage ist, wie einfach kann ich welche Windows Netzwerkprotokolle adressieren.
Kann die FritzBox SMB oder WMI Nachrichten versenden - oder muss man auf die Internet Protokolle als gemeinsamen Nenner ausweichen.
Was Telnet angeht - in der XP Home Edition ist der Server glaube ich nicht enthalten - in der XP PRO vielleicht - die Server Versionen haben den standardmäßig dabei. Aus dem Windows Resource Kit kann man den auch nachinstallieren. Es gibt aber auch 3rd party telnet / ssh Server für Windows, die man nutzen könnte. Es gibt auch das kostenlose addon Unix Services for Windows wo ein NFS Client / Server / Proxy und diverse Unix Dienste dabei sind. Auch das könnte man nutzen.
Hier ein opensource ssh server für windows :
http://www.kpym.com/2/kpym/download.htm oder
http://www.freesshd.com/