Я знаю, что это очень старая ветка, но я все же опубликую свой способ управления ею, чтобы она могла помочь кому-то вроде меня, поскольку я не мог найти готового решения. ] Это происходит через несколько хостов и их сетевых адаптеров. Он показывает ВСЕ IP-адреса сетевых адаптеров, но не IP-адреса по умолчанию.
Get-wmiobject Win32_NetworkAdapterConfiguration -filter IPEnabled=TRUE -computername localhost,127.0.0.1 | ForEach-Object -Process {
Write-Host Server: $_.__SERVER
Write-Host Adapter name: $_.Description
Write-Host IP Addresses: $_.IPAddress
Write-Host ""
}
Это ошибка , которая присутствовала в Vista и не знает ' Исправлено в Windows 7 или Windows 8. Чтобы получить эту информацию, необходимо вызвать .NET API непосредственно из Powershell.
$nics = [System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces()
foreach ($nic in $nics) {
write-host $nic.name
$props = $nic.GetIPProperties()
$addresses = $props.UnicastAddresses
foreach ($addr in $addresses) {
write-host "IP Address: $($addr.Address.IPAddressToString)"
write-host "IPv4 Mask: $($addr.IPv4Mask.IPAddressToString)"
}
write-host "Gateway: $($props.GatewayAddresses.Address.IPAddressToString)"
write-host "DNS Server(s): $($props.DnsAddresses.IPAddressToString)"
write-host ""
}
См. также документацию по классу NetworkInterface .
Вместо этого используйте класс MSFT_NetIPAddress.
Пример Powershell:
gwmi MSFT_NetIPAddress -Namespace 'root/standardcimv2' | format-list -Property InterfaceAlias,IPAddress