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

PowerShell调用PartnerCenter Get-PartnerCustomer遇invalid_grant错误求助

解决PartnerCenter PowerShell模块服务主体登录invalid_grant错误

核心问题分析

invalid_grant错误在服务主体(应用密钥/证书)登录场景下,大概率是权限配置不完整或登录方式不正确导致的——交互式登录依赖带MFA的用户身份,而服务主体需要独立的应用级权限+CSP角色授权,和用户MFA无直接关联。

分步解决方法

1. 确认应用权限类型与授权

  • 登录Azure AD门户,找到目标应用注册,进入API权限
  • 移除所有Partner Center的委托权限,添加应用权限(比如Customer.Read.All或Customer.ReadWrite.All)
  • 点击授予管理员同意,确保权限已生效

2. 在Partner Center给服务主体分配CSP角色

仅Azure AD权限不足以访问Partner Center数据,必须补充CSP角色授权:

  • 登录Partner Center门户,进入设置 > 用户和权限 > 用户
  • 点击添加用户,选择应用程序,输入应用ID搜索并选中
  • 分配至少具备客户读取权限的CSP角色(比如管理员代理、全局管理员)

3. 使用正确的服务主体登录命令

不要手动获取AccessToken,直接用模块自带命令完成认证:

# 构造应用凭据对象
$appCredential = New-Object System.Management.Automation.PSCredential -ArgumentList "你的应用ID", (ConvertTo-SecureString "你的应用密钥" -AsPlainText -Force)

# 连接Partner Center
Connect-PartnerCenter -Credential $appCredential -TenantId "你的租户ID" -ApplicationId "你的应用ID"

# 测试获取客户列表
Get-PartnerCustomer

4. 排查其他潜在问题

  • 检查应用密钥是否过期:Azure AD应用注册的客户端密码有有效期,确认未过期或重新生成密钥
  • 验证参数准确性:租户ID/应用ID/密钥不要带多余空格,密钥需完整复制(生成时仅显示一次)
  • 检查条件访问策略:如果租户有强制MFA的规则,需排除该服务主体,或允许其非交互式登录

替代方案:使用证书认证

如果应用密钥方式仍有问题,可尝试更稳定的证书认证:

  1. 在Azure AD应用注册中上传证书公钥
  2. 使用以下命令登录:
Connect-PartnerCenter -ApplicationId "你的应用ID" -CertificateThumbprint "证书指纹" -TenantId "你的租户ID"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 03:55:05