PowerShell脚本特殊变量“$”&引用;为Tableau tabadmin命令返回不同的值
在为tableau服务器执行tabadmin命令时,power shell特殊变量“PowerShell脚本特殊变量“$”&引用;为Tableau tabadmin命令返回不同的值,powershell,backup,tableau-api,Powershell,Backup,Tableau Api,在为tableau服务器执行tabadmin命令时,power shell特殊变量“$?”遇到一些问题 简短示例: 如果我运行以下命令: tabadmin backup Write-Output $? 它将从PowerShell ISE和命令行工具/任务计划程序返回正确的值,即True,但如果我运行以下命令: tabadmin asldkfnaslkd Write-Output $? 我希望它会以错误退出,如果“$?”为假,它会从PowerShell ISE执行此操作,但不会从命令行
$?
”遇到一些问题
简短示例:
如果我运行以下命令:
tabadmin backup
Write-Output $?
它将从PowerShell ISE和命令行工具/任务计划程序返回正确的值,即True
,但如果我运行以下命令:
tabadmin asldkfnaslkd
Write-Output $?
我希望它会以错误退出,如果“$?”为假,它会从PowerShell ISE执行此操作,但不会从命令行工具/任务调度程序执行此操作。在命令行工具和任务调度器中,我得到了$?
作为True
,这非常奇怪
如果有人已经有这个问题,一些提示将不胜感激
谢谢$?
是:
$?
包含上次操作的执行状态。它包含真实的
如果上次操作成功,则返回FALSE
在这两种情况下都是True
,因为PowerShell能够成功执行您的命令:找到并启动可执行文件
您真正想知道的是退出代码,要获得它,您应该使用$LastExitCode
。它包含上次运行的基于Windows的程序的退出代码
在PS ISE/PS console中检查此退出代码是否相同,这可能有助于了解他们的行为。在这两种情况下都返回0,我认为tabadmin命令有问题,它没有返回正确的退出代码。我现在不能说没有我的工作计算机,但我怀疑“tabadmin blah”将导致提供帮助信息(因为“blah”不是可识别的tabadmin命令),并且将返回TRUE,因为操作在技术上成功。试试看?我有一个关于tableau的案例,他们似乎用新版本解决了这个问题