Powershell Win32_NetworkAdapterConfiguration, не “видя” адаптер PPP

Можно использовать бесплатно распространяемую версию witem для создания .msi файлов с "пользовательскими действиями", которые запускают non-msi установщики.

Я использовал его, и Это работает хорошо.

2
задан 26 May 2010 в 00:35
3 ответа

Я знаю, что это очень старая ветка, но я все же опубликую свой способ управления ею, чтобы она могла помочь кому-то вроде меня, поскольку я не мог найти готового решения. ] Это происходит через несколько хостов и их сетевых адаптеров. Он показывает ВСЕ 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 ""
}
1
ответ дан 3 December 2019 в 11:12

Это ошибка , которая присутствовала в 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 .

1
ответ дан 3 December 2019 в 11:12

Вместо этого используйте класс MSFT_NetIPAddress.

Пример Powershell:

gwmi MSFT_NetIPAddress -Namespace 'root/standardcimv2' | format-list -Property InterfaceAlias,IPAddress
1
ответ дан 3 December 2019 в 11:12

Теги

Похожие вопросы