<#
.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
Post a Comment