A variável $?
pode ser boa para detectar erros. Ele contém um booleano para o último comando executado. Se o comando foi executado sem erros $? = $true
. O $?
será $false
quando o último comando executado estiver com erro.
Crie um booleano que seja configurado toda vez após o comando que erros. Supondo que o comando aqui seja get-wmiObject:
$running = $true
While ($running) {
Get-WmiObject Win32_NTLogEvent -ComputerName $ComputerName -Credential $Cred
$running = $?
}
Já que você provavelmente já tem uma condicional no seu loop, seria parecido com while(<condition> -and $running)
E se você gostaria de adicionar sua mensagem de erro, apenas jogue algo depois de definir a execução como esta
if(!$running){Add-Content $($SomeFile) $($ComputerName + "is Not There") }