Public/Test-IsValidIPAddress.ps1
function Test-IsValidIPAddress { <# .SYNOPSIS Test IP and validate .DESCRIPTION This function uses the IPAddress class to verify the specified IP address is valid per the RFC. .PARAMETER IP IP address to be tested. .EXAMPLE PS C:\> Test-IsValidIPAddress -IP 10.255.1.1 .NOTES THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER. #> [CmdletBinding()] [OutputType([boolean])] param ( [Parameter(Mandatory = $true)] [String]$IP ) begin { } process { [System.Net.IPAddress]$IPAddressObject = $null if ([System.Net.IPAddress]::TryParse($IP, [ref]$IPAddressObject) -and $IP -eq $IPAddressObject.tostring()) { $true } else { $false } } end { } } |