Introdução
Este documento descreve como excluir um usuário final da GUI da Web do Cisco Unity Connection (CUC) quando o erro "Object not found User" é solicitado.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Cisco Unity Connection (CUC)
- Linguagem de Consulta Estruturada (SQL)
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Problema
Há instâncias em que é necessário excluir um usuário final da página Administração do CUC, e o erro "Object not found User" é exibido sem a possibilidade de excluí-lo.

Solução 1
Etapa 1. Navegue até o CUC principal via CLI. Faça login e execute o comando: run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias = "user_alias"
Esse comando fornece o identificador de objeto associado ao usuário final.
Note: Lembre-se de que a consulta SQL diferencia maiúsculas de minúsculas.
admin: run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias = "Lusky"
objectid dtmfaccessid
------------------------------------ ------------
644d3092-ed63-4694-a2ad-e0a5d2c8ad63 803103
Etapa 2. Prossiga com a execução da instrução delete, com o comando: run cuc dbquery unitydirdb execute procedure csp_userdelete(pobjectid="ObjectID_from_first_command")
Este comando pode ser executado com êxito com as linhas de mensagem: 1 ou com um erro.
Depois de concluído, retorne à página Administração do CUC > Usuários > Usuários e confirme se o usuário foi excluído. Caso contrário, tente excluí-lo novamente da página da GUI.
No entanto, se o problema persistir e o usuário final não puder ser excluído ou o comando emitir um erro, continue com as etapas de solução de problemas.
Solução 2
Etapa 1. Valide se há manipuladores de chamadas associados ao uso com o comando: run cuc dbquery unitydirdb select objectid, displayname from vw_callhandler where recipient_subscriberobjectid = "ObjectID_from_first_command"
Etapa 2. Exclua a referência com o comando: execute cuc dbquery unitydirdb EXECUTE PROCEDURE csp_callhandlerDelete (pObjectId ="ObjectId_from_the_previous_step")
Etapa 3. Exclua o usuário com o comando: execute cuc dbquery unitydirdb EXECUTE PROCEDURE csp_UserDelete (pObjectId = "ObjectID_from_first_command")
Retorne à página CUC Administration > Users > Users e confirme que o usuário foi excluído. Caso contrário, tente excluí-lo novamente da página da GUI.
Solução 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
Como visto na saída, o erro indica que o usuário é consultado nas Tabelas de Agendamentos.
Etapa 1. Execute este comando SQL para obter informações da Tabela de Programação: 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
Etapa 2. Com o novo Objeto Identificado na tabela Programação de Notificação, você pode deletar a referência entre o usuário e a Tabela do Dispositivo de Notificação. execute cuc dbquery unitydirdb delete from 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
Etapa 3. Valide se não há referências cruzadas com a configuração do usuário. Execute o comando: run cuc dbquery unitydirdb select * from vw_subscriberreference where objectid IN (selecione 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
Etapa 4. Valide se o usuário não está associado a nenhum Manipulador de chamadas com a consulta SQL: run 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
Note: Se registros foram encontrados, exclua a referência com o comando run cuc dbquery unitydirdb delete from tbl_callaction where objectid="ObjectID_from_the_previous_command"
Etapa 5. Valide se o usuário não tem nenhuma entrada de atendimento automático de outras extensões com a consulta 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
Note: Se registros foram encontrados, exclua a referência com o comando run cuc dbquery unitydirdb delete from vw_callhandler where objectid="ObjectID_from_the_previous_command"
Etapa 6. Confirme se o usuário faz parte da associação do mailstore com o 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
Como visto, o mesmo identificador de objeto é atribuído a dois usuários. Portanto, continue com a exclusão do segundo usuário, que tem um alias diferente daquele que você deseja excluir com o comando: run cuc dbquery unitydirdb select objectid,dtmfaccessid from tbl_Globaluser where alias='second_user_alias'
admin: execute cuc dbquery unitydirdb select objectid,dtmfaccessid from tbl_Globaluser where alias='2861'
linhas: 1
Navegue de volta para a página Administração CUC > Usuários > Usuários e exclua o usuário que você deseja excluir da GUI da Web.