Office 365 – PowerShell script to create Hub site

Hi All,

Today, I got an opportunity to write PowerShell script to create hub site. So thought to be share with all of us.

I Put detailed comments, tried to be self explanatory.

<#
.SYNOPSIS
 Creates new Hub site

.PARAMETER CredentialFilePath
  Office 365 system account credential file path having two lines in following format
  UserName
  Password

 .PARAMETER TenantAdminURL
  Office 365 tenant admin site URL

 .PARAMETER HubSiteType
  TeamSite OR CommunicationSite

 .PARAMETER HubSiteTitle
  Title of Hub Site

 .PARAMETER HubSiteAlias
  Alias of Hub Site

 .PARAMETER HubSiteDescription
  Description of Hub Site
#>

param
(
    [parameter(Mandatory=$true)][string]$CredentialFilePath,
    [parameter(Mandatory=$true)][string]$TenantAdminURL,
    [parameter(Mandatory=$true)][ValidateSet("TeamSite", "CommunicationSite")][string]$HubSiteType="TeamSite",
    [parameter(Mandatory=$true)][string]$HubSiteTitle,
    [parameter(Mandatory=$true)][string]$HubSiteAlias,
    [parameter(Mandatory=$true)][string]$HubSiteDescription

)

if(-not(Get-PSSnapin | Where { $_.Name -eq "Microsoft.SharePoint.PowerShell"}))
{
	Add-PSSnapin Microsoft.SharePoint.PowerShell;
}

#Get the user credential file path and getting user from it
$user = Get-Content $CredentialFilePath | Select-Object -First 1
#Getting password
$password = Get-Content $CredentialFilePath | Select-Object -First 1 -Skip 1
$securePassword = ConvertTo-SecureString $Password -AsPlainText -Force 

#Connect to Office 365
$spoManagementCred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $user, $securePassword
Connect-SPOService -Url $TenantAdminURL -Credential $spoManagementCred

Connect-PnPOnline -Credentials $spoManagementCred -Url $TenantAdminURL

#Creating site
$URL = New-PnPSite -Type $HubSiteType -title $HubSiteTitle -alias $HubSiteAlias -Description $HubSiteDescription

#register site as hub site
Register-SPOHubSite -Site $URL -Principals $null

References:
Connect-PnPOnline
New-PnPSite
Register-SPOHubSite

Thanks for Reading 🙂

Keep reading, share your thoughts, experiences. Feel free to contact us to discuss more. If you have any suggestion / feedback / doubt, you are most welcome.

Stay tuned on Knowledge-Junction, will come up with more such articles.

This site uses Akismet to reduce spam. Learn how your comment data is processed.