내 스크립트에 올바른 형식을 지정하는 데 문제가 있습니다. VMware에서 powercli를 사용하여 호스트 이름과 IP 정보를 가져오고 vApp에서 CSV로 내보내려고합니다.Export-Csv 사용
지금까지 내가 가진 :
$vapp = Get-CIVApp -name name_of_vApp
$vms = $vapp.ExtensionData.Children.vm
$output = foreach ($vm in $vms) {$vm | select-object -Property Name;$vm.Section[2].NetworkConnection | select-object -Property IpAddress,ExternalIpAddress;}
$output | export-csv -Path c:\temp\test.csv -NoTypeInformation
문제는, 내가 $output
에 값을 할당 선을 보인다. 비록 그것이 외부의 기능이나 심지어는 $ vm.name없이 함수 내부에서 작동하더라도, 어떤 이유로 IP 정보를 추가하지 않습니다. 서버에있는 IP 주소의 수와 동일한 빈 줄로 구분 된 시스템 이름을 제공합니다.
궁극적 인 목표는 서버의 이름, 내부 IP 주소 및 외부 IP 주소가있는 3 열 테이블을 갖는 것입니다. 어떤 도움을 주시면 감사하겠습니다.
미리 감사드립니다.
감사합니다. 나는'PSCustomObject'에 대해 알지 못했지만, 많은 것들을위한 훌륭한 도구 인 것 같습니다. 나는 또한 ForEach를 ForEach-Object의 별명으로 혼동했다. 매우 혼란스러워! – Philosophene
나는 그것을 테스트 할 수 있었고 그렇게했다. VM에 하나 이상의 IP 주소가있는 경우 System.Object []를 반환하는 powershell에 약간의 문제가 발생했습니다. 'IpAddress = (($ _. Section [2] .NetworkConnection.IpAddress) -join ',')' – Philosophene