다음은 원하는 특성을 가진 사용자 지정 개체를 기반으로 한 솔루션입니다 :
설명
Get-VMHost | ForEach-Object {
$SysLog = $_ | Get-VMHostSysLogServer
ForEach ($SysLogServer in $SysLog) {
$Result = @{
VMHost = $_.name
SysLogHost = $SysLogServer.Host
Port = $SysLogServer.Port
}
New-Object -TypeName PSObject -Property $Result
}
}
:
- 각 VM 호스트가 반환을 반복하는 foreach는-개체 루프를 사용
Get-VMHost
($_
을 통해 현재 파이프 라인 항목으로 표시).
- 원하는 특성의 해시 테이블을 구축
@{ }
모든 SysLogServers 통해 $SysLog
- 루프에 각각의 호스트를 취득 SysLogServers.
New-Object
을 사용하여 파이프 라인으로 반환되는 Hashtable의 속성을 사용하여 개체를 출력합니다.
변수에 결과를 캡처하려면 Get-VMHost
앞에 $YouVar =
을 추가하십시오.
파이프 라인 입력을 허용하는 다른 cmdlet (예 : Export-CSV)으로 보내려면 끝으로 직접 입력 할 수 있습니다. 마지막으로 }
이 닫힌 후 | Export-CSV Your.csv
을 추가하면됩니다. 이것은 바깥 쪽 루프로 ForEach-Object
을 사용하는 이점이며 파이프 라인을 지원합니다.
'Get-VMHostSysLogServer' cmdlet을 의미합니까? –
예. 그러나 실제로 질문은 "파이프 전"이라는 이름을 어떻게 표시하고 나머지는 표시 할 것인가입니다. – wojcieh