Diese zwei Funktionen in Powershell liefern die IP-Adresse aus einer dynamischen DNS. Voraussetzung ist dass z.B. ein Router bei einem Reconnect dem DynDNS-Anbieter die aktuelle IP mitteilt.
Die Skripte teilen die IP nicht dem DynDNs-Anbieter mit!
Diese Funktion liefert durch das Cmdlet Test-Connection IP-Adresse aus einem DynDns-Namen.
# Löst die IP-Adresse aus einem DynDns-Namen auf Function GET-IPFromDynDns() { [CmdletBinding()] Param ( [Parameter(Mandatory=$false,Position=0)] [string]$DynDNS ) $PingResult = Test-Connection -ComputerName $DynDNS -Count 1 #$return = $PingResult.ProtocolAddress $return = $PingResult.IPV4Address.IPAddressToString $return }
Die 2. Funktion liefert via Ping-Befehl die IP-Adresse aus einem DynDns-Namen.
Function GET-IPFromDynDns() { [CmdletBinding()] Param ( [Parameter(Mandatory=$false,Position=0)] [string]$DynDNS ) $PingResult = (ping -n 1 $DynDNS) if ($PingResult -is [array]) { $b = $PingResult[1].LastIndexOfAny("[")+1 $c = $PingResult[1].LastIndexOfAny("]") $Result = $PingResult[1].substring($b, $c - $b) $Result } else { Write-Host $DynDNS "konnte nicht aufgelöst werden!" } } # Aufruf der Funktion. (Auch mit anderen DynDns-Diensten möglich ;-) $ip = GET-IPFromDynDNS "meinesubdomain.dyndns.org"