我想打印出当前运行的Runbook的名称。
"Printing runbook name" $MyInvocation.MyCommand.Name "Printing call stack info" $MyInvocation.MyCommand
字符串
上面的不起作用,只是返回空白。还有人这样做吗?谢谢
xqk2d5yq1#
$Myinvocation自动变量主要包含给定MS Doc中详细描述的当前调用堆栈信息。请确保您没有在内联脚本中使用它。因为$MyInvocation在InlineScript块中不可用,所以您不能在InlineScript中使用它。有时候,如果您在自动化帐户中使用PowerShell函数脚本和PowerShell工作流时沿着它就不起作用了。还要检查您是否将PowerShell版本更新到最新版本。我在我的自动化环境中尝试了下面的命令,并能够检索到当前的Runbook名称,如图所示。
$Myinvocation
$MyInvocation
InlineScript
$MyInvocation.MyCommand.Name
的数据如果问题仍然存在,请尝试使用以下替代方法使用Get-AzAutomationJob命令。您将能够在JobID的帮助下检索Runbook名称,如下所述。
Get-AzAutomationJob
JobID
$runbook=Get-AzAutomationJob -AutomationAccountName "newauto" -ResourceGroupName "xxxxx" -Id "04465b4a-3081-4851-b055-7ce540e6af9a" write-output $runbook.RunbookName
型
1条答案
按热度按时间xqk2d5yq1#
$Myinvocation
自动变量主要包含给定MS Doc中详细描述的当前调用堆栈信息。请确保您没有在内联脚本中使用它。因为$MyInvocation
在InlineScript
块中不可用,所以您不能在InlineScript
中使用它。有时候,如果您在自动化帐户中使用PowerShell函数脚本和PowerShell工作流时沿着它就不起作用了。还要检查您是否将PowerShell版本更新到最新版本。
我在我的自动化环境中尝试了下面的命令,并能够检索到当前的Runbook名称,如图所示。
字符串
的数据
如果问题仍然存在,请尝试使用以下替代方法使用
Get-AzAutomationJob
命令。您将能够在JobID
的帮助下检索Runbook名称,如下所述。型