gpt4 book ai didi

powershell - 使用 CSV 文件通过 IP 地址从网络中提取计算机名称

转载 作者:行者123 更新时间:2023-12-04 01:48:14 25 4
gpt4 key购买 nike

几天来我一直在努力弄清楚为什么我的代码不起作用。
我几乎在 CSV 文件中有一个 IP 地址列表。我想从此 IP 地址列表中获取计算机名称。当我执行时不管我得到什么

使用“1”个参数调用“GetHostByAddress”时出现异常:“指定了无效的 IP 地址。”在行:3 字符:35+ [System.Net.dns]::GetHostbyAddress <<<< ("$foo[0]") + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException

这是 CSV 文件的示例和使用的代码:

CSV 文件

值(value)
192.168.0.11
192.168.0.12
192.168.0.13
192.168.0.14

正在使用的代码:

$foo = import-csv  C:\test\test\test.csv 
[System.Net.dns]::GetHostbyAddress("$foo[0]")

最佳答案

更新:添加了 Trim() 调用以删除前导或尾随空格(如果存在)。

删除引号并调用 value 属性:

$foo = import-csv  C:\test\test\test.csv 
[System.Net.dns]::GetHostbyAddress($foo[0].Value.Trim())

解析所有地址:

import-csv  C:\test\test\test.csv | 
foreach-object { [System.Net.dns]::GetHostbyAddress($_.Value.Trim()) }

您可以使用 -as 类型运算符来仅传递有效地址:

import-csv  C:\test\test\test.csv | 
where-object {$_.Value.Trim() -as [ipaddress]} |
foreach-object { [System.Net.dns]::GetHostbyAddress($_.Value.Trim()) }

关于powershell - 使用 CSV 文件通过 IP 地址从网络中提取计算机名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com