2016-03-21 3 views
0

Я написал сценарий PS, который дает мне все IP-адреса и префикс длины серверов из текстового файла. См. Код:Список Powershell с IPAddress, Prefixlength и Computernames

$cred = Get-Credential 
$computers = Get-Content -Path C:\Users\XX_YY\Desktop\test_hostname_file.txt 
invoke-command -computername $computers -Credential $cred -scriptblock {get-netipaddress -AddressFamily IPv4 } | where {$_.ipaddress -like "10.*"} | ft -AutoSize IPaddress, prefixlength 

Этот скрипт дает мне результат в виде таблицы. Но мне нужны также Computernames в таблице.

У вас есть идея, как я могу справиться с этим?

Приветствие Сэм

ответ

0

Ну, я хотел бы сделать это по-другому, но приставать к вашему вопросу:

Вы можете использовать автоматическую переменную $ENV:ComputerName, чтобы получить имя компьютера и добавить его к выходу с помощью a Объект PS

$cred = Get-Credential 
$computers = Get-Content -Path C:\Users\XX_YY\Desktop\test_hostname_file.txt 

invoke-command -computername $computers -Credential $cred -scriptblock { 
$IP = get-netipaddress -AddressFamily IPv4 | where {$_.ipaddress -like "10.*"} 
$Row = "" | Select Computer,IPaddress,prefixlength 
$Row.Computer = $env:COMPUTERNAME 
$Row.IPaddress = $IP.IPaddress 
$Row.prefixlength = $IP.prefixlength 
return $row 
} 
+0

Большое спасибо! в точку – logfile