تعطيل ميزة مجموعة الموقع على يتطابق مع mysite

StackOverflow https://stackoverflow.com/questions/1926152

  •  20-09-2019
  •  | 
  •  

سؤال

لدينا صفحة رئيسية مخصصة التي يتم نشرها إلى تطبيق ويب مع mysite في هذه التعليمات - http://www.sharepointblog.com/ 2008/07 / sp2007 خصيصا للماجستير صفحات على اساس subsites.html

ومع ذلك، نحن بحاجة إلى القدرة على تعطيل الميزة على جميع مجموعات المواقع التي تقع ضمن تطبيق ويب مع mysite. وقد تم بناء ميزة كما هو نطاق مجموعة الموقع. كيف لنا أن إلغاء منهم على تطبيق يحتوي يحتمل 3000+ MySites؟

هل كانت مفيدة؟

المحلول

وأود أن إنشاء تطبيق وحدة تحكم بسيطة والتي تتكرر على كل مجموعات الموقع (MySites) من تطبيق الويب الخاص بك ويعطل هذه الميزة. سيكون لديك لتشغيل هذه القطعة من التعليمات البرمجية مع امتيازات رفع (<لأ href = "http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx" يختلط = "noreferrer نوفولو "> 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();
                    }
                }
            });
        }

نصائح أخرى

ويمكن تدبيس هذا الرمز في الصفحات الرئيسية ل. فقط site.Features.Remove (ارشد الجديد ( "ضع معرف الميزة هنا"))؛ يجب أن تبقى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top