![如何测试 powershell 中的命令失败?](https://linux22.com/image/1603078/%E5%A6%82%E4%BD%95%E6%B5%8B%E8%AF%95%20powershell%20%E4%B8%AD%E7%9A%84%E5%91%BD%E4%BB%A4%E5%A4%B1%E8%B4%A5%EF%BC%9F.png)
我们在工作中使用一个名为 tectia ssh 的程序。它在 Windows 上启用了 ssh。
用法是
SSHG3 server02 "arp -a"
它将arp -a
在 server02 上运行并给我结果。
嗯,有时 SSH 守护进程没有运行或者被冻结,所以我无法 ssh 进入。但由于这不是 Windows 的本机命令,所以我不知道如何测试它。
当连接失败时,它会说无法建立连接。
但我不知道该如何操作。我尝试这样做是$test = sshg3 server05
因为现在那台机器不允许连接。
我没有得到任何控制台输出,并且我write-host $test
得到的是一个空字段。它也没有对象属性。
我希望做类似的事情
if ($test.Text -contains 'failed'){
write-host -foreground red "Connection failed"
}
答案1
调用命令后检查$LASTEXITCODE
失败代码。非零通常表示错误。有时会根据失败类型的数量出现多个错误代码。或者,如果您喜欢更花哨的东西,您可以使用包装函数,就像 VSCode 团队所做的那样。