diff --git a/Check-ChangedIP.ps1 b/Check-ChangedIP.ps1 index 30c6c74..57c9694 100644 --- a/Check-ChangedIP.ps1 +++ b/Check-ChangedIP.ps1 @@ -40,4 +40,48 @@ else { Write-Host -ForegroundColor Green "No change!" } -#} \ No newline at end of file +======= +# Check Public IP-script +# +#function Check-ChangedIP { + param ( + $Domain,$Alert=$false + ) + +$apikey = "xx" + +# Script starts +$CurrentIP = Resolve-DnsName $Domain | Select-Object -ExpandProperty Ipaddress +$credentials = New-Object System.Management.Automation.PSCredential ($apiKey, (ConvertTo-SecureString $apiKey -AsPlainText -Force)) + + +$ifconfig = Invoke-WebRequest ifconfig.co/json | ConvertFrom-Json + +if ($ifconfig.IP -ne $CurrentIP) { + 'new ip!' + if ($Alert -eq $true) { + $pushDevices = Invoke-RestMethod -Uri 'https://api.pushbullet.com/api/devices' -Method Get -Credential $credentials + foreach ($device in $pushDevices.devices) { + + # build the notification + $notification = @{ + device_iden = $device.iden + type = 'note' + title = 'IP Address Change detected' + body = "New IP address $($ifconfig.ip) is detected" + } + Invoke-RestMethod -Uri 'https://api.pushbullet.com/api/pushes' -Body $notification -Method Post -Credential $credentials + } + } + else { + Write-Host -ForegroundColor Red "New IP detected!" + Write-Host -ForegroundColor Red "Old: $CurrentIP" + Write-Host -ForegroundColor Red "New: $($ifconfig.ip)" + } +} +else { + Write-Host -ForegroundColor Green "No change!" +} + +>>>>>>> c0f0bde6cf363f87c1f0213243a1d7ed173203e5 +#}