我试图为工厂的40微软SharePoint模板的网站创建脚本。我在为创建站点的stsadm命令找到sitetemplate参数的值时遇到了问题。
例如:
stsadm -o createsite -url http://Test/sites/Team_Site **-sitetemplate STS#0** -title "Team Site" ...
有没有我可以运行的命令,或者我可以查找WSP包的站点模板值的地方(例如BugDatabase.wsp)?
发布于 2009-02-19 19:55:09
我认为最简单的方法是通过PowerShell,但是你也可以编写代码来做同样的事情。关键是获取对web的引用,然后调用SPWeb.GetAvailableWebTemplates(lcid)
。
下面是几行PowerShell脚本/命令,用于在屏幕上显示Name和Title属性:
[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
。
发布于 2009-03-31 18:34:37
WSP只是一个CAB文件,可以包含多个模板。我认为您需要手动完成此操作。为此,将WSP重命名为cab扩展名,从WSP中提取manifest.xml和webtemp*文件并查看。站点定义的编程名称是站点定义的名称,后跟#,然后是配置ID。例如,要使用STS模板的配置0创建站点,应使用STS#0。
https://stackoverflow.com/questions/565771
复制相似问题