Получить ip-адрес соответствующего интерфейса в powershell

#powershell #ip-address

#powershell #ip-адрес

Вопрос:

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

Get-NetIPAddress -AddressFamily IPv4

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

Ответ №1:

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

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

Дополнительные сведения: Get-NetIPConfiguration

Ответ №2:

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

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

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

Ответ №3:

Полностью:

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