SharePoint Online:如何创建网站集应用程序目录?
要求:在 SharePoint Online 中启用网站集应用程序目录。
如何在 SharePoint Online 中创建网站集应用程序目录?
SharePoint Online 中的应用程序目录是一个中央存储库,所有 Office 365 租户网站都在其中安装和访问应用程序。网站集应用程序目录允许您配置特定于网站集的应用程序目录。启用后,网站集管理员可以部署仅在该特定网站集中可用的 SharePoint 应用程序/加载项和 SPFx 解决方案。这意味着应用程序的实例只能在网站集上使用,其中应用程序将添加到各自的网站集应用程序目录中。网站集应用程序目录通常用于 SharePoint 应用程序的分散和范围限制。
何时使用网站集应用程序目录?
在以下场景中,租户管理员可以在特定站点上启用应用程序目录。
- 当您希望某些解决方案仅在特定站点中可用时 - 您可以将应用程序部署在网站集应用程序目录中,以防止它们在租户中的所有站点上可用。
- 您正在开发一个应用程序,并且您希望该应用程序仅在开发站点内可用,直到它准备就绪。或者,如果您想测试应用程序而不使其对整个租户可见。
- 您希望在租户上安装多个版本的加载项/应用程序。
- 您想要减轻一些责任或控制访问租户应用程序目录的权限 - 您可以委派 SharePoint 加载项/应用程序的管理,以便可以在自己的网站集中上传 SPFx 解决方案,而无需打扰租户管理员。
如您所见,加载项/应用程序或 SPFx 解决方案可以直接上传到租户应用程序目录并在整个租户网站集中可用,也可以将它们上传到特定网站集应用程序目录,并且可供租户使用。仅特定网站集。
SharePoint Online:使用 PowerShell 创建网站集应用程序目录
我们可以使用此 PnP PowerShell 脚本创建 SharePoint Online 网站集应用程序目录。以租户管理员身份运行此脚本。在继续之前,请确保您拥有“租户应用程序目录”网站的“租户管理员”权限和网站集管理员权限。否则,你将面临
Add-PnPSiteCollectionAppCatalog:必须具有管理网站权限或者是租户管理员才能在网站集应用程序目录允许列表中添加或删除网站”错误!
使用 PowerShell 在 SharePoint Online 网站集中启用应用程序目录
以下是用于在 SharePoint Online 中添加网站集应用程序目录的 PnP PowerShell。
#Parameters
$TenantAdminURL = "https://crescent-admin.sharepoint.com"
$SiteURL = "https://crescent.sharepoint.com/sites/Dev"
#Connect to Tenant Admin
Connect-PnPOnline -Url $TenantAdminURL -Credentials (Get-Credential)
#Enable site collection app catalog
Add-PnPSiteCollectionAppCatalog -Site $SiteURL
执行此脚本后,您应该在网站集的网站内容页面上看到“SharePoint 应用程序”。
我们可以使用 PnP PowerShell 获取启用了网站集应用程序目录的所有网站:
$TenantURL = "https://Crescent.sharepoint.com/"
#Connect to the Tenant
Connect-PnPOnline -Url $TenantURL -Interactive
#Get the Tenant App Catalog
$AppCatalog = Get-PnPTenantAppCatalogUrl
Connect-PnPOnline -Url $AppCatalog -Interactive
#Get All Sites where Site Collection App Catalog is enabled
$ListItems = Get-PnPListItem -List "Site Collection App Catalogs"
ForEach($Item in $ListItems){
Write-host $Item.FieldValues.Item("SiteCollectionUrl")
}
使用 PowerShell 禁用网站集应用程序目录
使用此 PnP PowerShell 从您的站点中删除站点应用程序目录功能。
#Parameters
$TenantAdminURL = "https://crescent-admin.sharepoint.com"
$SiteURL = "https://crescent.sharepoint.com/sites/Dev"
#Connect to Tenant Admin
Connect-PnPOnline -Url $TenantAdminURL -Credentials (Get-Credential)
#disable site collection app catalog
Remove-PnPSiteCollectionAppCatalog -Site $SiteURL
参考:https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog
如何将应用程序部署到网站集应用程序目录?
要将应用程序部署到 SharePoint Online 网站集应用程序目录,请执行以下步骤:
- 导航到已启用应用程序目录的网站集的“网站内容”页面。
- 单击“SharePoint 应用程序”列表。
- 在 SharePoint 应用程序库中,使用“上传”按钮或将文件从计算机拖放到库中,上传自定义解决方案 .sppkg 或 .app 文件。
- 如果它是 .sppkg,您将收到一条提示,询问您是否信任该解决方案以及是否希望“使该解决方案可供组织中的所有站点使用”。确保选中此选项,然后单击部署。
实际上,我们使该应用程序可供网站集的所有子网站访问,而不是整个组织。
我的另一篇文章中解释了如何创建租户应用程序目录和网站集应用程序目录(使用 SharePoint Online Management Shell):如何在 SharePoint Online 中创建应用程序目录网站?

