包含 IP 地址、前缀长度和计算机名的 Powershell 列表

Powershell list with IPAddress, Prefixlength and Computernames

我写了一个 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

这个脚本给我的结果是 table。但我还需要 table 中的计算机名称。

你知道我该如何处理吗?

干杯山姆

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

您可以使用自动变量 $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
}