带有IPAddress,Prefixlength和Computernames的Powershell列表

时间:2016-03-21 12:05:40

标签: powershell hostname

我写了一个PS脚本,它从文本文件中提供了所有IP地址和服务器的前缀长度。见代码:

$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。

请问您如何处理此问题?

干杯萨姆

1 个答案:

答案 0 :(得分:0)

好吧,我会以另一种方式做,但坚持你的问题:

您可以使用自动变量$ENV:ComputerName获取计算机名称,并使用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
}