2017-01-09 16 views
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を使って接続状態を取得しています。PowerShellを使用してネットワーク上のホスト名を解決する

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

+0

管ライニング8私の携帯は192.168.1.8 –

答えて

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 
+0

に接続されているので、私はこれを試してみました、それはテーブルの最後に印刷UNKNOWNを保持し、私はコードを正確に行う必要があります@SrihariHumbarwadiそれはホスト名 –

+0

下UNKNOWN保存したいです何を求めているのですか?証拠を提示してください。 –

+0

@SrihariHumbarwadiは期待通りにここで働いています。私はvar '$ IP = "192.168.1。$ _"'を定義し、IPの3つの出現を$ IP – LotPings

関連する問題