确定Powershell命令是否成功

时间:2010-10-20 23:39:17

标签: powershell logic appcmd

嗨,我对Powershell很新,但我有一个琐碎的问题。我希望能够判断命令是否已成功完成,这样我就可以向主持人发送有意义的消息。

我正在使用appcmd命令在IIS中添加绑定。基本上如下:

./appcmd set site /site.name:........................

但我如何检查以确保成功与否?

我认为如果我只是在Write-Host "Successfully added binding"之后放置appcmd,那么无论$successful = ./appcmd set site /site.name:........................是否成功,都会触发。

我猜我需要做类似的事情:

$successful

但是{{1}}似乎是一个包含msg结果的字符串?

感谢任何帮助!干杯

1 个答案:

答案 0 :(得分:17)

假设appcmd是一个控制台exe,即使它出错,脚本中的下一行也会执行。

如果要测试EXE是否出错并且EXE使用标准0退出代码表示成功,则只需在调用EXE后立即检查$?特殊变量。如果是$ true,则EXE返回0退出代码。

如果EXE在退出代码方面是非标准的,则返回成功(可能有多个成功代码),然后检查$LastExitCode以获得最后一个EXE返回的确切退出代码。