You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure自动化Runbook获取过期密钥证书报错问题咨询

解决Azure自动化Runbook执行应用密钥/证书查询脚本报错的问题

1. 检查自动化账户托管身份权限

  • 给自动化账户的系统分配托管身份添加Application Administrator或Directory Reader角色(优先选Directory Reader遵循最小权限原则,该角色足够读取应用注册的密钥和证书信息)。
  • 操作路径:Azure门户 → 自动化账户 → 左侧「标识」→ 系统分配 → 点击「Azure role assignments」→ 添加角色分配,选择对应Azure AD角色(注意是Azure AD角色,而非订阅级角色)。

2. 修正脚本的登录逻辑

Runbook需使用托管身份而非本地交互式登录,替换本地的Connect-AzAccount命令:

# 系统分配托管身份登录
Connect-AzAccount -Identity

若使用用户分配托管身份,需指定ClientId:

Connect-AzAccount -Identity -AccountId <用户分配托管身份的ClientId>

3. 同步Az模块版本

  • 确保自动化账户内的Az模块(如Az.Resources、Az.Accounts)版本与本地一致。本地可通过Get-Module Az.*查看版本。
  • 操作路径:Azure门户 → 自动化账户 → 左侧「模块」→ 检查Az系列模块版本,若比本地旧,点击「更新模块」选择匹配版本。更新后建议重启Runbook作业。

4. 验证脚本命令兼容性

旧版本Az模块可能不支持部分参数,比如Get-AzADAppCredential的-Type参数,需调整脚本适配:

# 获取已过期/即将过期的密钥
$secrets = Get-AzADAppCredential -ApplicationId $app.AppId | Where-Object { $_.EndDate -le (Get-Date).AddDays(30) }
# 获取已过期/即将过期的证书
$certs = Get-AzADAppCredential -ApplicationId $app.AppId | Where-Object { $_.Type -eq "Asymmetric" -and $_.EndDate -le (Get-Date).AddDays(30) }

5. 查看详细作业日志定位问题

在自动化账户的Runbook作业中查看完整错误信息:

  • 操作路径:Azure门户 → 自动化账户 → 左侧「Runbook」→ 目标Runbook → 「作业」→ 选择失败作业 → 查看「输出」「错误」标签页,确认是权限缺失、命令不存在还是参数错误等具体问题。

内容的提问来源于stack exchange,提问作者Manju S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 06:19:56