2013-12-20 1 views
0

CSV 파일에서 컴퓨터 이름을로드하는 스크립트를 작성한 다음 IP 주소를 찾습니다.CSV 데이터를 처리하는 Powershell 스크립트 오류

CSV에서 이름을 사용할 때 스크립트에서 오류가 발생합니다.

ISE에서 스크립트를 실행하면 오류가 표시되지만 결과는 여전히 나타납니다. PowerShell에서 스크립트를 실행하면 오류가 발생하고 결과는 null입니다.

$PCname = "Computer01"$PCname = $_.System으로 대체하면 정상적으로 작동합니다.

호스트에 쓸 경우 $_.System이면 "Computer01"이 표시됩니다. 어떻게하면 이것을 파워 쉘에서 사용할 수 있습니까? 표시

$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"를 호출

+0

[여기] (http://serverfault.com/questions/373890/ec2-hosted-asp-net-not-stable)가 도움이됩니까? – shoover

+0

오류가 발생했습니다. – KevinD

+0

도움이되지 않은 것은 없습니다. 재부팅하고 tcp/ip 스택을 재설정 했는데도 문제가 지속됩니다. – Stanton

답변

0

어떤 시점에서 CSV 값 뒤에 공백이 추가되어 이름 조회 오류가 발생했음을 알 수 있습니다. 왜 ISE가 여전히 호스트를 찾을 수 있을지 모르겠지만 공백을 제거하면 문제가 해결됩니다.

sha 덕분에 그의 추천으로 공백을 볼 수있었습니다.