fragen stichworte

Windows QUEUE MESSAGES-Fehler beim Öffnen - Die Liste der Nachrichten kann nicht abgerufen werden. Fehler: Zugriff wird verweigert

Problem:

Beim Öffnen von Fenstern "QUEUE MESSAGES" unter Windows Server 2003 wurde die Fehlermeldung

angezeigt
"The list of messages cannot be retrieved. Error: Access is denied"

Warum?

Nach folgenden Schritten neu erstellt:

  • Windows Server 2003-Standard 64-Bit
  • Klicken Sie mit der rechten Maustaste auf MEIN COMPUTER
  • Wählen Sie MANAGE
  • DIENSTLEISTUNGEN
  • NACHRICHTEN WARTEN
  • PRIVATE QUEUE
  • MYSERVICE
  • Warteschlangenmeldungen

Fehlermeldung:

"The list of messages cannot be retrieved. Error: Access is denied."

Derzeitiges Setup/Konfiguration:

  • Als lokaler Administrator angemeldet.
  • Maschine steht alleine.
  • WCF-Dienst wird ausgeführt (mit WCF-spezifischem Benutzer)
  • WCF-Benutzerkonto ist Mitglied der lokalen ADMIN-Gruppe.
  • dot net 4.0.
  • Der Messing Queuing-Dienst wird ausgeführt (lokales System)
  • Möglicherweise wurde der Fehler durch eine Berechtigung verursacht.

antworten

Dies kann passieren, wenn der .NET-Dienst die Gruppe "Jeder" aus den Berechtigungen der privaten Warteschlange entfernt hat. Hier sind einige Schritte, die Sie zur Lösung dieses Problems ausführen können:

  1. Stoppen Sie den MSMQ-Dienst
  2. Öffnen Sie den Ordner C: \ WINDOWS \ system32 \ msmq \ storage \ lqs
  3. Suchen Sie die Datei in diesem Ordner, die Ihre Warteschlange beschreibt - (incommingQueue)
  4. Öffnen Sie mit dem Editor die lqs-Datei für eine andere private Warteschlange mit guten Sicherheitsberechtigungen. (Wenn Sie keine anderen privaten Warteschlangen haben, erstellen Sie eine.)
  5. Suchen Sie die Zeile in der Datei, die mit Security = ... beginnt.
  6. Kopieren Sie die gesamte Zeile in Ihre Zwischenablage (achten Sie auf Word-Wrap, diese Zeile ist ziemlich lang)
  7. Öffnen Sie die lqs-Datei für Ihre Problemwarteschlange in Ihrem Texteditor
  8. Überschreiben Sie die Zeile Security = ... in dieser Datei mit dem Inhalt Ihrer Zwischenablage
  9. Speichern Sie die geänderte lqs-Datei
  10. Starten Sie den MSMQ-Dienst

Sie sollten feststellen, dass die Problemwarteschlange jetzt die gleichen Berechtigungen hat wie die Warteschlange, deren Sicherheitseinstellungen Sie in Schritt 6 oben kopiert haben.

Wenn Sie den Sicherheitszeichenfolgenwert einer Warteschlangendatei bearbeiten, wie in der Antwort von @scott_lotus beschrieben, kann dies ein wenig fehleranfälliger Prozess sein und Sie haben keine Ahnung, was Sie mit der Warteschlangen-ACL machen. Wie bei @Ish erwähnt, haben Sie möglicherweise Probleme, Ihre Änderungen in diese Datei zu schreiben, selbst wenn der Message Queue-Dienst angehalten wurde.

Bessere Methode hierfür ist die Verwendung des Active Directory-Benutzer- und Computer-Snap-Ins aka ADUC (dsa.msc). Stellen Sie sicher, dass Sie in diesem Snap-In unter Ansicht die folgenden Optionen "Benutzer, Kontakte, Gruppen und Computer als Container" und "Erweiterte Funktionen" aktiviert haben, mit denen Sie Computerobjekte suchen können, auf denen Ihre MSMQ-Warteschlangen gehostet werden und rufen Sie Eigenschaften auf, um die Warteschlangencontainer-ACL genauso zu bearbeiten, wie Sie mit Dateien/Ordner-ACL arbeiten (siehe Beispiel-Screenshot unten). Wahrscheinlich müssen Sie die Eigentumsrechte übernehmen, bevor Sie Änderungen in der ACL vornehmen können.

enter image description here