Functions/ConvertTo-DecimalIPv4.ps1
function ConvertTo-DecimalIPv4 { <# .SYNOPSIS Converts a Dotted Decimal IP address into a 32-bit unsigned integer. .DESCRIPTION ConvertTo-DecimalIP takes a dotted decimal IP and uses the [ipaddress] accelerator to determine 32 bit decimal value .PARAMETER IPAddress An IP Address to convert. .EXAMPLE ConvertTo-DecimalIP -IPAddress 10.20.30.40 Would return 673059850 .EXAMPLE ConvertTo-DecimalIP -IPAddress 192.168.1.1 Would return 16885952 .EXAMPLE ConvertTo-DecimalIP -IPAddress 192.168.1.1, 10.100.10.1 -IncludeInput Would return IPAddress DecimalIP --------- --------- 192.168.1.1 16885952 10.100.10.1 17458186 #> [CmdletBinding(ConfirmImpact='None')] [OutputType('string')] param( [Parameter(Mandatory, Position = 0, ValueFromPipeline)] [ipaddress[]] $IPAddress, [switch] $IncludeInput ) begin { Write-Verbose -Message "Starting [$($MyInvocation.Mycommand)]" } process { foreach ($curIPAddress in $IPAddress) { if ($IncludeInput) { New-Object -TypeName 'psobject' -Property ([ordered] @{ IPAddress = $curIPAddress DecimalIP =$curIPAddress.Address }) } else { Write-Output -InputObject $curIPAddress.Address } } } end { Write-Verbose -Message "Ending [$($MyInvocation.Mycommand)]" } } #EndFunction ConvertTo-DecimalIPv4 Set-Alias -Name 'ConvertTo-DecimalIP' -Value 'ConvertTo-DecimalIPv4' -Description 'Alias for ConvertTo-DecimalIPv4' |