Назад | Перейти на главную страницу

Как получить ТОЛЬКО стоимость недвижимости

Я хочу получить IP-адреса из имен компьютеров, но мне нужен ТОЛЬКО IP-адрес.

$computer = 'Server1'
$computer = [System.Net.Dns]::GetHostAddresses($computer) | select IPAddressToString

Возвращает @ {IPAddressToString = x.x.x.x}. Как мне вернуть "x.x.x.x"

Заменить

| select IPAddressToString

С участием (Powershell 2.0+)

| select -First 1 -ExpandProperty IPAddressToString

Или, если вы хотите работать с массивом

| select -ExpandProperty IPAddressToString

Это даст вам массив строк, поэтому, если вам нужны отдельные адреса, используйте что-то вроде

([System.Net.Dns]::GetHostAddresses($computer) | select -ExpandProperty IPAddressToString)[0]

Используя ваш пример, вы должны ввести $Computer.IPAddressToString чтобы вернуть массив IP-адресов. Если для этого имени хоста есть только 1 IP-адрес, то это все. Однако имя хоста может иметь много адресов, поэтому оно является массивом. Поэтому, если вы хотите увидеть только первый IP-адрес в массиве, вы можете ввести $Computer.IPAddressToString[0]

add () .IpAddressToString

([Net.Dns]::GetHostAddresses('Server1')).IpAddressToString

Я всегда так делаю с помощью foreach, в отличие от select -expand:

$computer = 'Server1'
$computer = [Net.Dns]::GetHostAddresses($computer) | foreach IPAddressToString