Skip to main content

Create multiple SharePoint site collections from .csv file

 <#

.NOTES 

DESCRIPTION : Using the Script SharePoint admin will be able to Create Multiple Site Collections in Bulk from a CSV File using PowerShell 

#>


#Config Parameters

$TenantUrl = Read-Host  "Enter SharePoint tenant admin URL"

$CSVPath = "C:\Temp\SiteCollections.csv"

#Connect to Tenant

Connect-PnPOnline -url $TenantUrl -Credentials (Get-Credential) #or -UseWebLogin for MFA 

 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

        

        $Title = $Site.Title

        $Url = $Site.Url

        $Owner =$Site.Owner

        $Template = $Site.Template

        $StorageQuota = $Site.StorageQuota          

        $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

}

Comments

Popular posts from this blog

Build and Deploy a custom theme in SharePoint 2019: Using C# and Site features

Custom Theme and Branding are common to use cases and all kinds of business users like to have the personalized team and collaboration sites. today I am posting C# code that will help to build custom features for SharePoint 2019 site.   If need any assistance, I would be happy to help: kamal_pandey@outlook.com  ----------------------------- Code to build  custom features---------- using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.SharePoint; using Microsoft.SharePoint.Utilities; namespace SharePointBranding.Code {     public class BrandingManager     {         public SPWeb Web { get; set; }         public BrandingManager(SPWeb web)         {             Web = web;         }         public void SetMasterPage(stri...

PowerShell For create Sub site in office 365

#Add references to SharePoint client assemblies and authenticate to Office 365 site Add-Type -Path "\Software\SharePoint 2013 Client Browser v1.7\Microsoft.SharePoint.Client.dll" Add-Type -Path "\Software\SharePoint 2013 Client Browser v1.7\Microsoft.SharePoint.Client.Runtime.dll" $Username = Read-Host -Prompt "Please enter your username" $Password = Read-Host -Prompt "Please enter your password" -AsSecureString $Site = "https://XXXXXXX.sharepoint.com/sites/Test2/" $Context = New-Object Microsoft.SharePoint.Client.ClientContext($Site) $Creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username,$Password) $Context.Credentials = $Creds $csvLocation = "C:\Users\PS_SiteCollectionsToCreate.csv" $csv = Import-Csv $csvLocation #List Custom Templates $Templates = $Context.Site.GetWebTemplates("1033","0") $Context.Load($Templates) $Context.ExecuteQuery() $Templates | Whe...