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

Azure自动化账户托管身份发邮件遇401未授权及AccessToken转换问题

问题排查与解决方案

一、Connect-MgGraph AccessToken类型转换错误

你遇到的Cannot convert the "eyJ0..." value of type "System.String" to type "System.Security.SecureString"错误,是因为-AccessToken参数要求传入SecureString类型,而$token.Token是普通字符串。解决方法:

  • 将字符串令牌转换为SecureString:
# 获取令牌后转换类型
$token = Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com"
$secureToken = ConvertTo-SecureString $token.Token -AsPlainText -Force
Connect-MgGraph -AccessToken $secureToken

二、邮件发送401 Unauthorized错误

邮件发送环节的401问题,结合Azure Automation场景,从以下几点排查:

1. 确认服务主体的权限配置

  • 必须授予Microsoft Graph应用权限的Mail.Send,且已完成管理员同意(委托权限在自动化场景无效)。
  • 检查权限是否正确添加:在Azure AD的应用注册中,确认Mail.Send权限类型为"应用权限",状态为"已授予管理员同意"。

2. 确保令牌包含正确的作用域

获取访问令牌时,要指定Microsoft Graph的资源URL,确保令牌包含Mail.Send权限:

# 正确指定Graph资源,获取包含对应权限的令牌
$token = Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com"

3. 邮件发送的正确调用方式

服务主体没有自己的邮箱,发送邮件时需指定明确的发件人(需确保服务主体有权限代表该用户发送),或直接发送到目标邮箱。示例代码:

$mailParams = @{
    Message = @{
        Subject = " inactive用户报告"
        Body = @{
            ContentType = "html"
            Content = $htmlReport
        }
        ToRecipients = @(
            @{
                EmailAddress = @{
                    Address = "收件人邮箱@domain.com"
                }
            }
        )
    }
    SaveToSentItems = $false
}
# 调用Graph API发送邮件
Send-MgUserMail -UserId "发件人邮箱@domain.com" -BodyParameter $mailParams

注:如果不需要指定发件人,也可以使用Send-MgMail(需对应权限),但部分场景下Send-MgUserMail更稳定。

4. Azure Automation Run As账户配置检查

  • 确认你使用的Azure Automation Run As账户对应的服务主体,就是已授予Mail.Send权限的那个应用注册。
  • 在自动化账户中,确认"连接"配置正确,脚本中正确获取Run As账户上下文:
$connectionName = "AzureRunAsConnection"
$servicePrincipalConnection = Get-AutomationConnection -Name $connectionName
Connect-AzAccount -ServicePrincipal -TenantId $servicePrincipalConnection.TenantId -ApplicationId $servicePrincipalConnection.ApplicationId -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 18:17:51