CSV ファイルからコンピューター名を読み込み、その IP アドレスを検索するスクリプトを作成しています。
スクリプトは、CSV からの名前を使用するとエラーを作成します。
ISE でスクリプトを実行すると、エラーが表示されますが、結果は引き続き表示されます。PowerShell からスクリプトを実行すると、エラーが発生し、結果が null になります。
を代入する$PCname = $_.System
と、$PCname = "Computer01"
すべて正常に動作します。
write-host$_.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" を呼び出し中に例外が発生しました: "要求された名前は有効ですが、要求された型のデータが見つかりませんでした"