当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:如何使用 PowerShell 创建子网站?

作者:精品下载站 日期:2024-12-14 14:15:30 浏览:15 分类:玩电脑

SharePoint Online:如何使用 PowerShell 创建子网站?


要求:使用 PowerShell 在 SharePoint Online 中创建子网站。

如何在 SharePoint Online 中创建子网站?

如果您是 SharePoint 管理员或网站所有者,最终您将需要创建子网站。在这篇博文中,我将逐步介绍使用 PowerShell 在 SharePoint Online 中创建子网站的过程,以及使用 Web 浏览器界面从头开始创建子网站所需的步骤。

SharePoint Online 中的子网站可以在任何现有根网站或另一个子网站内创建。默认情况下,网站所有者(或具有完全控制权或管理层次结构的用户)有权创建子网站。要在 SharePoint Online 中添加子网站,请按照下列步骤操作:

  1. 以网站集管理员/网站所有者身份登录到您的 SharePoint Online 网站 >> 导航到要在其下创建新子网站的网站。
  2. 单击站点设置齿轮图标 >> 在经典站点中选择“站点内容”(或单击快速启动中的站点内容链接)。

    [玩转系统] SharePoint Online:如何使用 PowerShell 创建子网站?

  3. 向下滚动到底部并单击“创建子网站”链接(URL 快捷方式:/_layouts/15/newsbweb.aspx)。

    [玩转系统] SharePoint Online:如何使用 PowerShell 创建子网站?

  4. 如何在新式 SharePoint 中创建子网站? 在新式网站中,此链接移至工具栏上的“新建”菜单。如果您在网站内容页面上找不到“子网站”链接,可能是因为在租户级别禁用了子网站创建。

    [玩转系统] SharePoint Online:如何使用 PowerShell 创建子网站?

  5. 提供新子网站的名称、描述、网站 URL 和模板。指定其他子网站设置,例如从父网站继承的权限或使用唯一权限和导航继承 - 父网站的快速启动和顶部链接栏是否要在子网站中继承。子网站可以使用与其父网站或根网站不同或相同的模板。

    [玩转系统] SharePoint Online:如何使用 PowerShell 创建子网站?

  6. 单击页面底部的创建按钮,在 SharePoint Online 中创建子网站。
SharePoint Online 中缺少“创建子网站”选项?
由于 Microsoft 建议使用 SharePoint 中心网站,因此在继续执行这些步骤之前,请在 SharePoint 管理中心验证租户中的 SharePoint 管理员是否启用了子网站创建。如果禁用,您可能无法在命令栏中找到创建子网站的选项!不仅是新的子站点创建命令,而且还禁用通过 Rest API 和 CSOM 方法添加新子站点的功能。 如何在 SharePoint Online 中启用或禁用子网站创建?

您还可以从站点设置中的“站点和工作区”页面创建子站点。

SharePoint 中的子网站数量是否有限制?是的,您可以在任何子网站或根网站下为每个网站集创建最多 2000 个子网站。创建子网站后,您将被带到新子网站的主页。如果您正在寻找一种快速、简单的方法来在 Sharepoint Online 中创建子网站,那么 PowerShell 就是答案!让我们看看如何使用 PowerShell 脚本在 SharePoint Online 中创建子网站。

SharePoint Online:使用 PowerShell 创建子网站

让我们使用 PowerShell CSOM 在 SharePoint Online 中创建一个子网站。该解决方案适合那些需要通过脚本或其他自动化流程自动创建子网站的用户。


#Load SharePoint Online Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#Variables for processing
$SiteURL = "https://crescent.sharepoint.com/Sites/Sales"
$AdminAccount = "[email protected]"
 
#User Names Password to connect 
$Password = Read-host -assecurestring "Enter Password for $AdminAccount" 
$Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminAccount, $Password

