سؤال

في برنامج نصي بسيط PowerShell الخاص بي، أستمر في الحصول على خطأ "استدعاء الاستثناء" RESEROOLINIRITANCE ": هناك تغييرات غير مرتبطة على كائن Spweb، اتصل ب SPWEB.UPDATE () لارتكاب cahnges قبل الاتصال بهذه الطريقة."

أنا أحاول إعادة تعيين جميع الفعالية ذات الأذونات الموروثة استعدادا لتنظيف الأذونات الخاصة بفريق عملائنا.أين يجب أن أضع spweb.update () في التعليمات البرمجية التالية؟ giveacodicetagpre.

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

المحلول

This works... for some reason. I have no idea why, really. It most definately could be cleaned up i'm sure as well:

$spWeb = Get-SPWeb "http://<site collection>/<subsite>/"

Echo "Resetting Permission Inheritance for Site: $spWeb"


foreach($subSite in $spWeb.Webs)
{
  $subSite.Update()
  Echo "Resetting Permission Inheritance for SubSite: $subSite"
  $subSite.ResetRoleInheritance()
  $subSite.Update()
  $subSite.Dispose()
}
$spWeb.ResetRoleInheritance()
$spWeb.Update()
$spWeb.Dispose()

نصائح أخرى

تعبت من التعامل مع هذه المشكلة لذلك حصلت حوله من خلال جلب كل SPWEB بشكل فردي، باستخدام قائمة من عناوين URL كصفيف مناوين URL كصفيف أجيالشيء من هذا القبيل: giveacodicetagpre.

(نسخ ولصق عناوين URL من / من ملف نصي إلى جلسة PowerShell الجديدة) giveacodicetagpre.

ربما ليس حلا رائعا للنصوص الآلي لكنه حصلني على الخط.

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