该命令在做什么? (PowerShell $?)

时间:2019-06-06 10:28:59

标签: powershell

有人知道这个IF命令在做什么吗?

Connect-SPConfigurationDatabase -DatabaseName "$configDB" -Passphrase $secPhrase -DatabaseServer "$dbServer" -DatabaseCredentials $dbcreds -ErrorAction SilentlyContinue
    If (-not $?)
    {
        Write-Host -ForegroundColor White " - No existing farm found.`n - Creating config database `"$configDB`"..." }

我推测这是替代的选择:

 Try { Do-Something -ea Stop }
 Catch { Write-host $_ }

但这只是猜测。 我以前从未见过这样的东西,而且它并不会在我继承的脚本中只出现一次。它让我马上离开!

谢谢

1 个答案:

答案 0 :(得分:3)

$?是最后执行的命令的错误状态的自动变量。参见Get-Help about_Automatic_Variables

  

包含上一个操作的执行状态。如果最后一次操作成功,则包含TRUE;如果失败,则包含FALSE。