0
8 | foreach {
    New-Object PSObject -Prop @{
        Address ="192.168.1.$_";
        Status = (Test-Connection "192.168.1.$_" -Quiet -Count 1);
        try {HostName=[System.Net.Dns]::GetHostEntry("192.168.1.$_").HostName} catch {HostName="UNKNOWN"}
    }
} | Format-Table -Auto

を使用してホスト名を解決したい[System.Net.Dns]::GetHostEntry()Test-Connection接続状態を取得するために使用しています。

私の問題は、ホスト名を解決できない場合、コマンドがエラーを返すことです。その特定のメンバーのプロパティに「UNKNOWN」を保存する必要HostNameがあります。これを達成するために使用できる構造はありますか?

4

1 に答える 1

2

HostName の定義を開始した後で、Try/Catch を配置します。

8 | foreach {
    new-object psobject -prop @{
        Address = "192.168.1.$_"
        Status = Test-connection "192.168.1.$_" -quiet -count 1
        HostName = Try {[System.Net.Dns]::gethostentry("192.168.1.$_").HostName} Catch {"UNKNOWN"}
    }
} | format-table -auto
于 2017-01-09T16:13:01.600 に答える