Introduction
Ce document décrit comment supprimer un utilisateur final de l'interface utilisateur graphique Web de Cisco Unity Connection (CUC) lorsque l'erreur « Object not found User » est affichée.
Conditions préalables
Exigences
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Cisco Unity Connection (CUC)
- Langage d'interrogation structuré (SQL)
Composants utilisés
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Problème
Dans certains cas, vous devez supprimer un utilisateur final de la page d'administration de CUC et l'erreur « Object not found User » s'affiche sans qu'il soit possible de la supprimer.

Solution 1
Étape 1. Accédez au CUC principal via CLI. Connectez-vous et exécutez la commande : run cuc dbquery unitydirdb SELECT objectId, dtmfaccessd from vw_User WHERE alias = "user_alias"
Cette commande vous permet d'obtenir l'identificateur d'objet associé à l'utilisateur final.
Remarque : Gardez à l'esprit que la requête SQL est sensible à la casse.
admin: run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias = "Lusky"
objectid dtmfaccessid
------------------------------------ ------------
644d3092-ed63-4694-a2ad-e0a5d2c8ad63 803103
Étape 2. Exécutez l'instruction delete à l'aide de la commande : run cuc dbquery unitydirdb execute procedure csp_userdelete(projectid="ObjectID_from_first_command")
Cette commande peut être exécutée avec succès avec les lignes de message : 1 ou avec une erreur.
Une fois terminé, revenez à la page CUC Administration > Users > Users et vérifiez que l'utilisateur a été supprimé. Si ce n'est pas le cas, essayez de le supprimer à nouveau à partir de la page GUI.
Toutefois, si le problème persiste et que l'utilisateur final ne peut pas être supprimé ou si la commande génère une erreur, poursuivez les étapes de dépannage.
Solution 2
Étape 1 : vérifiez si des gestionnaires d’appels sont associés à l’utilisation de la commande : run cuc dbquery unitydirdb select objectid, displayname from vw_callhandler where recipient_subscriberobjectid = "ObjectID_from_first_command"
Étape 2. Supprimez la référence à l’aide de la commande : run cuc dbquery unitydirdb EXECUTE PROCEDURE csp_callhandlerDelete (pObjectId ="ObjectId_from_the_previous_step")
Étape 3. Supprimez l’utilisateur à l’aide de la commande : run cuc dbquery unitydirdb EXECUTE PROCEDURE csp_UserDelete (pObjectId = "ObjectID_from_first_command")
Revenez à la page CUC Administration > Users > Users et vérifiez que l'utilisateur a été supprimé. Si ce n'est pas le cas, essayez de le supprimer à nouveau à partir de la page GUI.
Solution 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
Comme le montre le résultat, l'erreur indique que l'utilisateur est référencé dans les tables de planification.
Étape 1. Exécutez cette commande SQL pour obtenir les informations de la table de planification : 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
Étape 2. Avec le nouvel objet identifié dans la table Planification des notifications, vous pouvez supprimer la référence entre l'utilisateur et la table Périphérique de notification. exécutez cuc dbquery unitydirdb delete depuis 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
Étape 3 : vérifiez qu’il n’existe aucune référence croisée avec la configuration utilisateur. Exécutez la commande : 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
Étape 4. Vérifiez que l'utilisateur n'est associé à aucun gestionnaire d'appels avec la requête SQL : exécutez 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
Remarque : Si des enregistrements ont été trouvés, supprimez la référence avec la commande run cuc dbquery unitydirdb delete from tbl_callaction where objectid="ObjectID_from_the_previous_command"
Étape 5 : vérifiez que l'utilisateur ne dispose d'aucune entrée de standard automatique provenant d'autres postes avec la requête SQL : exécutez 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
Remarque : Si des enregistrements ont été trouvés, supprimez la référence avec la commande run cuc dbquery unitydirdb delete from vw_callhandler where objectid="ObjectID_from_the_previous_command"
Étape 6. Confirmez que l'utilisateur fait partie de l'appartenance à la banque de messages à l'aide de la commande : 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
Comme nous l'avons vu, le même identificateur d'objet est attribué à deux utilisateurs. Par conséquent, continuez avec la suppression du second utilisateur, qui a un alias différent de celui que vous voulez supprimer avec la commande : run cuc dbquery unitydirdb select objectid, dtmfaccessd from tbl_Globaluser where alias='second_user_alias'
admin : exécutez cuc dbquery unitydirdb select objectid, dtmfaccessd from tbl_Globaluser where alias='2861'
lignes : 1
Revenez à la page CUC Administration > Users > Users et supprimez l'utilisateur que vous souhaitez supprimer de l'interface utilisateur graphique Web.