在为tableau服务器$?
命令执行时,我遇到了关于power-shell特殊变量“tabadmin
”的问题。
简短的例子:
如果我运行以下内容:
tabadmin backup
Write-Output $?
它将从PowerShell ISE和命令行工具/任务调度程序(True
)返回正确的值,但如果我运行以下内容:
tabadmin asldkfnaslkd
Write-Output $?
我希望它会以错误退出并且“$?”如果是False,它是从PowerShell ISE 执行此操作,但不是从命令行工具/任务计划程序执行此操作。在命令行工具和任务计划程序中,我得$?
为True
,这非常奇怪。
是否有人已经有这个问题,一些提示将不胜感激。
谢谢
答案 0 :(得分:2)
$?
包含上一个操作的执行状态。它包含TRUE 如果最后一次操作成功,如果失败则为FALSE。
在这两种情况下都是True
,因为PowerShell能够成功执行命令:找到并启动可执行文件。
您真正想知道的是退出代码,要获得它,您应该使用$LastExitCode
。它包含已运行的最后一个基于Windows的程序的退出代码。
检查PS ISE / PS控制台中的退出代码是否相同,这可能会对他们的行为有所了解。