24 Dec 2013
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
# 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.