首页 > 解决方案 > 搜索 Azure Runbook 作业的“输入”?

问题描述

我有一个非常简单的问题,这可能是设计使然,但我只是想确保我没有遗漏任何东西......

基本上我们在我的工作中使用了很多运行手册,这导致在自动化帐户下生成了大量的工作。我发现我可以根据创建作业的时间和runbook的名称进行搜索,但是没有办法根据runbook的输入参数进行搜索吗?

这将极大地帮助排除故障,因为当有人说“这些用户是什么时候创建的”或“这个实例什么时候升级的”时,我可以搜索该输入参数并快速回答问题。

也许最好记录所有输入参数,以便可以通过日志分析进行搜索?

谢谢!!

标签: azureazure-runbook

解决方案


欢迎来到堆栈溢出!

是的,目前在 Azure 门户中无法根据运行手册的输入参数进行搜索。这可以在UserVoice / 反馈论坛中作为功能请求提出。负责的 Azure 功能/产品团队将对功能请求的可行性进行分类和检查,并相应地确定优先级。

但是,我相信作为一种解决方法,我们可以通过利用 Az PowerShell cmdlet Get-AzAutomationJob来满足您的要求,如下面的屏幕截图中所述。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

所以要使用的命令如下所示:

Get-AzAutomationJob -AutomationAccountName "<YourAutomationAccountName>" -ResourceGroupName "<YourAutomationAccountResourceGroupName>" | foreach{Get-AzAutomationJob -ResourceGroupName $_.ResourceGroupName -AutomationAccountName $_.AutomationAccountName -Id $_.JobId | ?{$_.JobParameters.GetEnumerator().Where({$_.Value -contains "<KeyValueName>"})}}

如果您想验证 2 个作业参数(一个是键,另一个是值),或者类似下面的内容

Get-AzAutomationJob -AutomationAccountName "<YourAutomationAccountName>" -ResourceGroupName "<YourAutomationAccountResourceGroupName>" | foreach{Get-AzAutomationJob -ResourceGroupName $_.ResourceGroupName -AutomationAccountName $_.AutomationAccountName -Id $_.JobId | ?{$_.JobParameters.GetEnumerator().Where({$_.Value -contains "<KeyValueName>"}) -and $_.JobParameters.GetEnumerator().Where({$_.Key -contains "<KeyName>"})}}

同样,您可能需要稍微调整命令以满足您的需要。


推荐阅读