我正在使用SharePoint 2013,我想从网站模板中创建一些spweb ...
我创建了一个网站并添加了我想要的内容,然后我将该网站保存为模板,然后转到解决方案库并下载了.wsp
文件。
现在,我需要创建一个新的网站集,其中包含一些基于该模板的子网站,为此,我认为需要将.wsp
文件上传到解决方案库中,这样我才能找到新的保存的模板,我需要从PowerShell做到这一点!
我试过两种方法,
首先,
我尝试添加-spsolution和install-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,就像我可以根据我的模板创建子网站一样吗?
答案 0 :(得分:0)
Add-SPSolution
尝试后Install-SPSolution
http://technet.microsoft.com/en-us/library/ff607534(v=office.15).aspx
答案 1 :(得分: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)