SharePoint - 找到WSP模板的sitetemplate值?

时间:2009-02-19 15:16:08

标签: sharepoint stsadm

我正在尝试编写为fab 40 Microsoft SharePoint模板创建网站的脚本。我无法找到stsadm命令的sitetemplate参数值来创建网站。

e.g:

stsadm -o createsite -url http://Test/sites/Team_Site **-sitetemplate STS#0** -title "Team Site" ...

是否有我可以运行的命令,或者我可以在某处找到WSP包的sitetemplate值(例如BugDatabase.wsp)?

2 个答案:

答案 0 :(得分:1)

我认为最简单的方法是通过PowerShell,但您可以编写代码来执行相同的操作。关键是获取对Web的引用,然后调用SPWeb.GetAvailableWebTemplates(lcid)

以下是几行PowerShell脚本/命令,用于在屏幕上显示名称和标题属性:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")  
$theSiteColl = New-Object Microsoft.SharePoint.SPSite("http://server")  
$theWeb = $theSiteColl.OpenWeb()  
$theWeb.GetAvailableWebTemplates(1033) | select name, title  
#put your locale ID in the function call  

Name列是您必须传递到stsadm -o createsite命令的列,而Title列有助于将其与有意义的内容相关联。在我的测试框中,BugDatabase应用程序模板为BT#0

答案 1 :(得分:0)

WSP只是一个可以包含多个模板的CAB文件。我想你需要手动完成这个。要执行此操作,请将WSP重命名为具有cab扩展,从WSP中提取manifest.xml和webtemp *文件,然后查看。站点定义的程序名称只是站点定义的名称,后跟#,然后是配置ID。例如,要使用STS模板的配置0创建站点,您将使用STS#0。