我们有一个自定义母版页,按照这些说明部署到MySite Web应用程序 - http://www.sharepointblog.com/2008/07/sp2007-custom-master-pages-on-subsites.html
但是,我们要求能够在MySite Web应用程序中的所有网站集上停用该功能。该功能构建为网站集范围。我们如何在具有3000多个MySites的应用程序上停用它们?
答案 0 :(得分:4)
我将构建一个简单的控制台应用程序,它迭代Web应用程序的所有网站集(MySites)并停用该功能。您必须使用提升权限(SPSecurity.RunWithElevatedPrivileges)运行此代码,以便您有权停用网站集功能。
private static void DeleteWebsiteCollections()
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPWebApplication webApp = SPWebApplication.Lookup(new Uri("http://MySiteHostWebApp"));
SPSiteCollection mySites = webApp.Sites;
foreach (SPSite site in mySites)
{
site.Features.Remove(new Guid("place your feature id here"));
if (null != site)
{
site.Dispose();
}
}
});
}
答案 1 :(得分:0)
此代码可以装订到母版页中。 只有site.Features.Remove(新Guid(“将您的功能ID放在这里”));应该留下来。