Skip to content

Instantly share code, notes, and snippets.

@mattmcnabb
Created August 18, 2015 15:26
Show Gist options
  • Save mattmcnabb/0d0845087462693b89bc to your computer and use it in GitHub Desktop.
Save mattmcnabb/0d0845087462693b89bc to your computer and use it in GitHub Desktop.
Get IP Addresses for Remote Computers
function Get-IPAddress
{
[CmdletBinding()]
param
(
[ValidateSet('IPv4','IPv6','All')]
[string]
$AddressType = 'All',
[Parameter(ValueFromPipelineByPropertyName,ValueFromPipeline)]
[string]
$ComputerName = $env:COMPUTERNAME
)
PROCESS
{
switch ($AddressType)
{
'IPv4'
{
$IPAddresses = foreach ($Item in ([System.Net.Dns]::GetHostAddresses($ComputerName)))
{
if ($Item.AddressFamily -eq 'InterNetwork') { $Item.IPAddressToString }
}
}
'IPv6'
{
$IPAddresses = foreach ($Item in ([System.Net.Dns]::GetHostAddresses($ComputerName)))
{
if ($Item.AddressFamily -eq 'InterNetworkv6') { $Item.IPAddressToString }
}
}
Default {$IPAddresses = [System.Net.Dns]::GetHostAddresses($ComputerName).IPAddressToString}
}
[PSCustomObject]@{
ComputerName = $ComputerName
AddressList = $IPAddresses
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment