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