загрузить шаблон сайта wsp файл powershell

Я использую SharePoint 2013 и хочу создать spweb из шаблона сайта...

Я создал сайт и добавил нужный контент, и я сохранил этот сайт как шаблон, затем перешел в галерею решений и загрузил файл .wsp.

Теперь мне нужно создать новое семейство сайтов с некоторыми дочерними сайтами, основанными на этом шаблоне, и для этого, я думаю, нужно загрузить файл .wsp в галерею решений, чтобы я мог найти недавно сохраненный шаблон, и мне нужно сделать это из PowerShell!

Я пробовал 2 способа,

Первый,

Я попытался добавить-spsolution и установить-spsolution следующим образом:

Add-SPSolution -LiteralPath $SPIntranetTemplateFilePath
Install-SPSolution -Identity SPITemplateFile.wsp -CompatibilityLevel 15 -force

но я не нахожу .wsp в галерее решений, а шаблона нет в списке шаблонов...

Я пытался использовать Install-SPWebTemplate, но эта команда не распознается в моей PowerShell как командлет (я добавил Add-PSSnapin Microsoft.SharePoint.PowerShell)

Я тоже использовал это

## SharePoint DLL 
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") 

Может ли кто-нибудь помочь мне использовать мой WspFile так, как я могу создавать дочерние сайты на основе моего шаблона?


person Haithem KAROUI    schedule 12.08.2014    source источник


Ответы (2)


После Add-SPSolution попробуйте Install-SPSolution

http://technet.microsoft.com/en-us/library/ff607534(v=office.15).aspx

person Andy Arismendi    schedule 13.08.2014
comment
Как описано в моем сообщении ... это то, что я пробовал, и это не сработало, потому что template.wsp не было в галерее решений и не фигурировало в списке пользовательских шаблонов. - person Haithem KAROUI; 14.08.2014

Я думаю, вам нужно добавить его в качестве изолированного пользовательского решения, чтобы оно отображалось в галерее решений семейства веб-сайтов. Этот подход работал для меня.

$theSite = Get-SPSite "http://server/pathto/site"
# add the solution to the sandbox
Add-SPUserSolution (Resolve-Path .\relativePathTo.wsp) -Site $theSite 
# get the user solution and activate it for the site
$customSolution = Get-SPUserSolution -Site $theSite | ? { $_.Title -match "Custom Template Title" }
Install-SPUserSolution $customSolution -Site $theSite

После того, как вы установили изолированное решение, хитрость в его использовании для создания дочернего сайта заключается в том, чтобы использовать объектную модель для получения шаблона.

$localeId = 1033 # or whatever is appropriate for you
$customTemplate = $theSite.RootWeb.GetAvailableWebTemplates($localeId) | ? { $_.Title -match "Custom Template Title" } 

Теперь вы можете создать дочерний сайт вообще на основе НЕТ шаблона, а затем применить собственный шаблон:

$newSubsite = $New-SPWeb "http://server/pathto/site/subsite" # can also apply options for unique permissions, nav bar, etc.
$newSubsite.ApplyWebTemplate($customTemplate)
person Abs    schedule 25.01.2017