0

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" を呼び出し中に例外が発生しました: "要求された名前は有効ですが、要求された型のデータが見つかりませんでした"

4

1 に答える 1

0

ある時点で CSV の値の後に空白が追加されていたため、名前検索エラーが発生していたことが判明しました。ISE がまだホストを検索できる理由はわかりませんが、空白を削除すると問題が解決しました。

sha のおかげで、彼の推薦によって空白が見えてきました。

于 2013-12-20T20:57:50.377 に答える