Try {
    #Setup the context
    $Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Context.Credentials = $Credential

    #Specify Subsite details for powershell script to create subsite in sharepoint online
    $WebCI = New-Object Microsoft.SharePoint.Client.WebCreationInformation
    $WebCI.Title = "Sales - US "
    $WebCI.WebTemplate = "STS#0" #Classic Team Site
    $WebCI.Url = "us"
    #sharepoint online create subsite powershell
    $SubWeb = $Context.Web.Webs.Add($WebCI)
    $Context.ExecuteQuery()

    Write-host "Subsite Created Successfully!" -ForegroundColor Green
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

此 PowerShell 脚本在 SharePoint Online 中创建一个新网站。我只使用了强制参数。如果您想指定其他参数(例如权限、导航设置等),可以参考此 Technet 链接。 https://msdn.microsoft.com/EN-US/library/office/microsoft.sharepoint.client.webcreationinformation_members.aspx

最佳做法是从网站的 URL 中排除特殊字符和空格!例如。如果您的网站标题是 Human Resources,则 URL 名称应为 HumanResources HR

使用 PnP PowerShell 在 SharePoint Online 中创建现代子网站

SharePoint Online PnP PowerShell 模块有助于简化管理任务,例如创建子网站。要在当前网站集中创建新的子网站,请使用 New-PnPWeb cmdlet。以下是如何在 SharePoint Online 中使用 PnP PowerShell 创建子网站:


#Config Variables
$SiteCollURL = "https://Crescent.sharepoint.com"
$SiteTitle = "Town Hall 2017"
$SiteURL = "townhall2017"
$Description = "Town Hall 2017 site - Find all Videos, Presentations, Demos Shared here!"
$Locale = 1033 #English
$Template = "STS#3" #Modern Subsite Template - Team site

Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteCollURL -Interactive

    #sharepoint online powershell create subsite
    New-PnPWeb -Title $SiteTitle -Url $SiteURL -Description $Description -Locale $Locale -Template $Template -ErrorAction Stop
    Write-host "Site '$SiteTitle' Created Successfully!" -f Green
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

此外,New-PnPWeb cmdlet 支持 -BreakInheritance、-InheritNavigation 开关来设置网站组,例如子网站的所有者组和成员组。

如何在 SharePoint Online 中创建通信子网站? 好吧,只需在上述 PowerShell 脚本中使用 $Template 作为“SITEPAGEPUBLISHING#0”即可。网页浏览器界面不支持创建通讯模板子网站。

要从自定义模板创建子网站,请使用:PowerShell 在 SharePoint Online 中从自定义模板创建子网站

经常问的问题:

如何从 CSV 在 SharePoint Online 中创建多个子网站?

创建一个 CSV 文件并根据您的要求填充列,例如 SiteCollectionURL、SubSiteTitle、URL 等。 PowerShell 脚本可以读取 CSV 文件,并根据 CSV 中的详细信息在给定网站集上创建子网站。
详细信息:使用 PowerShell 从 CSV 文件在 SharePoint Online 中批量创建子网站

如何更改 SharePoint Online 中的子网站 URL?

可以从 Web 浏览器界面或使用 PowerShell 更改子网站的 URL。
详细信息:如何更改 SharePoint Online 中子网站的 URL?

如何在SharePoint Online中查看子网站模板?

要检查您的网站模板,请执行以下操作: 在浏览器中打开您的 SharePoint Online 子网站,然后转到“查看 >> 页面源”。在页面源中,搜索“webTemplateConfiguration”,接下来您将找到站点模板值。您还可以使用 PowerShell 查找您网站的 Web 模板。
更多信息:如何查找 SharePoint Online 子网站的模板?

如何在 SharePoint Online 中复制子网站?

使用 PnP PowerShell 的配置模板方法,您可以复制 SharePoint Online 中的任何项目,例如子网站、列表等。
更多信息:如何使用 PnP PowerShell 复制子网站?

如何使用 PowerShell 删除 SharePoint Online 中的子网站?

虽然使用 Web 浏览器 UI 删除 SharePoint Online 中的子网站相对简单,但在某些情况下我们可能需要 PowerShell,例如递归删除。您可以使用 CSOM 方法 $web.DeleteObject() 或 PnP PowerShell cmdlet Remove-PnPWeb 删除 SharePoint Online 子网站。
详细信息:PowerShell 删除 SharePoint Online 中的子网站

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