Einleitung
In diesem Dokument wird beschrieben, wie ein Endbenutzer aus der Web-GUI von Cisco Unity Connection (CUC) gelöscht wird, wenn die Meldung "Object not found User" (Objekt nicht gefunden - Benutzer) angezeigt wird.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Cisco Unity Connection (CUC)
- SQL (Structured Query Language)
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Problem
Es gibt Fälle, in denen Sie einen Endbenutzer von der Seite "CUC-Verwaltung" löschen müssen und der Fehler "Objekt nicht gefunden - Benutzer" angezeigt wird, ohne dass Sie ihn löschen können.

Lösung 1
Schritt 1: Navigieren Sie über die CLI zum primären CUC. Melden Sie sich dort an, und führen Sie den folgenden Befehl aus: run cuc dbquery unitydirdb SELECT objectId, dtmfaccess sid from vw_User WHERE alias = "user_alias"
Mit diesem Befehl erhalten Sie die Objektkennung, die dem Endbenutzer zugeordnet ist.
Anmerkung: Beachten Sie, dass bei der SQL-Abfrage zwischen Groß- und Kleinschreibung unterschieden wird.
admin: run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias = "Lusky"
objectid dtmfaccessid
------------------------------------ ------------
644d3092-ed63-4694-a2ad-e0a5d2c8ad63 803103
Schritt 2. Fahren Sie mit der Ausführung der delete-Anweisung mit dem folgenden Befehl fort: führen Sie die cuc dbquery unitydirdb-Ausführungsprozedur csp_userdelete(pobjectid="ObjectID_from_first_command") aus.
Dieser Befehl kann mit den folgenden Meldungszeilen erfolgreich ausgeführt werden: 1 oder mit einem Fehler.
Kehren Sie anschließend zur Seite CUC Administration > Users > Users zurück, und bestätigen Sie, dass der Benutzer gelöscht wurde. Wenn dies nicht der Fall ist, löschen Sie den Benutzer erneut von der GUI-Seite.
Wenn das Problem jedoch weiterhin besteht und der Endbenutzer nicht gelöscht werden kann oder der Befehl einen Fehler auslöst, fahren Sie mit den Schritten zur Fehlerbehebung fort.
Lösung 2
Schritt 1. Überprüfen Sie, ob der Verwendung mit dem Befehl Anrufhandler zugeordnet sind: Ausführen cuc dbquery unitydirdb select objectid, Anzeigename von vw_callhandler, wobei empfänger_subscriberobjectid = "ObjectID_from_first_command"
Schritt 2. Löschen Sie die Referenz mit dem folgenden Befehl: Ausführen cuc dbquery unitydirdb EXECUTE PROCEDURE csp_callhandlerDelete (pObjectId ="ObjectId_from_the_previous_step")
Schritt 3. Löschen Sie den Benutzer mit dem folgenden Befehl: Ausführen cuc dbquery unitydirdb EXECUTE PROCEDURE csp_UserDelete (pObjectId = "ObjectID_from_first_command")
Kehren Sie zur Seite CUC Administration > Users > Users zurück, und bestätigen Sie, dass der Benutzer gelöscht wurde. Wenn dies nicht der Fall ist, versuchen Sie, den Benutzer erneut von der GUI-Seite zu löschen.
Lösung 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
Wie in der Ausgabe zu sehen, wird der Fehler angezeigt, dass auf den Benutzer in den Tabellen für Zeitpläne verwiesen wird.
Schritt 1. Führen Sie diesen SQL-Befehl aus, um die Informationen aus der Zeitplantabelle abzurufen: Führen Sie cuc dbquery unitydirdb aus, wählen Sie displayName, objectid aus vw_scheduleSet aus, wobei 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
Schritt 2. Mit dem neuen Objekt identifiziert aus der Benachrichtigungsplantabelle können Sie den Verweis zwischen dem Benutzer und der Benachrichtigungsgerätetabelle löschen. Führen Sie cuc dbquery unitydirdb delete aus tbl_notificationDevice aus, wobei subscriberobjectid="ObjectID_from_the_previous_command"
admin:run cuc dbquery unitydirdb delete from tbl_notificationdevice where subscriberobjectid='2a6ba228-cd2c-43fb-b43f-72ffb45b16b7'
Rows: 5
Schritt 3: Überprüfen Sie, ob keine Querverweise zur Benutzerkonfiguration vorhanden sind. Führen Sie den Befehl aus: führen Sie cuc dbquery unitydirdb select * aus vw_subscriberreference aus, wobei objectid IN (wählen Sie objectid aus vw_subscriber aus, wobei 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
Schritt 4. Überprüfen Sie, ob der Benutzer keinem Anrufhandler mit der SQL-Abfrage zugeordnet ist: führen Sie cuc dbquery unitydirdb aus Wählen Sie objectid aus tbl_callaction aus, wobei targetHandlerObjectID IN (wählen Sie callhandlerobjectid aus vw_subscriber aus, wobei 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
Anmerkung: Wenn Datensätze gefunden wurden, löschen Sie den Verweis mit dem Befehl cuc dbquery unitydirdb delete from tbl_callaction where objectid="ObjectID_from_the_previous_command"
Schritt 5. Überprüfen Sie, dass der Benutzer keinen Eintrag für die automatische Anrufvermittlung von anderen Durchwahlen mit der SQL-Abfrage hat: Führen Sie cuc dbquery unitydirdb aus, wählen Sie den Anzeigenamen von vw_callhandler aus, wobei objectid = (wählen Sie callhandlerobjectid aus vw_menuentry aus, wobei targetHandlerObjectID IN (wählen Sie callhandlerobjectid aus vw_participant aus, wobei 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
Anmerkung: Wenn Datensätze gefunden wurden, löschen Sie den Verweis mit dem Befehl cuc dbquery unitydirdb delete from vw_callhandler where objectid="ObjectID_from_the_previous_command"
Schritt 6. Bestätigen Sie mit dem Befehl, dass der Benutzer Teil der Mailstore-Mitgliedschaft ist: Führen Sie cuc dbquery unitydirdb select alias,objectid,object_globaluserobjectid aus tbl_alias aus, wobei object_globaluserobjectid="ObjectID_from_first_command" ist.
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
Wie man sieht, wird der gleiche Objektbezeichner zwei Benutzern zugewiesen. Fahren Sie daher mit dem Löschen des zweiten Benutzers fort, der einen anderen Alias hat als der, den Sie mit dem Befehl löschen möchten: führen Sie cuc dbquery unitydirdb aus, wählen Sie objectid,dtmfaccessSid aus tbl_Globaluser aus, wobei alias='second_user_alias'
admin: run cuc dbquery unitydirdb select objectid,dtmfaccess sid from tbl_Globaluser where alias='2861'
Zeilen: 1
Navigieren Sie zurück zur Seite CUC Administration > Users > Users (CUC-Verwaltung > Benutzer > Benutzer), und löschen Sie den Benutzer, den Sie aus der Web-GUI löschen möchten.