azure - 搜索 Azure Runbook 作业的“输入”?
问题描述
我有一个非常简单的问题,这可能是设计使然,但我只是想确保我没有遗漏任何东西......
基本上我们在我的工作中使用了很多运行手册,这导致在自动化帐户下生成了大量的工作。我发现我可以根据创建作业的时间和runbook的名称进行搜索,但是没有办法根据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>"})}}
同样,您可能需要稍微调整命令以满足您的需要。
推荐阅读
- kubernetes - kubectl:如何获取更详细的日志?
- phpstorm - 提交时自动更改代码,使用 PhpStorm IDE
- python - Python 强制转换导致奇怪的可变性结果
- c++ - 派生类的接口和数据成员
- python - 如何使用python解析json数据?
- 3d - 如何理解点云的完整性?
- jwt - 如何在.Net核心Web API中注销时使JWT令牌过期
- javascript - 防止在 Android/chrome 移动设备上输入文本键盘 [web]
- node.js - Https GET req 在邮递员中运行良好,但不适用于 curl
- reactjs - Antd Select未设置初始值