Powershell 尝试/捕获错误时不执行某些操作

Powershell 尝试/捕获错误时不执行某些操作,powershell,Powershell,我有一个由三行组成的脚本: Invoke-GPUpdate -Computer $Computer -Force -RandomDelayInMinutes 0 Start-Sleep -Seconds 300 Close-UserSession -Computer $Computer -Force -Reboot (Close UserSession是一个函数,它最终只是调用远程计算机上的Win32ShutdownTracker来重新启动它。) 有时,Invoke GPUpdate无法到达目

我有一个由三行组成的脚本:

Invoke-GPUpdate -Computer $Computer -Force -RandomDelayInMinutes 0
Start-Sleep -Seconds 300
Close-UserSession -Computer $Computer -Force -Reboot
Close UserSession
是一个函数,它最终只是调用远程计算机上的Win32ShutdownTracker来重新启动它。)

有时,
Invoke GPUpdate
无法到达目标计算机,并抛出错误。如果它确实抛出错误,我不想执行
启动睡眠
关闭用户会话

本质上,我需要的几乎可以被描述为“尝试/反捕获”。这必须是可能的;问题是。。。我该怎么做


(注意:我不坚持使用Try/Catch;这只是说明我需要的最好方式。)

您将完整脚本放在
Try
中,而
Catch
中没有任何内容;这样,如果第一行出现错误,它将放弃另外两行并转到
catch

只需尝试

try
{
Invoke-GPUpdate -Computer $Computer -Force -RandomDelayInMinutes 0
Start-Sleep -Seconds 300
Close-UserSession -Computer $Computer -Force -Reboot
}
catch 
{
    Write-Output "Remote Computer: $Computer Could not be reached!"
}

你知道,我读了好几遍关于“尝试”和“最终捕获”的
,但我没有意识到这会起作用-所以我几乎不考虑t/C/F。再看一遍,我发现是的,这就是它应该起作用的方式。谢谢