Thomas Kramer

IT-COW | Administration

Lights-Out-Dienst remote an-/abschalten

By Administrator at April 23, 2011 04:19
Filed Under: Administration, Anleitungen

Ich lasse meinen Windows Home Server über das Lights-Out-Plugin zeitgesteuert ein- und ausschalten, planmäßig läuft dieser Server damit zwölf Stunden am Tag – ausreichend für die meisten Privatpersonen.

 

Für den Fall das ich wieder einmal nicht schlafen kann habe ich mir überlegt Lights-Out temporär remote zu deaktivieren, insbesondere weil es störend sein kann wenn der Server sich schlafen legt während man einen Film anschaut. Ich weiß aber das es eine kostenpflichtige (erweiterte) Version dieses Programms gibt die das unterbinden kann, aber für so etwas habe ich im Moment kein Geld übrig.

 

Zuerst fiel mir die Möglichkeit ein mittels des Programms sc.exe – im Lieferumfang von Windows enthalten – den Dienst LoService remote zu beenden, jedoch kann mit dem Tool kein Benutzername für die Authentifizierung übermittelt werden. Den Parameter password gibt es eigentlich schon, aber seltsamerweise keine Entsprechung für den Benutzernamen. Der Befehl lautet sc \\$IP-Server$\ stop LoService, als Fehlermeldung kommt immer [SC] OpenService FAILED 5: Access is denied.

 

Ich dachte schon ich hätte etwas übersehen (in Bezug auf den fehlenden Username-Parameter), aber das Blog code-inside.de empfiehlt auch zuerst ein NET USE \\$IP-Server$\IPC$ /USER:username vor dem SC-Befehl durchzuführen, um die nötigen Admin-Rechte zu erlangen. Bei IPC$ handelt es sich übrigens um eine Freigabe für administrative Zwecke, die standardmäßig eingerichtet wird (Remote-IPC). Folgende Fehlermeldung trat jedenfalls bei mir auf, als ich über NET USE eine Admin-Verbindung herstellen wollte:

 

Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed.

 

Das Problem hierbei ist das ich für die SMB-Netzwerkfreigaben des Servers am HTPC Laufwerksverbindungen eingerichtet habe, die einen Standard-Benutzer verwenden – weitere Verbindungen über einen Administrator-User herzustellen funktioniert demnach nicht. Meinen Standard-Benutzer am Server in die Gruppe der Administratoren aufzunehmen ändert aber seltsamerweise auch nichts an der vorherigen [SC]-Fehlermeldung.

 

Den Admin-User bei allen Freigaben von Hand hinzuzufügen und darüber künftig die SMB-Verbindungen herzustellen stellt nun aber keine Alternative dar, zu aufwendig.

 

Irgendwo empfahl dann jemand das Kommandozeilen-Tool PsService der Sysinternals-Suite. PsService wird folgendermaßen verwendet: psservice \\$IP-Server$ –u username –p password start/stop Service – wie man sieht kann im Gegensatz zu SC nicht nur das Passwort, sondern auch der Username übermittelt werden. Die Fehlermeldung blieb aber dieselbe:

 

Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed.

 

Danach habe ich mich dann an das gute alte SSH erinnert, und habe endlich PuTTY auf meinem HTPC installiert. CopSSH als SSH-Server läuft auch bereits auf meinem Windows Home Server - siehe meinen älteren rsync-Datentransfer über SSH tunneln-Eintrag – jedoch wollte ich die Aktionen nicht immer von Hand ausführen und war mir nicht sicher ob das mit PuTTY fortwährend ohne User-Interaktion funktioniert bzw. PuTTY batch-fähig ist.

 

Aber ein Keyfile hatte ich mit puttygen bereits generiert, dieses habe ich auf meinen HTPC kopiert und PuTTY bekannt gemacht. Dazu gibt es in PuTTY u. a. folgende Optionen:

 

  • Session: Host Name/IP
  • Connection\Data: Auto-login username
  • Connection\SSH: Remote command
  • Connection\SSH\Auth: Private Key File

 

Die Optionen sind selbsterklärend; bei Remote command habe ich sc start LoService bzw. sc stop LoService eingetragen und das ganze dann jeweils als eigene Session abgespeichert. Wenn ich diese Sessions aufrufe werden zwei Fenster geöffnet - eines für die DOS-Eingabeaufforderung und eines für PuTTY - und nach einer kurzen Pause ohne weitere Interaktion automatisch wieder geschlossen.

 

Diese Sessions können dann über die Kommandozeile folgendermaßen aufgerufen werden: putty -load "Session". Anschließend habe ich dann zwei Batch-Dateien mit diesen Befehlen erstellt und diese dem Startmenü hinzugefügt.

 

Nun kann ich am HTPC über das Startmenü und zwei Verknüpfungen den Lights-Out-Dienst des Servers gezielt an- und abschalten. Als Resümee hätte ich wohl zuerst SSH testen sollen, aber immerhin bin ich wieder um eine Erfahrung reicher.

 

Über eine RDP-Verbindung wäre es auch gegangen, hätte aber mehr Interaktion erfordert.

 

Weitere Links


  • Windows Server 2003 in 21 Tagen: Link.
  • Windows Server 2003 für Insider: Link.

 

Monats-Liste