在我的PowerShell脚本中,我想获得用于创建SPWeb的SPWebTemplate。在SPWeb实例中,可以访问属性WebTemplate和WebTemplateId,但它们都不唯一地标识SPWebTemplate。
例如,如果已使用SPWebTemplate“STS#0”创建SPWeb,则WebTemplate将包含“STS”,WebTemplateId将为“1”。
现在
Get-SPWebTemplate | where { $_.ID -eq 1 }
将导致每种已安装语言的3个结果(STS#0,STS#1,STS#2)。如何检索正确的SPWebTemplate-Name(STS#1)?
提前致谢,乔纳斯
答案 0 :(得分:5)
此属性必须在运行最不良命名的属性 - SharePoint API。我记得我自己尝试使用WebTemplateId,直到找到配置(我不记得我最终是如何找到它)。
答案 1 :(得分:1)
你可以尝试
$web = Get-SPWeb http://site/subsite
Get-SPWebTemplate | where {$_.name -like $web.WebTemplate+"*" } | where {$_.name -like "*"+$web.Configuration }
$web.Dispose()
但请记住,某些$ web.Configuration可以是-1。