2
작업 제한 및 "중단"또는 "실패한"작업에 문제가 있습니다. 기본적으로 내가하려고하는 것이 있습니다.Powershell 시작 작업 제한
$allServers = Import-Csv "C:\temp\input.csv"
$job = $allServers | % {
while (@(Get-Job -State Running).Count -ge 6) {
Start-Sleep -Seconds 2
}
Start-Job -Name $_.computerName -ScriptBlock {
param ($cpn,$dom)
(DO QUERIES HERE)
(OUTPUT TO OBJECT HERE)
} -ArgumentList $_.computerName,$_.Domain
}
$jobsdone = $job | Wait-Job | Receive-Job
5 개의 동시 작업을 간단하게 실행하고 싶습니다.
문제는 내가 응답하지 않는 서버를 쿼리 할 때 작업이 멈추고 스크립트가 끝나지 않는 경우입니다. 나는 마지막 중괄호 위 ... 추가
Wait-Job -Name $_.computerName -Timeout 20
을 시도했지만 20초 후 다른 작업을 수행 할 중단 작업을 포기하여 때까지 않는 모든 효과적으로 하나 개의 스레드에 동의를 제한한다 직업. 이 경우 전체 스크립트가 끝나지 않습니다.
이 코드는 반응이없는 서버를 얻지 않는 한 스로틀 및 작업 대기없이 정상적으로 작동합니다.