المقدمة
يوضح هذا المستند كيفية حذف مستخدم نهائي من واجهة المستخدم الرسومية (CUC) الخاصة بويب لاتصال وحدة التحكم من Cisco عندما يتم مطالبة الخطأ "كائن لم يتم العثور على مستخدم".
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- Cisco Unity Connection (CUC)
- لغة الاستعلام المهيكلة (SQL)
المكونات المستخدمة
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
المشكلة
توجد مثيلات عندما يكون مطلوبا منك حذف مستخدم نهائي من صفحة إدارة CUC، ويتم عرض الخطأ "كائن لم يتم العثور على مستخدم" بدون إمكانية حذفه.

الحل 1
الخطوة 1. انتقل إلى CUC الأساسي عبر CLI. سجل الدخول هناك وقم بتشغيل الأمر: قم بتشغيل CUC dbquery unitydirdb SELECT ObjectId، dtmfaccessSid من vw_User حيث الاسم المستعار = "user_alias"
يتيح لك هذا الأمر معرف الكائن المقترن بالمستخدم النهائي.
ملاحظة: تذكر أن استعلام SQL حساس لحالة الأحرف.
admin: run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias = "Lusky"
objectid dtmfaccessid
------------------------------------ ------------
644d3092-ed63-4694-a2ad-e0a5d2c8ad63 803103
الخطوة 2. تابع تنفيذ جملة الحذف، باستخدام الأمر: قم بتشغيل CUC dbquery unitydirdb تنفيذ الإجراء csp_userDelete(pobjectid="ObjectID_from_first_command")
يمكن تنفيذ هذا الأمر بنجاح باستخدام صفوف الرسالة: 1 أو مع خطأ.
بمجرد الانتهاء، ارجع إلى صفحة إدارة CUC > Users > Users > Users وتأكد من حذف المستخدم، إذا لم يكن قد تم ذلك، حاول حذفه مرة أخرى من صفحة واجهة المستخدم الرسومية (GUI).
ومع ذلك، إذا إستمرت المشكلة، وتعذر حذف المستخدم النهائي أو تسبب الأمر في حدوث خطأ، فقم بمتابعة خطوات أستكشاف الأخطاء وإصلاحها.
الحل 2
الخطوة 1. التحقق من صحة ما إذا كان هناك معالجات مكالمات مقترنة بالاستخدام مع الأمر: قم بتشغيل CUC dbquery unitydirdb حدد object، displayName من vw_callhandler حيث recipient_subscriberobjectid = "ObjectID_from_first_command"
الخطوة 2. احذف المرجع باستخدام الأمر: تشغيل CUC dbquery unitydirdb Execute Procedure CSP_callhandlerDelete (pObjectId ="ObjectId_from_the_the_previous_step")
الخطوة 3. احذف المستخدم باستخدام الأمر: تشغيل CUC dbquery unitydirdb Execute Procedure CSP_UserDelete (pObjectId = "ObjectID_from_first_command")
ارجع إلى صفحة إدارة مركز التحكم في الوصول (CUC) > المستخدمون > المستخدمون وتأكد من حذف المستخدم، إذا لم يكن كذلك، حاول حذفه مرة أخرى من صفحة واجهة المستخدم الرسومية (GUI).
الحل 3
admin:run cuc dbquery unitydirdb execute procedure csp_userdelete(pobjectid='644d3092-ed63-4694-a2ad-e0a5d2c8ad63')
Key value for constraint (informix.pk_tbl_scheduleset) is still being referenced.
Command failed
كما هو موضح في الإخراج، يظهر الخطأ أنه تتم الإشارة إلى المستخدم إلى جداول الجداول.
الخطوة 1. قم بتشغيل أمر SQL هذا للحصول على المعلومات من جدول الجدولة: قم بتشغيل CUC dbquery unitydirdb حدد displayName، object من vw_scheduleset حيث owner_subscriberobjectid = ObjectID_from_first_command
admin:run cuc dbquery unitydirdb select displayname, objectid from vw_scheduleset where owner_subscriberobjectid ='644d3092-ed63-4694-a2ad-e0a5d2c8ad63'
displayname objectid
-------------------------------------------------------------- ------------------------------------
Notification Schedule for 645b0777-d6f4-4f99-9d1c-62916e8f0bb5 e44b5344-0889-4f75-8a6f-778eab98988e
الخطوة 2. مع تحديد كائن جديد من جدول الإعلامات، يمكنك حذف المرجع بين المستخدم وجدول أجهزة الإعلامات. قم بتشغيل CUC dbquery unitydirdb delete من tbl_notificationdevice حيث subscriberobjectid="ObjectID_from_the_previous_command"
admin:run cuc dbquery unitydirdb delete from tbl_notificationdevice where subscriberobjectid='2a6ba228-cd2c-43fb-b43f-72ffb45b16b7'
Rows: 5
الخطوة 3. تأكد من عدم وجود مراجع تبادلية مع تكوين المستخدم. قم بتشغيل الأمر: قم بتشغيل CUC dbquery unitydirdb select * من vw_subscriberreference حيث يكون Object IN (حدد ObjectD من vw_subscriber حيث الاسم المستعار = "user_alias")
admin:run cuc dbquery unitydirdb select * from vw_subscriberreference where objectid IN (select objectid from vw_subscriber where alias = "Lusky")
objectid displayname referencetype referrerobjectid referrerobjecttype
------------------------------------ ----------- ------------- ------------------------------------ ------------------
2a6ba228-cd2c-43fb-b43f-72ffb45b16b7 Lusky Recipient cbc63641-2eb6-4590-93a1-9bbdaeabbb63 3
الخطوة 4. تأكد من عدم إقران المستخدم بأي معالجات مكالمات مع استعلام SQL: قم بتشغيل CUC dbquery unitydirdb حدد الهدف من tbl_callAction حيث يقوم targetHandlerobjectid IN (حدد callHandlerobjectid من vw_subscriber حيث fn_tolower(alias) = fn_tolower("user_alias")
admin:run cuc dbquery unitydirdb select objectid from tbl_callaction where targethandlerobjectid IN (select callhandlerobjectid from vw_subscriber where fn_tolower(alias) = fn_tolower("Lusky"))
No records found
ملاحظة: إذا تم العثور على سجلات، فقم بحذف المرجع باستخدام الأمر تشغيل CUC dbquery unitydirdb delete من tbl_callaction حيث object="ObjectID_from_the_previous_command
الخطوة 5. تأكد من عدم وجود أي إدخال رد تلقائي لدى المستخدم من ملحقات أخرى باستعلام SQL: قم بتشغيل CUC dbquery unitydirdb حدد اسم العرض من vw_callhandlerHandlerObjectD من vw_menuentry حيث يكون targetHandlErobjectid IN (حدد callhandlerobjectid من vw_subscriber حيث fn_tolower(alias) = أقل("user_alias"))
admin:run cuc dbquery unitydirdb select displayname from vw_callhandler where objectid = (select callhandlerobjectid from vw_menuentry where targethandlerobjectid IN (select callhandlerobjectid from vw_subscriber where fn_tolower(alias) = lower('Lusky')))
No records found
ملاحظة: إذا تم العثور على سجلات، فقم بحذف المرجع باستخدام الأمر تشغيل CUC dbquery unitydirdb delete من vw_callhandler حيث object="ObjectID_from_the_previous_command
الخطوة 6. تأكد من أن المستخدم جزء من عضوية مخزن البريد باستخدام الأمر: قم بتشغيل CUC dbquery unitydirdb حدد الاسم المستعار والمضمون وobject_globalUserObject من tbl_alias حيث object_globalUserObject="ObjectID_from_first_command"
admin:run cuc dbquery unitydirdb select alias,objectid,object_globaluserobjectid from tbl_alias where object_globaluserobjectid='813af2a0-fce7-42ad-ac4e-d150e769a26e'
alias objectid object_globaluserobjectid
----- ------------------------------------- ----------------------------------------
Lusky 96a1f758-432e-4b9e-ac89-daa0c06489ad 644d3092-ed63-4694-a2ad-e0a5d2c8ad63
Ansky 92eefd9-6ee0-4afc-9567-50726bf3b41f 644d3092-ed63-4694-a2ad-e0a5d2c8ad63
كما هو موضح، يتم تعيين نفس معرف الكائن لمستخدمين إثنين. لذلك، استمر في حذف المستخدم الثاني، والذي يحتوي على اسم مستعار مختلف عن الاسم الذي تريد حذفه باستخدام الأمر: قم بتشغيل CUC dbquery unitydirdb حدد object،dtmfaccessSid من tbl_globaluser حيث الاسم المستعار='second_user_alias'
admin: قم بتشغيل dbquery unitydirdb حدد object،dtmfaccessSid من tbl_globalUser حيث الاسم المستعار='2861'
الصفوف: 1
انتقل مرة أخرى إلى إدارة CUC > Users > Users > Users واحذف المستخدم الذي تريد حذفه من واجهة المستخدم الرسومية (GUI) عبر الويب.