在MySite上停用网站集功能

时间:2009-12-18 03:43:35

标签: sharepoint mysite

我们有一个自定义母版页,按照这些说明部署到MySite Web应用程序 - http://www.sharepointblog.com/2008/07/sp2007-custom-master-pages-on-subsites.html

但是,我们要求能够在MySite Web应用程序中的所有网站集上停用该功能。该功能构建为网站集范围。我们如何在具有3000多个MySites的应用程序上停用它们?

2 个答案:

答案 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放在这里”));应该留下来。