Em Get-Help about_Try_Catch_Finally
:
SHORT DESCRIPTION
Describes how to use the Try, Catch, and Finally blocks to handle terminating errors.
Somente erros de finalização podem ser detectados. Você pode fazer com que o PowerShell trate os erros de terminação não como um erro de terminação com -ErrorAction Stop
. Isso irá catch
do erro e executará o bloco conforme o esperado. Observe que isso afeta apenas o comportamento de erros de Get-DhcpServer4Lease
. Você pode especificar $ErrorActionPreference = 'Stop'
no topo do seu script para alterá-lo para todo o escopo.
for ($x = 2; $x -le 255; $x++) {
$ip = "172.30.218.$x"
try {
Get-DhcpServerv4Lease -IPAddress $ip -ErrorAction Stop
} catch {
Write-Output "Can't find $ip"
}
}
Outra opção, se você não se importa com o erro, é SilentlyContinue
:
for ($x = 2; $x -le 255; $x++) {
$ip = "172.30.218.$x"
Get-DhcpServerv4Lease -IPAddress $ip -ErrorAction SilentlyContinue
}
Consulte Get-Help about_CommonParameters
para obter mais detalhes sobre ErrorAction
e ErrorVariable
.