运行 foreach 循环时 PowerShell 中出现“主机名太长”错误消息

运行 foreach 循环时 PowerShell 中出现“主机名太长”错误消息
$IPadd = get-content LRSHost.txt
foreach ($ip in $IPadd) {
  [system.net.dns]::gethostentry("$IPAdd")
}

运行此程序时出现此错误:

主机名太长。不能超过 255 个字符

文本文件上的 IP 地址采用以下xxx.xxx.xxx.xxx格式:每行一个 IP 地址。

我尝试[system.net.dns]::gethostentry("$IPAdd")用替换write-host $ip,以检查 Powershell 如何处理每个 IP,并且 IP 地址在屏幕上正确显示。我尝试删除 上的引号$IPAdd,我在文本文件上添加了引号,但错误消息相同。

如果您能提供任何帮助我将非常感激。

答案1

你犯了一个小错误。循环内的行应该是:

[System.Net.Dns]::GetHostEntry($ip)

现在,您尝试传递整个$IPadd文件内容,而不是单个$ip。此外,不需要用引号括住单个变量 - 我建议您进一步阅读变量替换/插值

相关内容