简介
本文档介绍在提示错误“未找到对象”(Object not found User)时,如何从Cisco Unity Connection(CUC)Web GUI中删除最终用户。
先决条件
要求
Cisco 建议您了解以下主题:
- 思科 Unity Connection (CUC)
- 结构化查询语言(SQL)
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
问题
有时需要从CUC管理页面删除最终用户,并且显示错误“找不到对象”(Object not found User),但不能将其删除。

解决方案 1
步骤1.通过CLI导航到主CUC。登录此处并运行命令:run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias ="user_alias"
此命令将为您获取与最终用户关联的对象标识符。
admin: run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias = "Lusky"
objectid dtmfaccessid
------------------------------------ ------------
644d3092-ed63-4694-a2ad-e0a5d2c8ad63 803103
步骤2.继续执行删除语句,使用命令:run cuc dbquery unitydirdb execute procedure csp_userdelete(pobjectid="ObjectID_from_first_command")
此命令可成功执行,消息行为:1或出错。
完成后,返回CUC Administration > Users > Users页,并确认用户已被删除,如果没有,请尝试从GUI页再次将其删除。
但是,如果问题仍然存在,并且最终用户无法删除或命令引发错误,请继续执行故障排除步骤。
解决方案 2
步骤1.验证是否存在与命令的使用相关的调用处理程序:运行cuc dbquery unitydirdb select objectid, displayname from vw_callhandler where recipient_subscriberobjectid = "ObjectID_from_first_command"
步骤2.使用命令删除参照:运行cuc dbquery unitydirdb EXECUTE PROCEDURE csp_callhandlerDelete(pObjectId ="ObjectId_from_the_previous_step")
步骤3.使用以下命令删除用户:运行cuc dbquery unitydirdb EXECUTE PROCEDURE csp_UserDelete(pObjectId ="ObjectID_from_first_command")
返回CUC Administration > Users > Users页,并确认该用户已被删除,如果没有,请尝试从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
如输出所示,错误显示用户被引用到Schedules Tables。
步骤1.运行此SQL命令,从调度表获取信息:运行cuc dbquery unitydirdb select displayname, objectid from vw_scheduleset where 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步:通过“通知计划”表中标识的新对象,可以删除用户和通知设备表之间的引用。从tbl_notificationdevice运行cuc dbquery unitydirdb delete,其中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 * from vw_subscriberreference where objectid IN(select objectid from vw_subscriber where alias ="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 select objectid from tbl_callaction where targethandlerobjectid IN(select callhandlerobjectid from vw_subscriber where 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
注意:如果找到记录,请使用命令run cuc dbquery unitydirdb delete from tbl_callaction where objectid="ObjectID_from_the_previous_command"删除引用
第5步:使用SQL查询验证用户是否没有任何来自其他分机的自动总机条目:运行cuc dbquery unitydirdb select displayname from vw_callhandler where objectid =(select callhandlerobjectid from vw_menu entry where targethandlerobjectid IN(select callhandlerobjectid from vw_subscriber where fn_tolower(alias)= lower("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
注意:如果找到记录,请使用命令run cuc dbquery unitydirdb delete from vw_callhandler where objectid="ObjectID_from_the_previous_command"删除引用
步骤6.使用命令确认用户是mailstore成员身份的一部分:从tbl_alias运行cuc dbquery unitydirdb select alias,objectid,object_globaluserobjectid,其中object_globaluserobjectid="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
如所见,相同的对象标识符被分配给两个用户。因此,继续删除第二个用户,该用户的别名与您要删除的用户的别名不同,请使用命令:run cuc dbquery unitydirdb select objectid,dtmfaccessid from tbl_Globaluser where alias='second_user_alias'
admin:运行cuc dbquery unitydirdb select objectid,dtmfaccessid from tbl_Globaluser where alias='2861'
行:1
导航回CUC Administration > Users > Users页面,并从Web GUI中删除要删除的用户。