O que é $? um apelido para em Powershell?

Dentro de um script que me foi mostrado hoje, estava a linha:

If ($?) {
#do some stuff
}

Eu nunca vi o sinal de cifrão com o apelido de $? antes e não consigo determinar via Google para que serve.

Quando eu o executo em uma janela do PowerShell, ele geralmente retorna True, mas ocasionalmente retorna False. Meus testes pareciam sugerir que ele retorna False quando o código que o precede é executado com erro (e dentro do contexto do script que eu vi isso pode fazer sentido), então essa é talvez uma maneira alternativa de lidar com uma tentativa. cenário.

Exemplo:

PS C:\Users\me> $?
True
PS C:\Users\me> $?
True
PS C:\Users\me> blah
blah : The term 'blah' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ blah
+ ~~~~
+ CategoryInfo          : ObjectNotFound: (blah:String) [],         CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

PS C:\Users\me> $?
False
PS C:\Users\me> $?
True

Alguém pode verificar para mim se esse é o caso ou se serve a algum outro propósito?

questionAnswers(1)

yourAnswerToTheQuestion