How to Upload Custom list template and create List Instance from custom list template Using PowerShell in SharePoint 2013

Santhosh Babu
Technology Specialist in SharePoint, Cognizant
Published On :   24 Dec 2013
Visit Count
Today :  1    Total :   23201
Plan, Migrate, Secure, Report
SharePoint & Office 365 Tool. Simple & Easy to Use. 15-Day Trial!

SharePoint Office 365 Tool
Simple & Powerful Tool for Migration, Security & Reporting. Free Trial

In this article, let us discuss about how to upload a custom list template and creating a list based on that custom template in SharePoint 2013 using PowerShell.

This will be very much useful, when we are planning for a migration from one environment to another. For example, from DEV to STAGING kind of stuff. Most of the times, we will be doing this by taking the backup of the list or exporting the list template from the GUI. But, when it is going to be a repeated action, the compact script will save our time.

The script is self-explanatory with inline comments. I hope there will not be much explanation required apart from the inline comments.

 # Adding the PowerShell Snapin
 Add-PSSnapin "Microsoft.SharePoint.PowerShell"
  # Get the SiteURL
 $site = get-spsite("http://SiteCollectionURL/")
  # Get the root web
 $web = $site.RootWeb
  # Get the list template gallery
 $spLTG = $web.getfolder("List Template Gallery")
  # Get the list template gallery Collection
 $spcollection = $spLTG.files
  # Get the custom list template file
 $Templatefile = get-item "C:\Custom_list_template.stp"
  # Add the custom list template file to gallery
 $spcollection.Add("_catalogs/lt/Custom_list_template.stp", $Templatefile.OpenRead(), $true)
 Write-Host "Custom Template Uploaded to List Template Gallery Successfully"
 Write-Host “Creating the List based on the Template”
  # Get the custom list templates 
 $CustomlistTemplates = $site.GetCustomListTemplates($web)
  #Create the custom list using template
 $web.Lists.Add("Custom_list", "Custom list", $CustomlistTemplates["Custom_list_template"])
 Write-Host "Based on the template List Created"

After executing the script with required privilege, make sure that the list got created by going to the Site Contents.

Happy Coding.

SanthoshBabu ManickaMohan

SharePoint Usage Reports
Usage reports, collaboration and audit for SharePoint.

Migratiin Tools for SharePoint