排查 Azure 自动化中 Runbook 执行时的错误代码问题

在 Azure 自动化中使用 Runbook 时,可能会因运行时或 PowerShell 异常或特定错误消息而遇到问题。 本文列出了一些问题,并提供解决方案。

注释

Azure Automation 支持恢复在过去 29 天内删除的这些 runbooks。 可以通过在自动化帐户中将 PowerShell 脚本作为作业运行来还原已删除的 Runbook。 有关详细信息,请参阅 还原已删除的运行手册

排查错误消息

查看下表以解决与 Runbook 执行相关的错误消息:

错误 DESCRIPTION 解决方案
无法在西欧区域创建新的自动化作业。 此问题是由于西欧区域中自动化服务的可伸缩性限制导致的。 若要解决此问题,请按照 “无法在西欧区域创建新的自动化作业”中的步骤作。
The subscription cannot be found. 当 Runbook 不使用托管标识访问 Azure 资源时,可能会出现此问题。 若要解决此问题,请按照 找不到 Azure 订阅中的步骤作。
Strong authentication enrollment is required. 如果对 Azure 帐户设置了多重身份验证,则无法使用 Microsoft Entra 用户向 Azure 进行身份验证。 若要解决此问题,请参阅 身份验证到 Azure 失败,因为启用了多重身份验证
Runbook 失败并显示“无权限”或其他某种错误形式。 托管标识对 Azure 资源的权限可能与当前帐户不同。 请确保你的托管身份有权访问脚本中使用的任何资源
错误:“429: 当前的请求速率过大。 请重试。” 从包含许多冗长日志流的 Runbook 检索作业输出时,可能会出现此错误。 若要解决此错误,请参阅 请求速率过大
400 Bad Request. 出现“400 错误请求”错误的原因有多种。 首先,验证 Runbook 是否在 Azure 自动化之外工作。 通常,Runbook 代码不适用于此错误,原因如下:

- 缺少值。
- 传递的值不正确。
- 正在使用的旧版模块。
- 正在禁用的引用资源;例如,Runbook 调用已禁用或过期的 Webhook。
若要解决此错误,请参阅 调用 Webhook 时的 400 错误请求状态
Resource not found. 检查为资源提供的值。 要检查的三个值为:

- 资源名称
- 资源组名称
- 订阅

确认 Runbook 在包含资源的订阅中具有权限。 若要更改订阅,可以将 Set-AzContextaz account set 命令与 -DefaultProfile 参数一起使用。 许多命令提供一个订阅参数,该参数允许使用与当前订阅不同的订阅。
登录到 Microsoft Azure 门户。 找到要使用的资源,并检查资源名称、资源组和订阅。

如果这些解决方案都无法解决问题,请参阅 Runbook 问题疑难解答

注释

在打开案例之前,请按照打开 Azure 自动化案例时要收集的数据中的步骤进行操作。 此步骤将有助于我们尽快解决你的案例。

参考文献

联系我们以获得帮助

如果您有任何疑问或需要帮助,可以创建支持请求,或咨询Azure社区支持。 您还可以向Azure反馈社区提交产品反馈。