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

[玩转系统] SharePoint Online:使用 CSV 和 PowerShell 批量创建多个网站

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

SharePoint Online:使用 CSV 和 PowerShell 批量创建多个网站


要求:使用 PowerShell 从 CSV 文件在 SharePoint Online 中批量创建新网站集。

如何使用 PowerShell 在 SharePoint Online 中从 CSV 文件创建网站集?

您是需要批量创建多个网站集的 SharePoint Online 管理员吗?在 SharePoint Online 中创建多个网站集可能是一项耗时且重复的任务,尤其是当您需要创建许多具有类似设置的网站集时。幸运的是,SharePoint Online 提供了一种使用 CSV 文件和 PowerShell 脚本批量创建网站集的方法。

本博文将介绍如何创建多个 SharePoint Online 网站集。如果您需要快速配置新环境并快速创建大量网站集以用于测试或开发目的,这会很有用。不管怎样,让我们看看如何使用 PowerShell 从 CSV 文件创建多个 SharePoint Online 网站集。

第 1 步: 按以下格式创建 CSV 文件。根据您的要求填充列值。对于每个网站集,设置以下属性:

  1. 网站集标题
  2. 网站集网址
  3. 网站集所有者
  4. 存储配额,以 MB 为单位
  5. 资源配额(默认为300)
  6. 网站集模板(例如,团队网站模板 ID STS#0)

[玩转系统] SharePoint Online:使用 CSV 和 PowerShell 批量创建多个网站

步骤 2: 使用此 PowerShell 脚本读取 CSV、创建网站集并使用 SharePoint Online Management Shell 运行。


#Function to Create Site Collection
Function Create-SPOSite 
{
  param
    (
        [string]$Title  = $(throw "Please Provide the Site Title!"),
        [string]$URL = $(throw "Please Provide the Site URL!"),
        [string]$Owner = $(throw "Please Provide the Site Owner!"),
        [int]$StorageQuota = $(throw "Please Provide the Site Storage Quota!"),
        [int]$ResourceQuota = $(throw "Please Provide the Site Resource Quota!"),
        [string]$Template = $(throw "Please Provide the Site Template!")
    )

#Connection parameters 
$AdminURL = "https://crescent-admin.sharepoint.com"

#Get Credentials to connect
$Cred= Get-Credential -Message "Enter the Admin Credentials"
$Credentials = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $Cred.Username, $Cred.Password
 
Try{
    #Connect to Office 365
    Connect-SPOService -Url $AdminURL -Credential $Credentials
 
    #Check if the site collection exists already
    $SiteExists = Get-SPOSite | where {$_.url -eq $URL}
    #Check if site exists in the recycle bin
    $SiteExistsInRecycleBin = Get-SPODeletedSite | where {$_.url -eq $URL}

    If($SiteExists -ne $null)
    {
        write-host "Site $($url) exists already!" -foregroundcolor red
    }
    elseIf($SiteExistsInRecycleBin -ne $null)
    {
        write-host "Site $($url) exists in the recycle bin!" -foregroundcolor red
    }
    else
    {
        #create the site collection
        New-SPOSite -Url $URL -title $Title -Owner $Owner -StorageQuota $StorageQuota -NoWait -ResourceQuota $ResourceQuota -Template $Template
        write-host "Site Collection $($url) Created Successfully!" -foregroundcolor Green
    }
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
    }
}

#Read from CSV and create site collection
Import-Csv "C:\Temp\SitesToCreate.csv" | Foreach-Object {
   Create-SPOSite -Title $_.SiteTitle -URL $_.SiteURL -Owner $_.SiteOwner -StorageQuota $_.StorageQuota -ResourceQuota $_.ResourceQuota -Template $_.SiteTemplate  }

此脚本将循环遍历 CSV 文件中的每一行,并使用相应列中的详细信息创建新的网站集。使用 PowerShell 创建 SharePoint Online 网站集位于我的另一篇文章中:如何使用 PowerShell 创建 SharePoint Online 网站集?

PnP PowerShell:从 CSV 文件创建多个站点

我们还可以使用 PnP PowerShell 批量配置 SharePoint Online 网站集。这是我的 CSV 文件格式。确保将“C:\Temp\SitesToCreate.csv”替换为 CSV 文件的正确路径。

[玩转系统] SharePoint Online:使用 CSV 和 PowerShell 批量创建多个网站

您可以从以下位置下载 CSV 文件:

用于批量创建网站集的 PnP PowerShell 脚本:

此脚本将从使用 New-PnPTenantSite cmdlet 提供的 CSV 文件创建多个 SharePoint Online 网站集。


#Set Config Parameters
$TenantUrl = "https://crescent-admin.sharepoint.com"
$CSVPath = "C:\Temp\SiteCollections.csv"

#Connect to Tenant
Connect-PnPOnline -url $TenantUrl -Interactive

Try {
    #Get Site Collections to create from a CSV file
    $SiteCollections = Import-Csv -Path $CSVPath

    #Loop through csv and create site collections from each row
    ForEach ($Site in $SiteCollections)
    {
        #Get Parameters from CSV
        $Url = $Site.Url
        $Title = $Site.Title
        $Owner = $Site.Owner
        $Template = $Site.Template
        $TimeZone = $Site.TimeZone

        #Check if site exists already
        $SiteExists = Get-PnPTenantSite | Where {$_.Url -eq $URL} 
        If ($SiteExists -eq $null)
        {
            #Create site collection
            Write-host "Creating Site Collection:"$Site.URL -f Yellow
            New-PnPTenantSite -Url $URL -Title $Title -Owner $Owner -Template $Template -TimeZone $TimeZone -RemoveDeletedSite -ErrorAction Stop        
            Write-host "`t Done!" -f Green
        }
        Else
        {
            write-host "Site $($URL) exists already!" -foregroundcolor Yellow
        }
    }
}
Catch {
    write-host -f Red "`tError:" $_.Exception.Message
}

脚本执行完成后,您可以通过转到 SharePoint Online 管理中心并验证网站集是否已成功创建来验证网站集。

总之,使用 CSV 文件和 PowerShell 在 SharePoint Online 中创建多个网站集可以有效节省时间并减少错误。通过这些简单的步骤,您可以自动化创建网站集的过程,并享受简化的 SharePoint Online 环境的好处。这是另一篇关于 SharePoint On-Premises 中类似要求的文章:How to Create SharePoint Site Collections in Bulk from a CSV File using PowerShell?

经常问的问题:

SharePoint Online 网站的数量有限制吗?我可以创建多少个 SharePoint 网站?

是的!每个租户 200 万。

我们可以在 SharePoint Online 中创建子网站吗?

是的!尽管建议使用中心网站来替代子网站,但您仍然可以在 SharePoint Online 中创建子网站。
详细信息:如何在 SharePoint Online 中创建子网站?

如何获取 SharePoint Online 中的所有网站集?

使用 SharePoint 管理中心或 PowerShell 脚本获取 SharePoint Online 环境中的所有网站。
详细信息:SharePoint Online PowerShell 获取所有网站集

如何在 SharePoint Online 中创建通信网站?

要创建通信站点,请登录 SharePoint 管理中心 >> 单击“站点”>>“活动站点”>> 单击“创建”>> 选择“通信站点”,输入站点名称,验证站点地址,然后单击完成。您还可以使用 PowerShell 创建通信网站。
详细信息:使用 PowerShell 在 SharePoint Online 中创建通信网站

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

取消回复欢迎 发表评论:

关灯