Ciao Efran,
ho sostituito il get-wmiobject installando un provider di terze parti.
Questo è lo script ( ho tralasciato la parte superiore con add-pssnapin).
$gruppo1 = get-content "C:\receivetest.txt"
$istanzeattive = New-Object System.Diagnostics.PerformanceCounter("BizTalk:Message Agent", "Active instance count", "BizTalkServerApplication", "server")
$pathRL = "Biztalk:\Applications\Scheduler\Receive Locations\"
foreach ($RL in $gruppo1){
start-job { if ($istanzeattive.rawvalue -lt 20){
Enable-ReceiveLocation -path "$pathRL\$RL"
}
else {
Start-sleep -s 20
Enable-ReceiveLocation -path "$pathRL\$RL"
}
}
}
Lo script verifica le istanze attive di biztalk e se sono inferiori a 20 effettua lo start di ogni Receive Location in elenco.
Se superiori a 20 invece effettua uno sleep e successivamente effettua lo start.