Private/TestNetworkContainsIP.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
function TestNetworkContainsIP { [CmdletBinding(DefaultParameterSetName='Mask')] param( [ipaddress]$IPAddress, [Parameter(ParameterSetName='Mask')] [ValidateScript({$_ -in $(GetValidMask)})] [ipaddress]$Mask, [Parameter(ParameterSetName='MaskLength')] [ValidateRange(0,32)] [int]$MaskLength, [ipaddress]$ChildIPAddress ) begin{} process{ $SNMask = switch ($PSCmdlet.ParameterSetName) { 'Mask' { $Mask } 'MaskLength' { $(GetValidMask)[$MaskLength] } } [bool]$result = (GetNetworkID -IPAddress $IPAddress -Mask $SNMask) -eq (GetNetworkID -IPAddress $ChildIPAddress -Mask $SNMask) $result } end{} } |