使用 if 条件检查命令执行状态

Checking command execution status using if condition

我在 Windows10.

上使用 Powershell 5.1 版

我在下面的代码中尝试检查执行状态,如果有效则输出成功,否则失败。

当我 运行 代码时,代码可以运行,但输出失败。

代码如下

if(Enable-LocalUser -Name TEST)
{
    Write-Host "Success"
}
else
{
    Write-Host "Failed"
}

如何正确确认命令执行?请帮忙

你可以用$?检查最后一个powershell命令是否成功执行:

Enable-LocalUser -Name TEST
if($?)
{
    Write-Host "Success"
}
else
{
    Write-Host "Failed"
}

如果您需要异常详细信息,那么我建议尝试捕获:

try{
    Enable-LocalUser -Name TEST2 -ErrorAction Stop
    #The below line will only run if enable-localuser did not generate any exception
    Write-Host "Success"
}
catch
{
    Write-Host "Failed,Due to :"
    $_.exception
}

$?包含最后一个操作的执行状态。如果上次操作成功则它包含 TRUE,如果失败则包含 FALSE。(Excerpt from: Powershell Automatic Variables Documentation)