簡介
本文說明如何在提示錯誤「找不到對象使用者」時從Cisco Unity Connection(CUC)Web GUI中刪除終端使用者。
必要條件
需求
思科建議您瞭解以下主題:
- Cisco Unity Connection(CUC)
- 結構化查詢語言(SQL)
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
問題
某些情況下,您需要從CUC管理頁面刪除終端使用者,並且顯示錯誤「找不到對象,使用者」,而無刪除的可能。

情境 1
步驟1.通過CLI導航到主CUC。登入此處並運行命令:運行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.繼續執行delete語句,使用命令: 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
如輸出中所示,錯誤顯示使用者被引用到計畫表。
步驟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(其中subscriberobjectid="ObjectID_from_the_previous_command")運行cuc dbquery unitydirdb delete
admin:run cuc dbquery unitydirdb delete from tbl_notificationdevice where subscriberobjectid='2a6ba228-cd2c-43fb-b43f-72ffb45b16b7'
Rows: 5
步驟3.驗證與使用者配置之間沒有交叉引用。運行命令:run 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(從vw_subscriber中選擇callhandlerobjectid,其中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查詢驗證使用者是否沒有任何來自其他分機的自動助理項: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("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成員身份的一部分:運行cuc dbquery unitydirdb select alias,objectid,object_globaluserobjectid from tbl_alias where 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管理>使用者>使用者頁,然後從Web GUI中刪除要刪除的使用者。