适用于:Office 365
使用网站集应用目录,SharePoint 租户管理员可以将管理和部署 SharePoint 加载项和 SharePoint 框架解决方案的权力下放给特定网站。
为什么要使用网站集应用目录
以前,所有加载项和 SharePoint 框架解决方案都必须在租户应用目录内进行集中管理。 虽然租户管理员可以将访问权限委派给组织中的其他人,但已部署的包在所有网站集上都可见。 SharePoint 不支持仅向特定的网站部署加载项和 SharePoint 框架解决方案。
通过引入网站集应用目录,租户管理员可以在特定网站上启用应用程序目录。 启用后,网站集管理员便可以部署只能用于特定网站集的 SharePoint 加载项和 SharePoint 框架解决方案。
下面的架构展示了如何使用网站集应用目录:
在Office 365租户中,你有一个租户应用目录。 部署到此应用目录的解决方案可以安装在租户中的任何网站集中。 租户管理员可以选择在特定网站集上启用网站集应用目录。 在网站集应用目录中部署的解决方案只能安装到特定网站集中。
支持的功能
同时支持 SharePoint 加载项和 SharePoint 框架包
在网站集应用程序目录中,就像在租户应用程序目录中一样,可以部署 SharePoint 加载项和SharePoint 框架解决方案 (.sppkg) 。
在解决方案包中添加资产
可以将包含资产SharePoint 框架解决方案包部署到网站集应用目录。 包含的资产会部署到与网站集应用目录位于同一网站集的预配置文档库中。 如果配置了 Office 365 公共 CDN,资产将从 CDN 提供。 否则,资产将直接从文档库提供。
租户范围内的部署
当用户将支持租户范围内的部署的 SharePoint 框架解决方案部署到网站集应用目录时,系统便会提示是否要将此解决方案设置为对组织中的所有网站都可用。 尽管有提示,如果选中此框,解决方案便会立即只对应用目录所在的同一网站集可用。 组织中的其他网站集将无法使用该解决方案。 如果不检查此选项,则必须在网站上显式安装解决方案,然后才能使用它。
当前限制
配置和管理网站集应用目录
可以使用 SharePoint Online 命令行管理程序来配置和管理网站集应用目录。
注意
请确保已安装 SharePoint Online 命令行管理程序(2017 年 11 月版本或更高版本),然后才能在租户中管理网站集应用程序目录。
另外,也可以使用 Microsoft 365 的CLI 来管理 SharePoint 网站集应用程序目录。 Microsoft 365 的 CLI 是一个跨平台命令行接口,可在任何平台上使用,包括 Windows、macOS 和 Linux。 使用 PnP PowerShell创建应用程序目录或删除应用程序目录也是使用 Windows 时的一个选项。
注意
PnP PowerShell 是一种开放源代码解决方案,其中包含为其提供支持的活动社区。 没有用于 Microsoft 开放源代码工具支持的 SLA。
注意
CLI for Microsoft 365是一种开放源代码解决方案,其中包含为其提供支持的活动社区。 没有用于 Microsoft 开放源代码工具支持的 SLA。
创建网站集应用程序目录
注意
如果使用的是 SharePoint Online PowerShell,请先运行 Connect-SPOService
cmdlet 连接到 SharePoint Online 租户,再运行下面的脚本。 此外,请确保已在租户中创建租户应用目录, (多地理位置客户需要为每个想要使用网站集应用目录) 的地理位置创建租户应用目录。 否则,此 cmdlet 会失败,并显示以下错误:
Cannot invoke method or retrieve property from null object. Object returned by the
following call stack is null. "TenantAppCatalog
RootWeb
GetSiteByUrl
new Microsoft.Online.SharePoint.TenantAdministration.Tenant()
"
或者,如果使用的是 Microsoft 365的CLI,则必须先运行 m365 login
命令连接到 Microsoft 365 租户。 使用 PnP PowerShell 时,可以使用Connect-PnPOnline -Url https://<tenant>-admin.sharepoint.com -Interactive -ClientId <your-client-id>
已注册的 Azure AD (Entra ID) 应用程序 () 来设置连接。
警告
用于创建应用程序目录网站集的帐户必须是租户级应用程序目录和目标网站集的网站集管理员
若要创建网站集应用目录,请使用 Add-SPOSiteCollectionAppCatalog
cmdlet,将应在其中创建应用目录的网站集作为 -Site
参数传递。
Add-SPOSiteCollectionAppCatalog -Site https://contoso.sharepoint.com/sites/marketing
或者,在连接到 SharePoint Online 管理员站点后,使用 PnP PowerShell 将站点应用程序目录功能添加到你的站点:
Add-PnPSiteCollectionAppCatalog -site https://contoso.sharepoint.com/sites/marketing
或者,如果使用 Microsoft 365 的 CLI,请运行 spo site appcatalog add
命令:
m365 spo site appcatalog add --siteUrl https://contoso.sharepoint.com/sites/marketing
执行此脚本后,Apps for SharePoint 库将添加到网站集,你将能够在其中部署 SharePoint 加载项和SharePoint 框架解决方案。
禁用网站集应用程序目录
注意
在运行以下脚本之前,请使用Connect-SPOService
适用于 SharePoint Online PowerShell 的 cmdlet 连接到 SharePoint Online 租户,Connect-PnPOnline -Url https://<tenant>-admin.sharepoint.com -Interactive -ClientId <your-client-id>
使用已注册的 Azure AD (Entra ID) 应用程序) 连接到 PnP PowerShell (,或使用 cli for Microsoft 365 的 m365 登录命令连接到 Microsoft 365 租户。
若要在网站集中禁用网站集应用程序目录,请使用 Remove-SPOSiteCollectionAppCatalog
cmdle,t 传递应禁用应用程序目录的网站集作为 -Site
参数。 如果有网站集 ID,也可以改用 Remove-SPOSiteCollectionAppCatalogById
cmdlet。
注意
尽管采用这样的命名,但 Remove-SPOSiteCollectionAppCatalog
和 Remove-SPOSiteCollectionAppCatalogById
cmdlet 并不会从网站集中删除网站集应用目录。 相反,它们会禁用网站集应用程序目录,这样就无法在其中部署解决方案,也无法使用其中部署的任何解决方案。
Remove-SPOSiteCollectionAppCatalog -Site https://contoso.sharepoint.com/sites/marketing
或者,在连接到 SharePoint Online 管理员站点后,使用 PnP PowerShell 从你的站点删除站点应用程序目录功能:
Remove-PnPSiteCollectionAppCatalog -site https://contoso.sharepoint.com/sites/marketing
或者,如果使用的是 Microsoft 365 的 CLI,请运行 spo site appcatalog remove
命令
m365 spo site appcatalog remove --url https://contoso.sharepoint.com/sites/marketing
执行此脚本后, SharePoint 应用 库仍将在你的网站集中可见,但你将无法部署或使用其中部署的任何解决方案。
注意事项
治理
要列出租户中所有已启用网站集应用目录的网站集,请使用 URL https://<tenant-app-catalog-URL>/Lists/SiteCollectionAppCatalogs/AllItems.aspx
。
安全性
将解决方案部署到网站集应用目录前,网站集管理员应先验证这些解决方案是否符合组织策略的要求。 尽管网站集应用程序目录中安装的解决方案只能在这些特定网站集中使用,但它们可能从租户中的其他网站访问资源,因此管理员应确保他们即将部署的解决方案按预期工作。