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

Azure自动化中使用托管身份执行Connect-ExchangeOnline遇Unauthorized错误求助

问题:Azure自动化账户用托管身份调用Connect-ExchangeOnline报错Unauthorized

问题描述

在Azure自动化账户中使用托管身份运行无人值守脚本,调用Connect-ExchangeOnline命令时触发Unauthorized错误,但该命令在本地机器可正常执行。

我的配置

  • 自动化账户同时配置了系统分配和用户分配托管身份
  • 已安装ExchangeOnlineManagement模块(先后尝试过3.7.1、3.5和3.2版本)
  • 使用的命令:
    Connect-ExchangeOnline -ManagedIdentity -Organization "us.onmicrosoft.com" -ManagedIdentityAccountID "XYZ123"
    
  • 权限配置:用户分配托管身份已获得「Exchange Administrator」和「Exchange Reader」角色

错误信息

UnAuthorized
At C:\usr\src\PSModules\ExchangeOnlineManagement\netFramework\ExchangeOnlineManagement.psm1:755 char:21
+                     throw $_.Exception;
+                     ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], UnauthorizedAccessException
    + FullyQualifiedErrorId : UnAuthorized

已尝试操作

  • 验证身份权限:确认用户分配托管身份已获得必要Exchange角色,但无法在Entra中为系统分配托管身份配置权限
  • 测试不同身份:
    • 仅使用系统分配身份时,错误依旧
    • 移除系统分配身份仅保留用户分配身份时,出现错误提示:

      System identity not found

  • 查阅微软文档和论坛:多数资源建议为系统分配身份添加权限,但无法在Entra ID中找到它;部分帖子提到使用Exchange PowerShell权限,但无清晰分步指南

解决方案

1. 通过Exchange PowerShell为托管身份分配权限

无论系统分配还是用户分配托管身份,都需要在Exchange PowerShell中配置权限,而非仅在Entra ID中设置:

  • 以全局管理员身份连接Exchange Online:
    Connect-ExchangeOnline -UserPrincipalName admin@yourdomain.onmicrosoft.com
    
  • 针对用户分配托管身份,复制其Object ID(Azure门户托管身份资源页获取),执行:
    $miObjectId = "XYZ123" # 替换为你的用户分配托管身份Object ID
    $role = "Exchange Administrator" # 按需替换角色
    New-ManagementRoleAssignment -Role $role -User $miObjectId -RecipientWriteScope "Organization"
    
  • 针对系统分配托管身份,复制自动化账户「标识」页的Object ID,用上述同样命令分配权限

2. 修正命令参数

  • 使用用户分配托管身份时,确保-ManagedIdentityAccountID传入的是托管身份的Client ID或Object ID,而非其他格式的ID
  • 若仅使用用户分配身份,需禁用自动化账户的系统分配身份,同时命令中明确指定用户分配ID,避免脚本默认查找系统身份:
    Connect-ExchangeOnline -ManagedIdentity -Organization "us.onmicrosoft.com" -ManagedIdentityAccountID "你的用户托管身份Client ID/Object ID"
    

3. 适配模块版本

建议使用ExchangeOnlineManagement 3.2.0版本,该版本对Azure自动化环境的兼容性更稳定,可避免高版本可能存在的身份验证适配问题

4. 等待权限生效

权限分配后需等待15-30分钟生效,之后再测试脚本执行

内容的提问来源于stack exchange,提问作者Monkey.D Amith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:03:20