質問

カスタムサイトテンプレートをいくつか持っています。これで、サイト作成リストからそれらのテンプレートを非表示にしたいだけです。

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サイトテンプレートIDSリファレンス

サイトテンプレートをプログラム的に非表示にすることもできます。プログラムで行うには、以下のリンクを使用してください。

SharePoint 2010 Webテンプレートをプログラムで非表示/ a>

注:

テスト環境で上記のPowerShellコードをテストしてから、生産環境で使用してください。

これがあなたを助けることを願っています。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top