我正在编写一个脚本来从 CSV 文件加载计算机名称,然后查找它们的 IP 地址。
使用 CSV 中的名称时,脚本会产生错误。
如果我在 ISE 中运行脚本,则会出现错误,但结果仍然存在。如果我从 powershell 运行脚本,它会出错并且结果为空。
如果我用 代替$PCname = $_.System
一切$PCname = "Computer01"
正常。
如果我写主机$_.System
它显示"Computer01"
. 我怎样才能让它在PowerShell中工作?
$file = "\\server.contoso.net\private$\Systems.csv";
$CSV = Import-CSV $file;
$CSV | %{
if ($_.Skip -eq 0)
{
$PCname = $_.System
# $PCname = "Computer01"
write-host $PCname
try
{
$ipaddress = [System.Net.Dns]::GetHostByName($PCname).AddressList[0].IpAddressToString
}
Catch [system.exception]
{
if(1)
{ $error[0].tostring() }
}
}
}
显示的错误是:
使用“1”参数调用“GetHostByName”的异常:“请求的名称有效,但未找到请求类型的数据”