How to Create a New Site Collection in Sharepoint
Requirement: Create a new site collection in SharePoint Online using PowerShell.
Site collection in SharePoint is a logical group of sites with a common top-level site and subsites organized as a hierarchy. Every site collection shares a common top site, navigation, security, content types, etc. To create a modern SharePoint Online Site collection, follow these steps:
Wait for a moment and your site collection should appear in the site collections list. Creating a site collection from the SharePoint admin center is a relatively simple task, isn't it? Now, let's see how to create a site collection in SharePoint Online using PowerShell.
A team site is the most common type of site template used in SharePoint. As the name suggests, team sites are created for individual teams, departments, functional groups, etc. for team collaboration. You can create a modern site collection in SharePoint Online by specifying the site template as "STS#3". Here is how to create a new SharePoint Online site with PowerShell:
#Connect to SharePoint Online Connect-SPOService -url "https://crescent-admin.sharepoint.com" -Credential (Get-credential) #Create a modern team site New-SPOSite -Url "https://crescent.sharepoint.com/sites/Purchase" -Owner "[email protected]" -StorageQuota 2048 -Title "Purchase Team Site" -Template "STS#3"
The maximum number of site collections created on an Office 365 tenant is 500,000!
Now, let us add some error handling, and wrap it inside a re-usable function to create a site using PowerShell in SharePoint Online.
Let's add some error handling and make the script bit more flexible for SharePoint Online to create a site collection with PowerShell.
#powershell to create site collection sharepoint online 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" $AdminName = "[email protected]" $AdminPassword="Password Goes here" $SecurePassword = $AdminPassword | ConvertTo-SecureString -AsPlainText -Force $Credentials = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $AdminName, $SecurePassword 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 { #sharepoint online create site collection powershell 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 } } #Parameters to create new site collection $SiteTitle = "Demo" $SiteURL= "https://Crescent.sharepoint.com/sites/demos" $SiteOwner = "[email protected]" $StorageQuota = 1000 $ResourceQuota = 300 $SiteTemplate = "STS#3" #Call The function to create new sharepoint online site using powershell Create-SPOSite -Title $SiteTitle -URL $SiteURL -Owner $SiteOwner -StorageQuota $StorageQuota -ResourceQuota $ResourceQuota -Template $SiteTemplate
Now the new site collection will be created in a minute! You can verify by going to the SharePoint Online Admin Center.
A SharePoint Online site collection is a group of related sites, web pages, document libraries, and lists for data management. Here is the SharePoint Online PowerShell to create a new site collection.
#Load SharePoint CSOM Assemblies Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll" Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll" Add-Type -Path "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.Online.SharePoint.Client.Tenant.dll" #Set Parameters $AdminCenterURL = "https://Crescenttech-admin.sharepoint.com/" $NewSiteURL = "https://Crescenttech.sharepoint.com/Sites/HR" Try { #Setup Credentials to connect $Cred= Get-Credential #Setup the Context $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($AdminCenterURL) $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password) #Get the tenant object $Tenant = New-Object Microsoft.Online.SharePoint.TenantAdministration.Tenant($Ctx) Write-Host -f Yellow "Creating site collection..." #Set the Site Creation Properties $SiteCreationProperties = New-Object Microsoft.Online.SharePoint.TenantAdministration.SiteCreationProperties $SiteCreationProperties.Url = $NewSiteURL $SiteCreationProperties.Template = "STS#0" $SiteCreationProperties.Owner = "[email protected]" $SiteCreationProperties.StorageMaximumLevel = 1000 $SiteCreationProperties.UserCodeMaximumLevel = 300 #powershell script to create site collection in sharepoint online $Tenant.CreateSite($SiteCreationProperties) | Out-Null $ctx.ExecuteQuery() #Create the site in the tennancy write-host "Site Collection Created Successfully!" -foregroundcolor Green } catch { write-host "Error: $($_.Exception.Message)" -foregroundcolor Red }
To create multiple SharePoint Online site collections in bulk from a CSV file, refer: SharePoint Online: Create Multiple Site Collections in Bulk from a CSV File using PowerShell
Here is how to create a site collection using PnP PowerShell in SharePoint Online. You can also use New-PnPSite cmdlet to create Modern Team sites and communication sites.
#Define Variables $AdminCenterURL = "https://crescenttech-Admin.sharepoint.com" $SiteURL = "https://crescenttech.sharepoint.com/sites/procurement2" $SiteTitle = "Crescent Procurement Portal" $SiteOwner = "[email protected]" $Template = "STS#3" #Modern Team Site $Timezone = 4 #Get Credentials to connect $Cred = Get-Credential Try { #Connect to Tenant Admin Connect-PnPOnline -URL $AdminCenterURL -Credential $Cred #Check if site exists already $Site = Get-PnPTenantSite | Where {$_.Url -eq $SiteURL} If ($Site -eq $null) { #sharepoint online pnp powershell create site collection New-PnPTenantSite -Url $SiteURL -Owner $SiteOwner -Title $SiteTitle -Template $Template -TimeZone $TimeZone -RemoveDeletedSite write-host "Site Collection $($SiteURL) Created Successfully!" -foregroundcolor Green } else { write-host "Site $($SiteURL) exists already!" -foregroundcolor Yellow } } catch { write-host "Error: $($_.Exception.Message)" -foregroundcolor Red }
To create a classic team sites in SharePoint Online, use: SharePoint Online: Create a Classic Site using PowerShell
How to Create a New Site Collection in Sharepoint
Source: https://www.sharepointdiary.com/2016/06/sharepoint-online-create-site-collection-using-powershell.html
0 Response to "How to Create a New Site Collection in Sharepoint"
Post a Comment