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

能否为SharePoint Online的PowerShell脚本临时忽略权限限制?

SharePoint Online租户管理员无需添加为所有者即可访问所有站点组的方法

方法1:使用App-Only权限(推荐批量操作)

租户管理员可创建具备租户级读取权限的App-Only应用,通过该应用执行脚本,无需修改任何站点的权限配置:

  1. 在Azure AD中注册应用,授予Sites.Read.All的租户级应用权限并完成管理员同意
  2. 使用应用凭据连接PNP:
    Connect-PnPOnline -Url https://<你的租户域名>.sharepoint.com -ClientId <应用客户端ID> -ClientSecret <应用客户端密钥>
    
  3. 后续遍历所有站点执行Get-PnPGroup时,不会触发403错误,因为App-Only应用已获得全租户站点的读取权限。

方法2:临时添加/移除自身为站点集合管理员

租户管理员拥有隐含权限,可直接将自己添加为任意站点的集合管理员,操作完成后再移除,无需成为站点所有者:

  1. 遍历站点时先执行添加命令:
    Set-PnPTenantSite -Identity $site.Url -SiteCollectionAdmin <你的UPN>
    
  2. 连接站点并获取组:
    Connect-PnPOnline -Url $site.Url -Interactive
    $siteGroups = Get-PnPGroup
    
  3. 操作完成后移除自身权限:
    Set-PnPTenantSite -Identity $site.Url -RemoveSiteCollectionAdmin <你的UPN>
    

方法3:临时接管站点权限

通过Request-PnPSiteAccess cmdlet临时获取站点所有者权限,操作完成后可撤销:

# 请求接管站点权限
Request-PnPSiteAccess -Identity $site.Url -Role Owner
# 连接站点并获取组
Connect-PnPOnline -Url $site.Url -Interactive
$siteGroups = Get-PnPGroup
# 撤销接管权限
Revoke-PnPSiteAccess -Identity $site.Url

注:App-Only权限方案无需改动任何站点的权限状态,最适合批量巡检场景;临时添加集合管理员或接管站点的方式需维护权限的添加/移除操作,但均为租户管理员合规操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:31:12