每隔一段时间,我们就会发现 Azure 自动化 Runbook 失败并出现以下错误:
Get-AutomationPSCredential : The term 'Get-AutomationPSCredential' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is
correct and try again.
At line:1 char:9
+ $cred = Get-AutomationPSCredential -Name SqlJobRunner
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-AutomationPSCredential:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
我们的不同运行手册似乎随机出现此错误。
Get-AutomationPSCredential
是 Azure 提供的模块。这不是我们的代码,而是微软的。
有时,它似乎只是“走开”。
那么这里发生了什么?Azure 自动化基础设施是否在不合时宜的时间重新加载或更新模块?我的印象是,一旦安排了 Runbook,相关模块就会“绑定”到 Runbook,因此它们会在需要时出现。
为什么会发生这种情况,防止失败的最佳方法是什么?