【问题标题】:Get SPWebTemplate from SPWeb从 SPWeb 获取 SPWebTemplate
【发布时间】:2012-03-03 00:34:59
【问题描述】:

在我的 PowerShell 脚本中,我想获取用于创建 SPWeb 的 SPWebTemplate。在 SPWeb 实例中,属性 WebTemplate 和 WebTemplateId 是可访问的,但它们都不能唯一标识一个 SPWebTemplate。

例如,如果 SPWebTemplate“STS#0”已用于创建 SPWeb,则 WebTemplate 将包含“STS”且 WebTemplateId 为“1”。

现在

Get-SPWebTemplate | where { $_.ID -eq 1 }

将为每种已安装的语言(STS#0、STS#1、STS#2)产生 3 个结果。如何检索正确的 SPWebTemplate-Name (STS#1)?

提前致谢,
乔纳斯

【问题讨论】:

    标签: sharepoint powershell sharepoint-2010 powershell-2.0 spweb


    【解决方案1】:

    试试SPWeb.Configuration

    此属性必须在运行中,以用于命名最差的属性 - SharePoint API。我记得自己尝试使用 WebTemplateId 直到我找到 Configuration(我不记得我最终是如何找到它的)。

    【讨论】:

      【解决方案2】:

      你可以试试

      $web = Get-SPWeb http://site/subsite
      Get-SPWebTemplate | where {$_.name -like $web.WebTemplate+"*" } | where {$_.name -like "*"+$web.Configuration }
      $web.Dispose()
      

      但请记住,某些 $web.Configuration 可以为 -1。

      【讨论】:

        猜你喜欢
        • 2011-06-29
        • 2011-04-12
        • 2018-01-26
        • 2014-07-10
        • 2012-04-07
        • 2011-06-22
        • 1970-01-01
        • 1970-01-01
        • 2014-02-18
        相关资源
        最近更新 更多