답장을 보내 주셔서 감사합니다. 답변을 시도했지만 PowerCLI를 사용하여 Select-Object -Expand (예외가 있는지 확실하지 않음)가 포함되어 있지 않은 것으로 보입니다. 그러나 대답은 미친 듯합니다. 이를 위해 적절한 답을 얻으십시오.
나는 아래 사용하고는 아래를 읽고 다음 foreach 문을 사용하여 배열의 값을 추가하고 잘 작동 : 그들이 어떤했다로
$p1vmname = Get-VMHost -Name hq-esxi-prod-01a.nsx.gss | Get-VM | select Name
$p1vmlist = @()
foreach ($p1line in $p1vmname)
{
$p1vmlist += $p1line
}
$p1 = 0
do {
$x = $p1+1
Write-Host -BackgroundColor:Black -ForegroundColor:Yellow "vm number $x is "$p1vmlist[$p1]"."
$p1++
}
until ($p1 -eq $p1vmc)
}
을 그러나이 이름을 사용하는 경우 완전히 정확하지 않은 다음과 같은 추가 문자 :
vm number 1 is @{Name=HQ-Web-01a}
vm number 2 is @{Name=HQ-LinServ-01a}
vm number 3 is @{Name=HQ-Win2012-01a}
이렇게 분할 및 트림을 사용하여 아래 내용을 없애고 정상적으로 작동합니다.
$p1vmname = Get-VMHost -Name hq-esxi-prod-01a.nsx.gss | Get-VM | select Name
$p1vmlist = @()
foreach ($p1line in $p1vmname)
{
$p1vmlist += $p1line
}
$p1 = 0
do {
$x = $p1+1
$p1vmlist[$p1] = ($p1vmlist[$p1]) -split("=") | Select-Object -Last 1
$p1vmlist[$p1] = $p1vmlist[$p1].trimend("}")
Write-Host -BackgroundColor:Black -ForegroundColor:Yellow "vm number $x is "$p1vmlist[$p1]"."
$p1++
}
until ($p1 -eq $p1vmc)
}
출력 :
vm number 1 is HQ-Web-01a .
vm number 2 is HQ-LinServ-01a .
vm number 3 is HQ-Win2012-01a .
나에게 많은 도움이 답변 주셔서 너무 감사드립니다.
저는 지금 실제로 스크립팅을 즐기고 있습니다.