1

我正在使用 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 中未被识别为 cmdlet(我已添加Add-PSSnapin Microsoft.SharePoint.PowerShell

我也用过这个

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

任何人都可以帮助我使用我的 WspFile 根据我的模板创建子网站吗?

4

2 回答 2

0

Add-SPSolution尝试后Install-SPSolution

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

于 2014-08-13T00:33:56.733 回答
0

我认为您需要将其添加为沙盒用户解决方案,以使其显示在网站集的解决方案库中。这种方法对我有用。

$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" } 

现在,您可以完全基于 NO 模板创建子站点,然后应用自定义模板:

$newSubsite = $New-SPWeb "http://server/pathto/site/subsite" # can also apply options for unique permissions, nav bar, etc.
$newSubsite.ApplyWebTemplate($customTemplate)
于 2017-01-25T22:39:53.477 回答