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

Azure Automation中用托管身份连接MgGraph遇Newtonsoft.Json加载错误

解决Azure自动化中Connect-MgGraph的Newtonsoft.Json依赖错误

这个错误的核心原因是Azure自动化账户的沙箱环境里,MgGraph模块需要的Newtonsoft.Json 13.0.0.0程序集未被正确加载或安装,大概率是模块版本冲突或者依赖缺失导致的。以下是几个可行的解决方法:

方法1:安装匹配版本的Newtonsoft.Json模块

  1. 登录Azure门户,进入你的自动化账户
  2. 转到「模块」页面,搜索Newtonsoft.Json
  3. 如果没找到,点击「添加模块」,从PowerShell Gallery安装版本13.0.3(该版本对应程序集版本13.0.0.0)
  4. 如果已有旧版本,先删除再安装指定版本

方法2:同步MgGraph模块到兼容版本

  1. 在自动化账户的「模块」页面,检查Microsoft.Graph模块的版本
  2. 把MgGraph更新到最新稳定版,确保它依赖的Newtonsoft.Json版本是13.x系列,避免版本不匹配

方法3:强制加载指定程序集

如果前两步没用,在代码开头添加加载逻辑,指定Newtonsoft.Json的路径:

# 加载Newtonsoft.Json 13.0.0.0程序集,路径根据实际安装版本调整
Add-Type -Path "C:\Modules\User\Newtonsoft.Json\13.0.3\lib\net472\Newtonsoft.Json.dll"

# 原有连接代码
Connect-AzAccount -Identity
$token = Get-AzAccessToken -ResourceTypeName MSGraph
Connect-MgGraph -AccessToken $token.token

方法4:绕过Az模块直接获取令牌

如果模块依赖问题太棘手,可以直接调用Azure AD的令牌端点拿Graph令牌,完全不依赖Az模块:

$graphResource = "https://graph.microsoft.com/"
$identityEndpoint = $env:IDENTITY_ENDPOINT
$identityHeader = $env:IDENTITY_HEADER

$requestHeaders = @{
    "X-IDENTITY-HEADER" = $identityHeader
}

$tokenResponse = Invoke-RestMethod -Method Get -Uri "$identityEndpoint?resource=$graphResource&api-version=2019-08-01" -Headers $requestHeaders
Connect-MgGraph -AccessToken $tokenResponse.access_token

这个方法直接利用Azure自动化提供的托管身份环境变量请求令牌,避开了模块依赖冲突。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:20:22