Okay, es ist 3 Uhr morgens, aber ich habe endlich eine Lösung.
Falls ihr eine einfachere Lösung habt, bin ich offen dafür!
(Gladys läuft auf einem Raspberry Pi)
AM RASPBERRY PI:
################
- Raspberry Pi aktualisieren:
sudo apt-get update
sudo apt-get upgrade
- Apache installieren und den Port ändern, damit er nicht denselben wie Gladys verwendet:
sudo apt-get install apache2 -y
sudo nano /etc/apache2/ports.conf
→ Zeile « Listen 80 » in « Listen 90 » ändern (ich habe Port 90 verwendet, aber ihr könnt den Port eurer Wahl nehmen)
- PHP installieren:
sudo apt-get install php -y
- Apache-Dienst beim Systemstart aktivieren und Apache-Dienst starten:
sudo systemctl enable apache2.service
sudo systemctl start apache2.service
- Dienste zum Herunterfahren und Starten des entfernten PCs installieren:
sudo apt-get install samba-common -y
sudo apt-get install samba-common-bin
sudo apt-get install etherwake -y
- PHP-Skriptdatei zum Starten des entfernten PCs über Wake-On-Lan erstellen:
sudo nano /var/www/html/boot.php
- Folgenden Code in diese Datei einfügen:
<?php
exec("etherwake -D MACADRESSEDUPC");
?>
(Ersetzt MACADRESSEDUPC durch die MAC-Adresse des entfernten PCs)
- Berechtigungen hinzufügen:
sudo chmod 700 /var/www/html/boot.php
sudo chown www-data:www-data /var/www/html/boot.php
AM ENTFERNTEN WINDOWS-PC:
############################
Startet regedit und geht zu folgendem Pfad:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
Fügt einen neuen DWORD32-Wert namens « LocalAccountTokenFilterPolicy » hinzu und setzt den Wert auf « 1 », falls dieser nicht existiert.
Startet Services.msc, setzt den Dienst « Remoteregistrierung » auf « Automatisch » und startet ihn.
Im Windows-Firewall « Windows-Verwaltungsinfrastruktur (WMI) » erlauben (persönlich musste ich das nicht tun)
IN GLADYS4:
#############
Erstellt eine neue Szene.
Als Auslöser wählt ihr den, der euch gefällt. (Ich habe « Rückkehr nach Hause » gewählt, sodass mein PC startet, wenn ich nach Hause komme.)
Als Aktion « HTTP-Anfrage senden » auswählen, Methode = « POST » und URL = « http://IPDURASPBERRY:90/boot.php ». Den Rest leer lassen und die Szene speichern.
(Ersetzt IPDURASPBERRY durch die IP-Adresse des Raspberry Pi)
Ihr könnt die Funktion testen, indem ihr auf den « Start »-Button in der Szene drückt, die ihr gerade erstellt habt.
Um ein Herunterfahren unter Windows abzubrechen, öffnet ein CMD und gebt « shutdown -a » ein.
.
.
.
.
.
Für das Herunterfahren des entfernten PCs wiederholt ihr die Schritte 6 bis 8 wie folgt:
6) PHP-Skriptdatei zum Herunterfahren des entfernten PCs erstellen:
sudo nano /var/www/html/shutdown.php
- Folgenden Code in diese Datei einfügen:
<?php
exec("net rpc shutdown -f -I IPDUPCDISTANT -U UTILISATEUR%MOTDEPASSE");
?>
(Ersetzt IPDUPCDISTANT durch die IP-Adresse des entfernten PCs, UTILISATEUR durch euren Benutzernamen des entfernten PCs und MOTDEPASSE durch das Passwort des Benutzers des entfernten PCs)
- Berechtigungen hinzufügen:
sudo chmod 700 /var/www/html/shutdown.php
sudo chown www-data:www-data /var/www/html/shutdown.php
Natürlich müsst ihr noch eine Szene in Gladys erstellen, wie beim Booten, aber als Auslöser z. B. « Verlassen des Hauses » wählen und als Aktion « HTTP-Anfrage senden » auswählen, Methode = « POST » und URL = « http://IPDURASPBERRY:90/shutdown.php ». Den Rest leer lassen und die Szene speichern.