So last year in the thick of Covid - a client requested a quick (and dirty) way to be able to identify endpoints outside of the UK for contractual purposes.
Using Powershell and NinjaRMM it's relatively easy to pull this together in a one liner for reporting back using custom fields
Invoke-RestMethod -Uri ('http://ipinfo.io/' + (Invoke-WebRequest -UseBasicParsing -Uri 'http://ifconfig.me/ip').Content) | Select-Object ip, hostname, city, region, country, loc, org, postal
Alternatively - return an error code and have it trigger an alert on the NinjaRMM dashboard.
$result = Invoke-RestMethod -Uri ('http://ipinfo.io/' + (Invoke-WebRequest -UseBasicParsing -Uri 'http://ifconfig.me/ip').Content) | Select-Object country
Ninja-Property-Set ipgeolocation $result.country
if ($result.country = 'GB') {
Write-Host '0'
exit 0
}
else {
Write-Host '999'
exit 999
}
You will need to create a global custom field with the following attributes:

Then edit the field to update it to the following settings:

You can use this in a script result condition to trigger the built in alerting.
Comments