PC Start and Shutdown Widget für Android

Mit dem PC Start and Shutdown Widget für Android lässt sich ein Computer über die Wake On LAN Funktionalität starten und Windows herunterfahren, bzw. in den Ruhezustand versetzen..

 

shutdown widget

 

Natürlich funktioniert dies nicht out of the box, sondern es ist ein wenig Konfigurationsaufwand am Rechner erforderlich.

Wake On LAN – kurz WOL – sendet ein sogenanntes Magic Packet an alle Rechner in einem Netzwerk. Das Paket selbst enthält die MAC Adresse des Netzwerkinterfaces im zu starteten PC.
Damit die Netzwerkkarte das Paket erkennen und entsprechend reagieren kann ist es nötig, dass diese auch im ausgeschalteten Zustand mit Strom versorgt wird. Hierfür sind im BIOS oder UEFI des Rechners die nötigen Einstellungen zu treffen. Oft muss WOL zudem separat aktiviert werden. Von Mainboard zu Mainboard kann dies stark varieren. Mit ein wenig Googlen findet man aber meist schnell die nötigen Einstellungen für sein Board.

 

Komplizierter wird es, wenn man den Windows 7-8-10 Rechner remote herunterfahren möchte:

In erster Linie wird das Herunterfahren mit meinem Widget über „Windows Management Instrumation“ – kurz WMI – durchgeführt.

Damit dies funktioniert muss zunächst die Windows Benutzerkontensteuerung (UAC) deaktiviert werden, ansonsten funktioniert es zwar mit dem „echten“ Administrator Account, den Windows mitbringt, nicht aber mit einem anderen lokalen Benutzeraccount der Gruppe Lokale Administratoren. Am einfachsten lässt sich die UAC dekativeren, indem man in ein Kommandozeilenfenster im administrativen Modus den Befehl

reg.exe ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

eingibt. Anschließend ist ein Neustart des Systems erforderlich.

 

Als nächstes muss die Windows Firewall konfiguriert werden, da der Zugriff ansonsten von ihr geblockt wird.

Dies lässt sich entweder über die Erweiterten Einstellungen der Windows Firewall => Eingehende Regeln => Neue Regel => Vordefiniert => Windows-Verwaltungsinstrumentation (WMI) durchführen oder alternativ wieder über die administrative Kommandozeile:

netsh firewall set service RemoteAdmin enable
netsh firewall add portopening protocol=tcp port=135 name=DCOM_TCP135
netsh firewall add allowedprogram program=%windir%\system32\wbem\unsecapp.exe name=WMI
netsh firewall add allowedprogram program=%windir%\system32\dllhost.exe name=Dllhost

Nun muss der Windows Dienst „Remoteregistrierung“ gestartet werden. Dieser Netzwerkdienst erlaubt den Zugriff auf die Windows Registry, was voraussetzung für einen derartigen Remotezugriff auf Windows ist.

Am einfachsten gibt man zum aktivieren folgendes in ein administratives cmd-Fenster ein:

sc config remoteregistry start= auto
net start remoteregistry

Damit wird der Starttyp auf automatisch gestellt (startet beim Systemstart von Windows mit) und anschließend wird der Dienst gestartet.

Manuell kann man die Einstellung auch über die Diensteverwaltung von Windows vornehmen:

remote registry

 

Leider ist es das immer noch nicht gewesen.

Ich verwende zum Herunterfahren die Java Bibliothek j-Interop. Diese setzt voraus, dass die Benutzergruppe der lokalen Administratoren auf den Registry-Key HKEY_CLASSES_ROOT\CLSID\{76A64158-CB41-11D1-8B02-00600806D9B6} (WBEM Scripting Locator)  Vollzugriff hat. Dies muss über die Registry eingestellt werden. Dazu muss kurzzeitig der Besitzer vom TrustedInstaller zu der Gruppe der Lokalen Administratoren (SID: „S-1-5-32-544“) geändert werden und anschließend wieder zurück („NT Service\TrustedInstaller“).

Für diejenigen, denen die ganze Konfiguration zu stressig ist, habe ich hier ein Skript bereit gestellt, das alle Arbeiten erledigt. Mit einem Rechtsklick auf die setup.bat -> Als Administrator ausführen werden die oben beschriebenen Konfigurationen vollautomatisch durchgeführt. Einzig ein Neustart des Rechners muss noch gemacht werden. Zum kurzzeitigen Ändern des Besitzers des beschriebenen Registry Keys wird das kostenfreie Tool SetACL verwendet.

 

Nun aber zum Widget selbst:

Da es sich um keine App im eigentlichen Sinne handelt ist es nur in Widget Menü zu finden, nicht in der App Übersicht.

configDas Widget muss auf den Homescreen gezogen werden, damit sich der Bildschirm zur Konfiguration öffnet. Hier müssen nur IP- und MAC-Adresse des fernzusteuernden Rechners, so wie Benutzername und Passwort zur Anmeldung konfiguriert werden. Falls sicher der Rechner in einer Windows Domäne befindet, ist diese ebenfalls anzugebeben.

 

widget

Nach der Eingabe wird das Widget über einen Druck auf „save config“ auf dem Android Homescreen platziert.

 

Dieser Vorgang lässt sich beliebig oft wiederholen, so dass Widgets zum Fernsteuern verschiedener Rechner angelegt werden können.

Nun lässt sich der PC über die grüne Schaltfläche starten, über die orangene in den Ruhezustand versetzen und über die rote Schaltfläche herunterfahren.

Seitenaufrufe: 608

Dieser Beitrag wurde unter Java-Programme veröffentlicht. Setze ein Lesezeichen auf den Permalink.

4 Kommentare zu PC Start and Shutdown Widget für Android

  1. Melad sagt:

    Very cool … ganz ganz cool!

  2. Alex sagt:

    Eine wunderbare Widget! Wir suchten zum ausschalten des PCs im Büro. Es wäre noch besser, dass es eine Möglichkeit gab anzugeben Liste von IP-Adressen. Wenn der Autor das Programm die Möglichkeit, zu modifizieren, wären wir sehr dankbar. Bitte schreiben Sie uns eine E-Mail Bedingungen.

  3. admin sagt:

    Hi Alex, i guess you used Google translator so i write back in English. Would be nice if you would write your comment again in English so that I can understand what you are trying to tell me ;-))

    Regards
    Tommy

  4. jigas sagt:

    i did everything u said. But the app wont let me press ’save config‘.
    doesnt work.

    why ?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*