Introduzione
Questo documento descrive come eliminare un utente finale dalla GUI Web di Cisco Unity Connection (CUC) quando viene richiesto l'errore "Object not found User" (Oggetto non trovato dall'utente).
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Cisco Unity Connection (CUC)
- SQL (Structured Query Language)
Componenti usati
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Problema
In alcuni casi, quando è necessario eliminare un utente finale dalla pagina Amministrazione CUC, viene visualizzato l'errore "Object not found User" (Oggetto non trovato utente) senza la possibilità di eliminarlo.

Soluzione 1
Passaggio 1. Passare alla CLI principale tramite CLI. Eseguire il login ed eseguire il comando: run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias = "user_alias"
Questo comando ottiene l'identificatore di oggetto associato all'utente finale.
Nota: Tenere presente che la query SQL fa distinzione tra maiuscole e minuscole.
admin: run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias = "Lusky"
objectid dtmfaccessid
------------------------------------ ------------
644d3092-ed63-4694-a2ad-e0a5d2c8ad63 803103
Passaggio 2. Procedere con l'esecuzione dell'istruzione delete, con il comando: run cuc dbquery unitydirdb execute procedure csp_userdelete(pobjectid="ObjectID_from_first_command")
Questo comando può essere eseguito correttamente con le righe del messaggio: 1 o con un errore.
Al termine, tornare alla pagina Amministrazione CUC > Utenti > Utenti e confermare che l'utente è stato eliminato. In caso contrario, provare a eliminarlo nuovamente dalla pagina GUI.
Se tuttavia il problema persiste e l'utente finale non può essere eliminato o il comando genera un errore, procedere con la procedura di risoluzione dei problemi.
Soluzione 2
Passaggio 1. Verificare se esistono gestori di chiamate associati all'utilizzo con il comando: esegui cuc dbquery unitydirdb select objectid, displayname from vw_callhandler where destination_subscriberobjectid = "ObjectID_from_first_command"
Passaggio 2. Eliminare il riferimento con il comando: esegui cuc dbquery unitydirdb EXECUTE PROCEDURE csp_callhandlerDelete (pObjectId ="ObjectId_da_passo_precedente")
Passaggio 3. Eliminare l'utente con il comando: esegui cuc dbquery unitydirdb EXECUTE PROCEDURE csp_UserDelete (pObjectId = "ObjectID_from_first_command")
Tornare alla pagina Amministrazione CUC > Utenti > Utenti e confermare che l'utente è stato eliminato; in caso contrario, provare a eliminarlo nuovamente dalla pagina GUI.
Soluzione 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
Come mostrato nell'output, l'errore indica che l'utente fa riferimento alle tabelle di programmazione.
Passaggio 1. Eseguire questo comando SQL per ottenere le informazioni dalla tabella Pianificazione: run 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
Passaggio 2. Con il nuovo oggetto identificato dalla tabella Pianificazione notifica, è possibile eliminare il riferimento tra l'utente e la tabella Dispositivo di notifica. eseguire cuc dbquery unitydirdb delete da tbl_notificationdevice where subscriberobjectid="ObjectID_from_the_PREVIOUS_command"
admin:run cuc dbquery unitydirdb delete from tbl_notificationdevice where subscriberobjectid='2a6ba228-cd2c-43fb-b43f-72ffb45b16b7'
Rows: 5
Passaggio 3. Verificare che non siano presenti riferimenti incrociati con la configurazione utente. Eseguire il comando: 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
Passaggio 4. Convalidare che l'utente non sia associato ad alcun gestore chiamate con la query SQL: eseguire cuc dbquery unitydirdb select objectid from tbl_callaction where targethandlerobjectid IN (selezionare 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
Nota: Se sono stati trovati record, eliminare il riferimento con il comando run cuc dbquery unitydirdb delete da tbl_callaction dove objectid="ObjectID_from_the_PREVIOUS_command"
Passaggio 5. Verificare che l'utente non disponga di voci di operatore automatico da altre estensioni con la query SQL: esegui 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
Nota: Se sono stati trovati record, eliminare il riferimento con il comando run cuc dbquery unitydirdb delete da vw_callhandler where objectid="ObjectID_from_the_PREVIOUS_command"
Passaggio 6. Confermare che l'utente faccia parte dell'appartenenza al mailstore con il comando: run 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
Come si è visto, lo stesso identificatore di oggetto viene assegnato a due utenti. Procedere quindi con l'eliminazione del secondo utente, che ha un alias diverso da quello che si desidera eliminare con il comando: run cuc dbquery unitydirdb select objectid,dtmfaccessid from tbl_Globaluser where alias='second_user_alias'
admin: esegui cuc dbquery unitydirdb select objectid,dtmfaccessid from tbl_Globaluser where alias='2861'
righe: 1
Tornare alla pagina Amministrazione CUC > Utenti > Utenti ed eliminare l'utente che si desidera eliminare dalla GUI Web.