Часто возникает такая задача, когда может что-то помешать при ее выполнении, и надо сделать несколько попыток перед тем как "плюнуть" эксепшеном. Как пример коннект к SSRS:
$Proxy = New-WebServiceProxy -Uri $Uri -Namespace SSRS.ReportingService2010 -Credential $credentials
Я пишу обычно велосипед:
for($i = 0; $i -lt 5; $i++) #try 5 times
{
try
{
$Proxy = New-WebServiceProxy -Uri $Uri -Namespace SSRS.ReportingService2010 -Credential $credentials
}
catch
{
if($i -eq 4)
{
Throw $_.Exception.Message
}
Start-Sleep -s 5 #pause on 5 second
}
}
Может есть более элегантное решение?