使用PowerShell或STSADM隐藏SP2010网站创建列表的特定站点模板
-
10-12-2019 - |
题
我有一些自定义网站模板..现在我想只隐藏网站创建列表中的模板..
我发现了一些方法可以喜欢编辑webtemp.xml并从UI为每个站点集成..编辑webtemp.xml是不公平的,因为我在生产环境中做到这一点并从UI做到这一点也不是一个解决方案。
但是因为我正在进行生产部署我想要脚本做到这一点..我只想要代码狙击手隐藏这些自定义模板..
我想说,禁用模板不会满足我的要求..因为它会毁了我创建的那些模板......
解决方案
我们可以使用powershell隐藏网站模板,下面的powershell脚本将删除除“团队站点”以外的所有模板和“博客”。
$Web = Get-SPWeb "http://sharepoint.crescent.com/teams/"
$Web.AllProperties["__WebTemplates"] = "<webtemplates><lcid id=""all""><webtemplate name=""STS#0"" /><webtemplate name=""BLOG#0"" /></lcid></webtemplates>"
#To Reset to Default, Use: $Web.AllowAllWebTemplates()
$Web.Update()
.
您也可以隐藏自定义站点模板,仅通过在上面的代码中传递模板ID。
我们还可以以编程方式隐藏网站模板,使用以下链接以编程方式进行。