SharePoint-是否查找WSP模板的sitetemplate值?

SharePoint-是否查找WSP模板的sitetemplate值?,sharepoint,stsadm,Sharepoint,Stsadm,我正在尝试为fab 40 Microsoft SharePoint模板编写网站创建脚本。我在为stsadm命令查找sitetemplate参数的值以创建站点时遇到问题 e、 g: 是否有我可以运行的命令,或者我可以在某处查找WSP包(例如BugDatabase.WSP)的sitetemplate值?我认为最简单的方法是通过PowerShell,但您可以编写代码来完成同样的任务。关键是获取对web的引用,然后调用SPWeb.GetAvailableWebTemplates(lcid) 下面是几行P

我正在尝试为fab 40 Microsoft SharePoint模板编写网站创建脚本。我在为stsadm命令查找sitetemplate参数的值以创建站点时遇到问题

e、 g:


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

我认为最简单的方法是通过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

我认为最简单的方法是通过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

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

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

。这正是我想要的。谢谢令人惊叹的。这正是我想要的。谢谢这适用于站点定义,但不适用于站点模板。在全局部署站点模板时,会为它们指定一个随机名称,例如“全局”5。该名称适用于站点定义,但不适用于站点模板。在全局部署站点模板时,会为其分配一个随机名称,例如_GLOBAL_35; 5。