Tuesday, 22 February 2011

Finding site template names and ID’s in SharePoint using PowerShell

SharePoint 2010 includes the new Get-SPWebTemplate cmdlet for getting a list of site templates from the farm. You can use it by typing the following command (note that I am also sorting the table by template internal name):

Get-SPWebTemplate | Sort-Object "Name"

image

This can be quite useful, especially if you want to use PowerShell to create new sites with the New-SPSite and New-SPWeb cmdlets and need to know an internal name of the template that you wish to base the new site on.

You may also want to extend the use of the Get-SPWebTemplate cmdlet to provide additional information. For example, you may want to include the template ID in the table. This can be done by stepping through each template and adding the results to a PSObject, as follows:

function Get-SPWebTemplateWithId
{
    $templates = Get-SPWebTemplate | Sort-Object "Name"
    $templates | ForEach-Object {
        $templateValues = @{
            "Title" = $_.Title
            "Name" = $_.Name
            "ID" = $_.ID
            "Custom" = $_.Custom
            "LocaleId" = $_.LocaleId
        }
        New-Object PSObject -Property $templateValues | Select @("Name","Title","LocaleId","Custom","ID")
    }
}
Get-SPWebTemplateWithId | Format-Table

Running this script will output the following table:

image

If you looking to find details of the site template used to create an existing site in a site collection, this can be done by attaching to the site through the SPWeb object and getting the WebTemplate and WebTemplateId property values, as follows:

$web = Get-SPWeb http://portal
write-host "Web Template:" $web.WebTemplate " | Web Template ID:" $web.WebTemplateId
$web.Dispose()

This will produce an output similar to the text below:

Web Template: BLANKINTERNET  | Web Template ID: 53

Finally, if you can’t be doing with all these internal names and ID’s and need to get a site template for use in a site creation script, you can use the display name (i.e., Title) of the template with the following command:

$template = Get-SPWebTemplate | where { $_.Title -eq "Team Site" }

image

Putting this all together, the following script will get the “Blank Site” template and create a new sub-site in an existing site collection:

$template = Get-SPWebTemplate | where { $_.Title -eq "Blank Site" }
$newWeb = New-SPWeb -Url http://portal/subsite1/subsite2 -Name "Subsite Test" -Description "This is a test site" -Template $template -AddToTopNav -AddToQuickLaunch -UniquePermissions
write-host "Site" $newWeb.Url "created at" (Get-Date).ToString()
$newWeb.Dispose()

You can get more details on the New-SPSite and New-SPWeb cmdlets from here and here respectively, or type get-help New-SPSite and get-help New-SPWeb from a PowerShell command prompt.

15 comments:

  1. I want to create a site collection with specific content data. And wanna to use this template called "Budgeting and Tracking Multiple" be my site collection. I built this template as a sub site before, but never use this template as a site collection.
    I found template ID and name with Get-SPWebTemplate is projmulti#0, but when I create the site collection, system told me "The feild with ID {XXXXXXXXX} defined in feature {XXXXXXX} was found in the current site collection or in a subsite".

    How can I do to create a specific database site collection with this template?

    and Could you reply me by email? whyme1025@gmail.com Thank you.

    ReplyDelete
  2. Wonderful blog! I found it while searching on Yahoo News. Do you have any tips on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Many thanks.sbo

    ReplyDelete
  3. can this be done with jquery?

    ReplyDelete
  4. Thanks for sharing the scripts. It would be useful if you could pack all of them into one zip file

    ReplyDelete
  5. Thank you for sharing this fabulous information. it is indeed saving lot of efforts :) :)

    ReplyDelete
  6. I want to get the list of blank workspaces through powershell. How i will get it.please somebody help

    ReplyDelete

  7. تعد شركة الرحمة افضل شركات التنظيف ومكافحة الحشرات بالرياض والممكلة فهى توفر افضل عماله مدربة على جميع اعمال التنظيف للمنازل والفلل والشقق والخزانات بافضل المنظفات العالمية العالية الجودة وارسعارها في متناول الجميع
    افضل شركة تنظيف منازل بالرياض
    شركة نقل عفش بالرياض

    شركة جلى بلاط بالرياض

    كشف تسربات المياه بالرياض


    خدمات التنظيف تحتاج الى عماله ماهره لتقوم بها في اسرع وقت نوفر افضل العمالة الفلبينية والمصرية والهندية لتتم عمليات التنظيف وجلى البلاط على اتم صورة وباسرع وقت وبارخص الاسعار
    افضل شركة تنظيف بالرياض

    افضل شركة تنظيف شقق بالرياض
    افضل شركة تنظيف فلل بالرياض
    افضل شركة مكافحة حشرات بالرياض
    شركة تسليك مجارى بالرياض



    نوفر افضل مستودعات تخزين الاثاث وافضل سيارات نقل الاثاث بالاضافة الى خدمات تنظيف الخزانات وعزل الخزانات والاسطح باتصالك بالرحمة توفر على نفسك التعب والمجهود في التعامل مع غير المحترفين وصرف الكثير من الاموال فالرحمة افضل شركات التنظيف ومكافحة الحشرات بالرياض وبشهادة عملائنا
    افضل شركة تنظيف خزانات بالرياض
    افضل شركة عزل الاسطح بالرياض
    افضل شركة تنظيف مجالس بالرياض
    افضل شركة تنظيف سجاد بالرياض
    شركة تخزين اثاث بالرياض

    وان كنت تريد ان تتخلص من الاثاث القديم الذي يسبب لك الازعاج فشركة الرحمة تقوم بشراء الاثاث الستعمل فهى افضل شركة شراء اثاث مستعمل بالرياض

    ReplyDelete
  8. شركة اتقان الرياض للديكور

    يعد الديكور من اهم عناصر جمال المنزل ورونقه نقدم افضل ديكورات ودهانات بافضل الدهانات العالمية العالية الجودة ونتميز بتقديم احدث تصميمات الديكور العالمية التى تعمل على جعل منزلك انيقا فخما ومريحا عمليا بالاضافة الى خدمات تنظيف السجاد وتنظيف الموكيت وتنظيف الكنب بجميع انواعه
    نتميز باننا الافضل والاعلى جودة ولكن اسعارنا في متناول الجميع
    مقاول دهانات بالرياض
    تركيب جبس بورد بالرياض
    شركة ديكورات وتشطيبات بالرياض
    _______________
    شركات الديكور في الرياض

    شركة مكافحة حشرات بالباحه
    شركة تنظيف خزانات بالباحة
    ________
    تشطيب فلل بالرياض
    تشطيب شقق بالرياض
    فني تركيب ورق جدران بالرياض
    افضل شركة غسيل كنب بالرياض
    افضل شركة تنظيف موكيت بالرياض
    شركة رش مبيدات بالباحه
    شركة تنظيف منازل بالباحة

    ReplyDelete