使用网站集应用目录

适用于: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 -UseWebLogin 设置连接。

谨慎

用于创建应用程序目录网站集的帐户,必须是租户级别应用程序目录和目标网站集上的网站集管理员

若要创建网站集应用目录,请使用 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

执行此脚本后,“SharePoint 相关应用”库会添加到网站集,以便用户能够将 SharePoint 加载项和 SharePoint 框架解决方案部署到其中。

禁用网站集应用程序目录

注意

在运行以下脚本前,请先连接SharePoint Online租户运行 SharePoint PowerShell的 Connect-SPOService cmdlet,PnP PowerShell 的Connect-PnPOnline -Url https://<tenant>-admin.sharepoint.com -UseWebLogin 或Microsoft 365 的 CLI m365 login 命令以连接到 Microsoft 365 租户。

若要在网站集中禁用网站集应用目录,请使用 Remove-SPOSiteCollectionAppCatalog cmdlet,同时以 -Site 参数形式传递应在其中禁用应用目录的网站集。 如果有网站集 ID,也可以改用 Remove-SPOSiteCollectionAppCatalogById cmdlet。

注意

尽管采用这样的命名,但 Remove-SPOSiteCollectionAppCatalogRemove-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

安全性

将解决方案部署到网站集应用目录前,网站集管理员应先验证这些解决方案是否符合组织策略的要求。 尽管安装到网站集应用目录中的解决方案只能用于这些特定的网站集,但它们仍可以从租户中的其他网站访问资源。因此,管理员应确保要部署的解决方案能够按预期正常运行。

另请参阅