站点集管理员运行Get-PnPRecycleBinItem报访问拒绝如何解决
1. 模块版本校验
你当前脚本混用了两个独立的SharePoint PowerShell模块,首先调整模块配置:
- 若安装过旧版PnP模块先卸载:
Uninstall-Module -Name SharePointPnPPowerShellOnline -AllVersions -Force
- 安装最新版PnP PowerShell模块(需以管理员身份运行PowerShell):
Install-Module -Name PnP.PowerShell -Force -AllowClobber
2. 修正运行脚本
作为站点集管理员,查询回收站需要明确指定站点集范围,同时如果账户开启了多因素认证,不可用硬编码密码的方式登录,修改后的脚本如下:
$User = "nikita.murashkin@contoso.com" $SiteUrl = "https://contoso.sharepoint.com/sites/contoso" # 优先使用交互登录,适配多因素认证场景 Connect-PnPOnline -Url $SiteUrl -Interactive # 加上 -Identity Site 参数指定查询整个站点集的回收站 $siteRecycleBinCount = (Get-PnPRecycleBinItem -Identity Site).Count Write-Host "站点集回收站总项目数:$siteRecycleBinCount"
如果需要单独查询第二阶段回收站的项目数,可使用如下命令:
$secondStageCount = (Get-PnPRecycleBinItem -Identity Site -SecondStageOnly).Count Write-Host "第二阶段回收站项目数:$secondStageCount"
3. 权限校验
如果仍报错请确认以下配置:
- 登录账户确认为目标站点集的站点集管理员,可进入站点设置 -> 站点集管理员页面核对
- 租户无条件访问策略限制该账户访问PowerShell接口
- 首次使用交互登录时,同意PnP PowerShell申请的必要权限请求
内容的提问来源于stack exchange,提问作者MurashkinNikita
相关产品推荐
相关产品推荐

