通过 PnP PowerShell 获取 SharePoint Online 站点权限
Getting SharePoint Online site permissions via PnP PowerShell
我通过 Register-PnPAzureADApp
注册了一个应用程序注册,它具有应用程序级别 Sites.FullControl.All
权限并且管理员也同意了。
然后我使用此应用程序注册连接:Connect-PnPOnline -ClientId xxx -Url https://tenant.sharepoint.com" -Tenant tenant.onmicrosoft.com -CertificatePath 'path\to\cert.pfx
。这也成功了。
我的最终目标是使用 Sites.Selected
权限注册另一个应用程序,这样我就可以将其限制在特定站点。在此之前,如果我尝试通过 Get-PnPAzureADAppSitePermission -Site https://tenant.sharepoint.com/sites/sitename
查看网站的现有权限,它会出错:
Get-PnPAzureADAppSitePermission: {"error":{"code":"accessDenied","message":"Access denied",...
如果我也尝试通过 Grant-PnPAzureADAppSitePermission
设置权限,情况相同。
我是不是漏掉了什么?
谢谢,
拉赫什
基于 Get-PnPAzureADAppSitePermission document,所需的权限是 Microsoft Graph API:Sites.FullControl.All 而不是 SharePoint 权限。
因此您应该在 AAD 应用程序中添加此权限。
我通过 Register-PnPAzureADApp
注册了一个应用程序注册,它具有应用程序级别 Sites.FullControl.All
权限并且管理员也同意了。
然后我使用此应用程序注册连接:Connect-PnPOnline -ClientId xxx -Url https://tenant.sharepoint.com" -Tenant tenant.onmicrosoft.com -CertificatePath 'path\to\cert.pfx
。这也成功了。
我的最终目标是使用 Sites.Selected
权限注册另一个应用程序,这样我就可以将其限制在特定站点。在此之前,如果我尝试通过 Get-PnPAzureADAppSitePermission -Site https://tenant.sharepoint.com/sites/sitename
查看网站的现有权限,它会出错:
Get-PnPAzureADAppSitePermission: {"error":{"code":"accessDenied","message":"Access denied",...
如果我也尝试通过 Grant-PnPAzureADAppSitePermission
设置权限,情况相同。
我是不是漏掉了什么?
谢谢, 拉赫什
基于 Get-PnPAzureADAppSitePermission document,所需的权限是 Microsoft Graph API:Sites.FullControl.All 而不是 SharePoint 权限。
因此您应该在 AAD 应用程序中添加此权限。