What is Tenant Provisioning and Management in SharePoint

 

 

 

 

 

To create a tenant, follow the steps in the table.

1. Create a site subscription.

$sub = New-SPSiteSubscription
Set-SPSiteSubscriptionConfig -id $sub -FeaturePack $customerFeatures -UserAccountDirectoryPath “OU=$customerName,OU=Customers,DC=contoso,DC=com”

2. Assign a feature pack to the site subscription and configure custom OU by using People Picker.

Write-Host “Creating Member Site…”
New-SPSite -url “http://$customerName.contoso.com”; -SiteSubscription $sub -HostHeaderWebApplication $webApp -owneralias $customerTenantAdmin -owneremail $customerTenantAdminEmail -template sts#0 -ContentDatabase $contentDBName

3. Create one or more site collections to be assigned to the site subscription.




# create Tenant Admin site
Write-Host “Creating Tenant Admin site…”
New-SPSite -url “http://$customerName.contoso.com/admin”; -SiteSubscription $sub -HostHeaderWebApplication $webApp -owneralias $customerTenantAdmin -owneremail $customerTenantAdminEmail -template tenantadmin#0 -AdministrationSiteType TenantAdministration -ContentDatabase $contentDBName

Write-Host “Creating My Site Host…”
New-SPSite -url “http://$customerName.contoso.com/mysites”; -SiteSubscription $sub -HostHeaderWebApplication $webApp -owneralias $customerTenantAdmin -owneremail $customerTenantAdminEmail -template SPSMSITEHOST#0 -ContentDatabase $contentDBName

The following Windows PowerShell script shows how to create a tenant admin site that uses the TENANTADMIN#0 template. If the tenant is configured to use an Enterprise Feature Pack, the Windows PowerShell script performs additional operations, that is, it creates the My Sites collection.
Add-PSSnapin Microsoft.SharePoint.Powershell -EA 0

# farm details (update to reflect your environment)
$hostingMainURL = “http://$ENV:COMPUTERNAME”;
$upaProxyName = “Tenant User Profile Service Proxy”
$mmsProxyName = “Tenant Managed Metadata Service”
$contentDBName = “HostingFarm_Content_Hosting”

$farm = Get-SPFarm
$foundationFeaturePack = $farm.Properties.Foundation_FeaturePack
#$standardFeaturePack = $farm.Properties.Standard_FeaturePack
#$enterpriseFeaturePack = $farm.Properties.Enterprise_FeaturePack

# tenant-specific information (vary by tenant)
$customerName = “Customer A”
$customerTenantAdmin = “CONTOSO\customerA-Admin”
$customerTenantAdminEmail = “admin@customerA.com
$customerFeatures = $enterpriseFeatures
# Note:
# this script assumes that the Content Web App and necessary Managed Paths exist.




# grab the web app
$webApp = Get-SPWebApplication $hostingMainURL

# create new Site Subscription
Write-Host “Creating Site Subscription…”
$sub = New-SPSiteSubscription

# assign feature pack and set the OU to be used by the People
Write-Host “Assigning Feature Pack and configuring People Picker…”
Set-SPSiteSubscriptionConfig -id $sub -FeaturePack $customerFeatures -UserAccountDirectoryPath “OU=$customerName,OU=Customers,DC=contoso,DC=com”

# create the “main” member site (we need a site at the root to use Host Headers and Managed Paths in the following cmdlets)
Write-Host “Creating Member Site…”
New-SPSite -url “http://$customerName.contoso.com”; -SiteSubscription $sub -HostHeaderWebApplication $webApp -owneralias $customerTenantAdmin -owneremail $customerTenantAdminEmail -template sts#0 -ContentDatabase $contentDBName




# create Tenant Admin site
Write-Host “Creating Tenant Admin site…”
New-SPSite -url “http://$customerName.contoso.com/admin”; -SiteSubscription $sub -HostHeaderWebApplication $webApp -owneralias $customerTenantAdmin -owneremail $customerTenantAdminEmail -template tenantadmin#0 -AdministrationSiteType TenantAdministration -ContentDatabase $contentDBName

