Private/Helper/Test-IsPrivateIP.ps1
<#
Copyright © 2024 Integris. For internal company use only. All rights reserved. #> FUNCTION Test-IsPrivateIP { <# .SYNOPSIS Determines if an IP address is a private IP address. .DESCRIPTION This function checks if the provided IP address falls within the ranges designated for private networks. .PARAMETER IPAddress The IP address to be checked. .EXAMPLE Test-IsPrivateIP -IPAddress "192.168.1.1" .NOTES Private IP ranges include 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.1, and 169.254.0.0/16. #> [CmdletBinding()] PARAM ( [Parameter(Mandatory)] [System.Net.IPAddress]$IPAddress ) $Split = $IPAddress.IPAddressToString.Split('.') IF ($IPAddress -eq "127.0.0.1") { RETURN $True } IF ($Split[0] -eq 10) { RETURN $True } IF ($Split[0] -eq 192 -and $Split[1] -eq 168) { RETURN $True } IF ($Split[0] -eq 172 -and $Split[1] -ge 16 -and $Split[1] -le 31) { RETURN $True } IF ($Split[0] -eq 169 -and $Split[1] -eq 254) { RETURN $True } RETURN $False } |