Azure自动化Runbook执行Add-RecipientPermission权限不足问题解决
问题:Azure Automation Runbook中Add-RecipientPermission执行失败
我在Azure Automation中创建了一个Runbook,包含以下PowerShell命令:
Add-MailboxPermission -Identity $shared_mailbox -User $mailbox_user -AccessRights FullAccess -Confirm:$false Write-Output "Granting full access permission..." Add-RecipientPermission -Identity $shared_mailbox -Trustee $mailbox_user -AccessRights SendAs -Confirm:$false Write-Output "Granting full send permission..."
执行时,Add-MailboxPermission可以正常运行,但Add-RecipientPermission抛出如下错误:
|Microsoft.Exchange.Data.Directory.InsufficientPermissionsException|源服务器:xxxx.prod.exchangelabs.com 没有目标DC:xxxx.PROD.OUTLOOK.COM的写入权限。通常表明目标林不是源林的帐户分区。补充信息:访问被拒绝。Active Directory响应:00000005: SecErr: DSID-03152E13, 问题 4003 (INSUFF_ACCESS_RIGHTS), data 0
我已经给服务账号分配了Exchange Admin权限,不清楚第二个命令失败的原因。
解决方案(2025年5月28日更新)
感谢@Rukmini的解答,不过我采用了略有不同的方法,至今已稳定运行近一年。
- 配置Azure/Entra应用的API权限
- 使用证书完成Azure Runbook的身份验证
- 将证书上传至Azure Runbook,并通过以下代码导入使用:
# 导入ExchangeOnlineManagement模块 Import-Module ExchangeOnlineManagement # 从Azure Automation获取证书 $automationCertificate = Get-AutomationCertificate -Name 'Portal-Automation' # 使用证书和租户ID连接Exchange Online Connect-ExchangeOnline -CertificateThumbprint 'cert-thumbprint' -AppId "app-id" -Organization "yourorg.onmicrosoft.com"
问题至此解决,可能遗漏了部分细节步骤。我的使用场景是通过Power Automate工作流调用该Runbook,实现Exchange管理任务自动化。
内容的提问来源于stack exchange,提问作者Abbinzzcr
相关产品推荐
相关产品推荐

