嗨,我对Powershell很新,但我有一个琐碎的问题。我希望能够判断命令是否已成功完成,这样我就可以向主持人发送有意义的消息。
我正在使用appcmd
命令在IIS中添加绑定。基本上如下:
./appcmd set site /site.name:........................
但我如何检查以确保成功与否?
我认为如果我只是在Write-Host "Successfully added binding"
之后放置appcmd
,那么无论$successful = ./appcmd set site /site.name:........................
是否成功,都会触发。
我猜我需要做类似的事情:
$successful
但是{{1}}似乎是一个包含msg结果的字符串?
感谢任何帮助!干杯
答案 0 :(得分:17)
假设appcmd是一个控制台exe,即使它出错,脚本中的下一行也会执行。
如果要测试EXE是否出错并且EXE使用标准0退出代码表示成功,则只需在调用EXE后立即检查$?
特殊变量。如果是$ true,则EXE返回0退出代码。
如果EXE在退出代码方面是非标准的,则返回成功(可能有多个成功代码),然后检查$LastExitCode
以获得最后一个EXE返回的确切退出代码。