كيفية إصلاح CANT_DISABLE_LAST_ADMIN في عمليات نشر Salesforce
يمنع Salesforce إلغاء تفعيل أو تجميد آخر مستخدم نشط يملك صلاحيات System Administrator، لتجنب إغلاق الوصول إلى المؤسسة.
يظهر أثناء: عمليات DML وقت التشغيل لإدارة المستخدمين، وليس أثناء نشر ميتاداتاالمعنى
يظهر خطأ CANT_DISABLE_LAST_ADMIN عندما تحاول عملية إلغاء تفعيل أو تجميد أو إزالة صلاحيات المسؤول من آخر مستخدم نشط يملكها. يفرض Salesforce هذا كإجراء وقائي: لا يمكن استرداد مؤسسة بلا مسؤولين نشطين عبر الواجهة، لذا يرفض النظام التغيير تمامًا بدلاً من السماح بحدوثه عن طريق الخطأ.
ينطبق هذا على أي مستخدم يحمل ما يعادل صلاحيات System Administrator، وليس فقط الملف الشخصي الذي يحمل هذا الاسم حرفيًا، لذا فإن ملفًا شخصيًا مخصصًا أو مجموعة صلاحيات تمنح "Modify All Data" مع "Manage Users" يمكن أن تفعّل نفس الحماية.
الأسباب الشائعة
الحل
- تأكد من وجود مسؤول نشط آخر قبل إلغاء تفعيل أحدهمتحقق من عدد المستخدمين النشطين الذين يملكون صلاحيات System Administrator أو ما يعادلها قبل تنفيذ أي خطوة إلغاء تزويد.
SELECT COUNT(Id) FROM User WHERE IsActive = true AND Profile.PermissionsModifyAllData = true - فعّل المسؤول البديل أولاًرتّب عملية إنهاء الخدمة بحيث يتم تأكيد عمل حساب وصلاحيات المسؤول الجديد قبل تعطيل القديم.
- أضف فحصًا لعدد المسؤولين إلى سكربتات ما قبل النشر أو ما قبل إلغاء التزويدأدرج إجراءً وقائيًا داخل الأتمتة نفسها بحيث لا يمكنها تقديم تغيير من شأنه ترك المؤسسة بلا مسؤولين نشطين.
إزاي Serpent بتمنع ده
يرتبط الوصول إلى المؤسسات في Serpent بسجل المهام والنشر، بحيث يفشل سكربت إلغاء التزويد الذي قد يترك مؤسسة بلا مسؤول نشط بشكل واضح بدلاً من إغلاق sandbox أو scratch org بصمت. راجع مكتبة أخطاء نشر Salesforce.

الوقاية
أخطاء ذات صلة
أسئلة شائعة حول CANT_DISABLE_LAST_ADMIN
ابدأ مجانًا. بدون بطاقة ائتمان، وبدون تثبيت، وبدون التزام.
الإعداد في أقل من 15 دقيقة. لا حاجة لتوظيف مختص DevOps.
