我需要测试远程计算机的三种可能状态:联机状态、无RPC服务器状态或无响应状态。当远程在线但RPC服务器不可用时,我使用try-catch块捕获不终止的条件。我理解为什么下面的代码不返回not的状态,但我不知道该如何进行。任何帮助都是非常感谢的。
$Status = ""
$hostname = Read-host("Enter Computer Name")
if (test-connection $hostname -Count 1 -ErrorAction SilentlyContinue){
$Status = "Online"
Try {
$x = gwmi -Class win32_ComputerSystem -ComputerName $hostname -ErrorAction Stop
}
Catch{
$Status = "No RPC"
Continue
}
}
Else{
$Status = "No Response"
}
$Status发布于 2016-12-22 15:44:06
如果您不需要在函数中执行任何其他处理,那么根本没有理由使用$Status变量。只需在您的Return "No RPC"块中执行Catch (为了一致性,我也会在Else中执行相同的操作,但这完全取决于您的喜好)。
https://stackoverflow.com/questions/41286500
复制相似问题