powershell命令返回值

    最近做一个项目用到powershell的加入域命令,测试时发现ip冲突了,加入域失败,但程序竟然显示成功。原来是代码中有判断命令的返回值,一般命令正确执行返回0,失败返回非0值。但加入域失败了依然返回0,非常的郁闷!

    最后google到几篇老外的帖子,找到相关的解决办法。

    powershell -ExecutionPolicy Remoteive -Command "& {e:\abc.ps1; exit $LastExitCode }"

    使用以上的命令格式,便可以通过echo %errorlevel%看到命令的返回值了。但这个返回值还必须要在脚本中显式地指定,否则还会返回0,如下:

    $objReturn = add-computer -DomainName Domain01 -Server Domain01\DC01 -passthru

    if($objReturn.HasSucceeded)
   {
        exit 0
   }
   else
   {
        exit 1
   }

posted @ 2013-01-14 00:11  涂墨留香  阅读(8727)  评论(0编辑  收藏  举报