在 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-AzContext 或 az account set 命令与 -DefaultProfile 参数一起使用。 许多命令提供一个订阅参数,该参数允许使用与当前订阅不同的订阅。登录到 Microsoft Azure 门户。 找到要使用的资源,并检查资源名称、资源组和订阅。 |
如果这些解决方案都无法解决问题,请参阅 Runbook 问题疑难解答。
注释
在打开案例之前,请按照打开 Azure 自动化案例时要收集的数据中的步骤进行操作。 此步骤将有助于我们尽快解决你的案例。