#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