Private/Test-AzLocalIPv4Cidr.ps1
|
Function Test-AzLocalIPv4Cidr { <# .SYNOPSIS Validates an IPv4 CIDR value, including octet and prefix ranges. #> [OutputType([bool])] [CmdletBinding()] param ( [Parameter(Mandatory = $true, Position = 0)] [AllowEmptyString()] [string]$Value ) $parts = $Value -split '/', 2 if ($parts.Count -ne 2) { return $false } $address = [System.Net.IPAddress]::None if (-not [System.Net.IPAddress]::TryParse($parts[0], [ref]$address) -or $address.AddressFamily -ne [System.Net.Sockets.AddressFamily]::InterNetwork) { return $false } $prefixLength = 0 return [int]::TryParse($parts[1], [ref]$prefixLength) -and $prefixLength -ge 0 -and $prefixLength -le 32 } |