# everything else needs standard
if (!($customerFeatures -eq $foundationFeatures))
{
Write-Host “Tenant has SharePoint Server features”
# create a mysite host
Write-Host “Creating My Site Host…”
New-SPSite -url “http://$customerName.contoso.com/mysites”; -SiteSubscription $sub -HostHeaderWebApplication $webApp -owneralias $customerTenantAdmin -owneremail $customerTenantAdminEmail -template SPSMSITEHOST#0 -ContentDatabase $contentDBName

# configure the MySites host, MySites path, Naming Resolution and Profile Sync OU for the Subscription
Write-Host “Configuring Tenant Profile Config…”
$upaProxy = Get-SPServiceApplicationProxy | where-object {$_.DisplayName -eq $upaProxyName}
Add-SPSiteSubscriptionProfileConfig -id $sub -SynchronizationOU $customerName -MySiteHostLocation “http://$customerName.contoso.com/mysites”; -MySiteManagedPath “/mysites/personal” -SiteNamingConflictResolution “None” -ProfileServiceApplicationProxy $upaProxy

# create a site for the Content Type Gallery
Write-Host “Creating Content Type Gallery…”
New-SPSite -url “http://$customerName.contoso.com/cthub”; -SiteSubscription $sub -HostHeaderWebApplication $webApp -owneralias $customerTenantAdmin -owneremail $customerTenantAdminEmail -template sts#0 -ContentDatabase $contentDBName

# configure the Content Type Gallery for the Subscription
Write-Host “Configuring Tenant Content Type Gallery…”
$mmsProxy = Get-SPServiceApplicationProxy | where-object {$_.DisplayName -eq $mmsProxyName}
# ContentTypeHub feature activation may fail – if so activate manually
Set-SPSiteSubscriptionMetadataConfig -identity $sub -serviceProxy $mmsProxy -huburi “http://$customerName.contoso.com/cthub”; -SyndicationErrorReportEnabled
Write-Host “Activating Content Type Hub…”
Enable-SPFeature -Identity ContentTypeHub -url “http://$customerName.contoso.com/cthub”;
}

Write-Host “Tenant Provisioning Script Completed!”

This approach can be further customized to contain other tenant configuration such as for Workflow, Apps and IRM. Generally such script is encapsulated into a function or custom cmdlets which enables it to be run repeatedly for future tenants.




Subscribe to daily updates!

Be Connected…

Satyendra

 

 

 

 

THREE QUERIES offers easy access to information about business, management, technology and spirituality that helps people and has grown from there. We provide an important knowledge base for those involved in managing, architecture and developing projects of all kinds. With weekly exclusive updates, we keep you in touch with the latest business, management, technology and spirituality thinking.

WE ARE CONNECTED ~ Follow us on social media to get regular updates and opinion on what's happening in the world of SharePoint, front-end, back end web technologies and project management. If you like this article, please share it and follow us at Facebook, Twitter, Instagram, Pinterest and LinkedIn

About Satyendra Mishra

Microsoft certified, motivated, energetic and accomplished SharePoint Consultant and Architect with 13+ years of work experience in Management, Architecture, Analytics, Development and Maintenance. He has been fortunate to be a part of over 20+ Web/Mobile/Software SharePoint and .Net projects delivery with various companies across different industry sectors. This has provided him a valuable insight and experience especially in successful implementation of technology solutions. Having very strong System Architecture, Technological, Management & Analytical Skills, Knowledge of Office 365, SharePoint, .Net, JavaScript, React, Angular, Azure, SQL. In 2016, he decided to start sharing the knowledge back to society in the form for content writing and blogging.
View all posts by Satyendra Mishra →

Leave a Reply

Your email address will not be published. Required fields are marked *