我有一些自定义网站模板..现在我想只隐藏网站创建列表中的模板..

我发现了一些方法可以喜欢编辑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。

SharePoint站点模板ID参考

我们还可以以编程方式隐藏网站模板,使用以下链接以编程方式进行。

隐藏SharePoint 2010 Web模板以编程方式

注意:

请在测试环境中测试上述PowerShell代码,然后在生产环境中使用它。

希望这有助于您。

许可以下: CC-BY-SA归因
scroll top