Private/Get-IPV4NetworkEndIP.ps1

Function Get-IPV4NetworkEndIP ($StrNetwork){
    Try{
        $StrNetworkAddress = ($StrNetwork.Split("/"))[0]
        [int]$NetworkLength = ($StrNetwork.Split("/"))[1]
        $IPLength = 32 - $NetworkLength
        $NumberOfIPs = ([System.Math]::Pow(2,$IPLength)) - 1
        $NetworkIP = ([System.Net.IPAddress]$StrNetworkAddress).GetAddressBytes()
        [array]::Reverse($NetworkIP)
        $NetworkIP = ([System.Net.IPAddress]($NetworkIP -join ".")).Address
        $EndIP = $NetworkIP + $NumberOfIPs
    }
    Catch {
        #Write-Error "Invalid IP range entered: $StrNetwork"
        return
    }

    If (($EndIP.GetType()).Name -ine "double"){
        $EndIP = [Convert]::ToDouble($EndIP)
    }

    $EndIP = [System.Net.IPAddress]$EndIP

    Return $EndIP
}