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

使用CBA连接SharePoint后执行Get-PnPTenant遇未授权错误求助

排查Connect-PnPOnline CBA模式下Get-PnPTenant未授权错误的步骤

以下是针对该问题的具体排查点:

  • 确认连接命令的上下文正确性
    Get-PnPTenant是租户级操作,必须连接到SharePoint管理员中心站点,而非普通站点。正确的连接命令格式应为:

    Connect-PnPOnline -Url "https://<你的租户名>-admin.sharepoint.com" -ClientId "<你的应用ID>" -ClientSecret "<你的应用密钥>" -Tenant "<你的租户名>.onmicrosoft.com"
    

    若之前连接的是普通站点(如https://<你的租户名>.sharepoint.com/sites/xxx),即便应用有管理员权限,也会因上下文错误触发未授权提示。

  • 验证应用权限的范围与状态

    • 确保应用在Azure AD中被授予租户级SharePoint权限(如Tenant.Read.All、Tenant.ReadWrite.All或Sites.FullControl.All),且权限状态为管理员已同意(非用户同意)。
    • 确认应用被分配了Azure AD中的SharePoint管理员角色——注意是Azure AD的角色分配,而非仅在SharePoint管理中心添加的管理员。
  • 检查PnP PowerShell版本兼容性
    旧版本PnP模块可能存在权限映射bug,执行以下命令更新至最新稳定版:

    Update-Module -Name PnP.PowerShell -Force
    

    更新完成后重新连接测试。

  • 确认应用密钥有效性
    检查Azure AD中该应用的客户端密钥是否过期,或是否使用了已删除的密钥。若密钥无效,重新生成密钥并更新连接命令中的-ClientSecret参数。

  • 测试权限生效状态
    管理员同意权限后可能存在几分钟延迟,等待片刻后重试。也可先测试其他租户级命令(如Get-PnPTenantSite):若同样报错,说明是租户上下文或权限配置问题;若该命令能正常执行,说明Get-PnPTenant需更具体的权限(如Directory.Read.All)。

内容的提问来源于stack exchange,提问作者Ananda Bhavani Gedela

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 20:24:53