Moin,
vielleicht hat jemand schon mal den Fernzugriff über TR-064 nach der Beschreibung von AVM geschafft (Fernzugriff Remote Access Beschreibung PDF).
Ziel ist es darüber WOL zu machen um einen Server aus dem Schlaf zu wecken ohne sich auf der Fritzbox WebGUI anzumelden.
was ich bis jetzt habe sieht wie folgt aus (für PowerShell)
Leider rauscht das bei mir in einen TimeOut. Ausgabe ist dann:
Hat jemand schon mal ein Remote Access mit TR-064 hinbekommen ganz egal ob für WOL oder irgend welche GetInfo Sachen? Ich bin für jeden Tipp dankbar
Gruß KFR86
vielleicht hat jemand schon mal den Fernzugriff über TR-064 nach der Beschreibung von AVM geschafft (Fernzugriff Remote Access Beschreibung PDF).
Ziel ist es darüber WOL zu machen um einen Server aus dem Schlaf zu wecken ohne sich auf der Fritzbox WebGUI anzumelden.
was ich bis jetzt habe sieht wie folgt aus (für PowerShell)
Code:
# Skript für Fritzbox WOL via MAC und Remote Access.
# Benutzer nach Fritzbox-Passwort fragen. –asSecureString versteckt die Eingabe, aber macht die folgenden beiden Befehle nötig,
# um das verschlüsselte Passwort wieder in Klartext zu verwandeln.
$passwort = Read-Host -Prompt "Bitte Fritzbox-Passwort eingeben" –asSecureString
$passwort = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($passwort)
$passwort = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($passwort)
# Erstmal einen WebClient erzeugen, der später mit der Box spricht
$w=New-Object System.Net.WebClient
# Das Encoding sollte immer UTF8 sein.
$w.Encoding=[System.Text.Encoding]::UTF8
# Der WebClient enthält die Antowrt-Header aus der vorigen Abfrage. Daher diese neu setzen:
$w.Headers.Set("Content-Type", 'text/xml; charset="utf-8"')
# Der Funktionsaufruf kommt in den Header SOAPACTION Name der Funktion laut http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/hostsSCPD.pdf
$w.Headers.Set("SOAPACTION", 'urn:dslforum-org:service:Hosts:1#X_AVM-DE_WakeOnLANByMACAddress')
# Der SOAP-Aufruf wird in XML verpackt, und zwar...
# ... beginnt er mit einem immer gleichen Header.
$query='<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body> ' +
# Dann kommt nochmal der Aufruf, diesmal steht der Funktionsname vorne
# Der mitgegebene Parameter steht innerhalb des Funktions-Tags
# Hier wird mit NewMACAddress die MAC Adresse des Servers eingetragen
'<u:X_AVM-DE_WakeOnLANByMACAddress xmlns:u="urn:dslforum-org:service:Hosts:1">
<NewMACAddress>00:00:00:00:00:00</NewMACAddress>
</u:X_AVM-DE_WakeOnLANByMACAddress>' +
# Und das Ende ist auch immer gleich
'</s:Body>
</s:Envelope>'
# Der WebClient braucht nur die Zugangsdaten, dann wickelt er das Login ganz allein ab.
# dslf-config ist der im TR-64-Standard definierte Name.
$w.Credentials=New-Object System.Net.NetworkCredential("Benutzername",$passwort)
# Das SSL-Zertifikat der Box ist nicht so signiert, dass es der sehr genauen Prüfung im WebClient standhält.
# Daher würde keine Verbindung zu Stande kommen, wenn man nicht die
# SSL-Zertifikatprüfung für diesen Prozess ausschaltet.
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$r = [xml]$w.UploadString("https://dyndns:"443"/tr064/upnp/control/hosts",$query)
Leider rauscht das bei mir in einen TimeOut. Ausgabe ist dann:
Ausnahme beim Aufrufen von "UploadString" mit 2 Argument(en): "Timeout für Vorgang überschritten"
Hat jemand schon mal ein Remote Access mit TR-064 hinbekommen ganz egal ob für WOL oder irgend welche GetInfo Sachen? Ich bin für jeden Tipp dankbar
Gruß KFR86
Zuletzt bearbeitet: