1

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

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

4

2 回答 2

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();
                    }
                }
            });
        }
于 2009-12-18T10:30:38.353 回答
0

此代码也可以装订到母版页中。只有 site.Features.Remove(new Guid("将您的功能 ID 放在这里")); 应该保留。

于 2009-12-19T17:08:08.937 回答