Files
WAN_IP_Changedetection/Check-ChangedIP.ps1

88 lines
2.7 KiB
PowerShell
Raw Normal View History

2022-04-25 13:01:15 +02:00
# 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!"
}
2022-04-25 13:08:35 +02:00
=======
# 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
#}