0
스크립트를 작성 중이며 코드 섹션에 문제가 있습니다. VCenter에있는 모든 컴퓨터 목록을 전달하면 스크립트는 $ result 개체를 서버 목록과 포함 된 모든 정보로 올바르게 채 웁니다. 오류가있는 경우 (VCenter에서 서버를 찾을 수없는 경우) 반환되는 유일한 것은 오류 줄입니다 (여러 오류가있는 경우 마지막 오류 만 $ 결과에 있음). 이 문제를 해결하기 위해 내가 할 수있는 아이디어가 있습니까?PowerCLI Get-VM 출력
Get-VM 문을 foreach 루프로 묶었지만 VCenter에 한 번에 하나의 서버를 전달할 때 매우 오랜 시간이 걸리는 것으로 알고 있습니다.
try {
$operation = Get-VM -Name $computers -ErrorAction Stop | Restart-VMGuest -Confirm:$false
foreach ($comp in $operation) {
$result += [pscustomobject] @{
Server = $computer
Status = $True
Error = $False
ErrorMessage = $null
Stamp = Get-Date
}
}
}
catch {
$result += [pscustomobject] @{
Server = $computer
Status = $False
Error = $True
ErrorMessage = $_
Stamp = Get-Date
}
}
을 모르는 하나의 오류. – arco444
확인. 그래서 명령의 결과를 수집하고 오류를 처리해야합니까? 나는 지금 내가 그것을 할 지 확신하지 못한다. – Acerbity
유일한 방법은 foreach 내부에'Get-VM'을 넣는 방법입니다. '-ErrorAction' 환경 설정을 변경하여 어딘가에 도착할 수도 있지만, catch 블록이 실행되지 않아서 오류를 판별하는 다른 방법을 찾아야합니다. – arco444