Получить IP-адрес соответствующего интерфейса в powershell - PullRequest
0 голосов
/ 07 марта 2019

Я не знаком с PowerShell.Я хочу хранить IP-адрес в переменной, -InterfaceAlias которой соответствует 'Ethernet(\s+)' в любом месте после Ethernet.Команда ниже дает весь список интерфейсов, которые имеют IPV4.

Get-NetIPAddress -AddressFamily IPv4

Не уверен, как фильтровать имя интерфейса, совпадает с пробелом после его псевдонима и сохраняет его в переменной.

Ответы [ 3 ]

2 голосов
/ 07 марта 2019

Альтернативный подход - просто использовать пробел и подстановочный знак в параметре -InterfaceAlias:

$IP = Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias "Ethernet *"

Странно, что в документации Microsoft говорится, что параметр -InterfaceAlias не принимает подстановочные знаки, но этоработает в любом случае.См. Get-NetIPAddress .

1 голос
/ 07 марта 2019

Начиная с Windows 10 / Server 2016 вы можете использовать Get-NetIPConfiguration примерно так:

(Get-NetIPConfiguration -InterfaceAlias "Ethernet *").IPv4Address.IPAddress

Дополнительная информация: Get-NetIPConfiguration

1 голос
/ 07 марта 2019

В полном объеме:

$IpAddress = Get-NetIPAddress -AddressFamily IPv4 |
                 Where-Object {$_.InterfaceAlias -match 'Ethernet\s+' } |
                 Select-Object -ExpandProperty IPAddress
...