2017-01-09 2 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

관련 문제