Powershell REG QUERY不会将值返回为0或1但是在microsoft页面中会提到如果成功则返回值为0 else 1

时间:2016-12-12 12:24:32

标签: cmd

REG QUERY'HKLM \ Software \ policies \ Microsoft \ Windows NT'/ f DCOM / k

我需要成功或失败的结果(0或1)。

在下面的链接中提到成功然后将值返回为0,否则为1。

https://technet.microsoft.com/en-us/library/cc742028(v=ws.11).aspx

但我没有得到指定的结果。

我们如何获得所需的输出。

1 个答案:

答案 0 :(得分:1)

所需的退出状态存储在errorlevel环境变量中。您可以通过读取其值

来测试它
reg query "HKLM\Software\policies\Microsoft\Windows NT" /f DCOM /k
echo %errorlevel%

或者您可以使用本机if errorlevel命令来检查

    reg query "HKLM\Software\policies\Microsoft\Windows NT" /f DCOM /k
    if errorlevel 1 (
        echo FAILED
    ) else ( 
        echo OK
    )

注意:请记住,对于大于或等于if errorlevel n的任何errorlevel值,n将被评估为true,因此应检查从较大值到较低值。

修改:我必须视而不见powershell

reg query "HKLM\Software\policies\Microsoft\Windows NT" /f DCOM /k
echo $LastExitCode

或者,在您只测试成功/失败的情况下,您可以使用$?

reg query "HKLM\Software\policies\Microsoft\Windows NT" /f DCOM /k
echo $?

在这种情况下,您不会检索0/1值,而是True/False