Получить SPWebTemplate из SPWeb

В моем сценарии PowerShell я хочу получить SPWebTemplate, который использовался для создания SPWeb. В экземплярах SPWeb свойства WebTemplate и WebTemplateId доступны, но оба они не идентифицируют однозначно SPWebTemplate.

Например, если SPWebTemplate "STS#0" использовался для создания SPWeb, WebTemplate будет содержать "STS", а WebTemplateId будет "1".

В настоящее время

Get-SPWebTemplate | where { $_.ID -eq 1 }

приведет к 3 результатам для каждого установленного языка (STS#0, STS#1, STS#2). Как получить правильное имя SPWebTemplate-Name (STS#1)?

Заранее спасибо,
Джонас


person Jonas W    schedule 10.02.2012    source источник


Ответы (2)


Попробуйте SPWeb.Configuration.

Это свойство должно участвовать в конкурсе на наиболее неудачно названное свойство — SharePoint API. Я помню, как сам пытался использовать WebTemplateId, пока не нашел Configuration (и я не помню, как я в конце концов нашел его).

person Rich Bennema    schedule 10.02.2012

Можешь попробовать

$web = Get-SPWeb http://site/subsite
Get-SPWebTemplate | where {$_.name -like $web.WebTemplate+"*" } | where {$_.name -like "*"+$web.Configuration }
$web.Dispose()

Но имейте в виду, что некоторые $web.Configuration могут быть равны -1.

person Kerm Aktaev    schedule 30.10.2014