Problembehandlung bei CMPivot

CMPivot ist ein Tool, das Zugriff auf einen Echtzeitzustand der Geräte in Ihrer Umgebung ermöglicht. CMPivot führt eine Abfrage auf allen derzeit verbundenen Geräten in der Zielsammlung aus und gibt die Ergebnisse zurück.

Gelegentlich müssen Sie möglicherweise Probleme mit CMPivot beheben. Wenn beispielsweise eine Zustandsmeldung von einem Client an CMPivot beschädigt wird, kann der Standortserver die Nachricht nicht verarbeiten. Dieser Artikel hilft Ihnen, den Informationsfluss für CMPivot zu verstehen.

Problembehandlung bei CMPivot in Version 1902 und höher

In Configuration Manager Version 1902 und höher können Sie CMPivot über den Standort der zentralen Verwaltung (CAS) in einer Hierarchie ausführen. Der primäre Standort übernimmt weiterhin die Kommunikation mit dem Client.

Wenn Sie CMPivot über cas ausführen, wird der Kanal für das Hochgeschwindigkeitsnachrichtenabonnement für die Kommunikation mit dem primären Standort verwendet. CMPivot verwendet keine Standardreplikation SQL Server zwischen Standorten. Wenn sich Ihre SQL Server-Instanz oder Ihr SMS-Anbieter remote befindet oder wenn Sie eine SQL Server Always On Verfügbarkeitsgruppe verwenden, haben Sie ein "Doppelhopszenario" für CMPivot. Informationen zum Definieren der eingeschränkten Delegierung für ein "Double-Hop-Szenario" finden Sie unter CMPivot ab Version 1902.

Wichtig

Aktivieren Sie bei der Problembehandlung von CMPivot die ausführliche Protokollierung für Ihre Verwaltungspunkte (MPs) und auf dem SMS_MESSAGE_PROCESSING_ENGINE des Standortservers, um weitere Informationen zu erhalten. Wenn die Ausgabe des Clients größer als 80 KB ist, aktivieren Sie außerdem die ausführliche Protokollierung auf dem MP und der SMS_STATE_SYSTEM-Komponente des Standortservers. Informationen zum Aktivieren der ausführlichen Protokollierung finden Sie unter Protokollierungsoptionen für Standortserver.

Abrufen von Informationen vom Standortserver

Standardmäßig befinden sich die Protokolldateien des Standortservers in C:\Program Files\Microsoft Configuration Manager\logs. Dieser Speicherort kann sich unterscheiden, wenn Sie ein nicht standardmäßiges Installationsverzeichnis angegeben oder Elemente wie den SMS-Anbieter auf einen anderen Server ausgelagert haben. Wenn Sie CMPivot über den Cas ausführen, befinden sich die Protokolle auf dem primären Standortserver.

Suchen Sie in smsprov.log nach den folgenden Zeilen:

  • Configuration Manager Version 1906:

    Auditing: User <username> initiated client operation 145 to collection <CollectionId>.
    
  • Configuration Manager Version 1902:

    Type parameter is 135.
    Auditing: User <username> ran script 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14 with hash dc6c2ad05f1bfda88d880c54121c8b5cea6a394282425a88dd4d8714547dc4a2 on collection <CollectionId>.
    

7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14 ist die Script-Guid für CMPivot. Sie können diese GUID auch in CMPivot-Überwachungsstatusmeldungen sehen.

Suchen Sie als Nächstes die ID im CMPivot-Fenster. Diese ID ist .ClientOperationID

CMPivot-Fenster mit hervorgehobener ClientOperationID, Version 1902

Suchen Sie in der TaskID ClientAction-Tabelle nach . Entspricht TaskID dem UniqueID in der ClientAction-Tabelle.

select * from ClientAction where ClientOperationId=<id>

Suchen Sie in BgbServer.lognach dem , das TaskID Sie aus SQL Server gesammelt haben, und notieren Sie sich die PushID. Der TaskID hat die TaskGUIDBezeichnung . Zum Beispiel:

Starting to send push task (PushID: 9 TaskID: 12 TaskGUID: 9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0 TaskType: 15 TaskParam: PFNjcmlwdENvbnRlbnQgU2NyaXB0R3VpZD0nN0RDNkI2RjEtRTdGNi00M0MxL (truncated log entry)
Finished sending push task (PushID: 9 TaskID: 12) to 2 clients

Clientprotokolle

Nachdem Sie die Informationen vom Standortserver erhalten haben, überprüfen Sie die Clientprotokolle. Standardmäßig befinden sich die Clientprotokolle in C:\Windows\CCM\Logs.

Suchen Sie in CcmNotificationAgent.lognach Protokolleinträgen, die wie die folgenden Zeilen aussehen:

Receive task from server with pushid=9, taskid=12, taskguid=9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0, tasktype=15 and taskParam=PFNjcmlwdEhhc2ggU2NyaXB0SGF (truncated log entry)
Send Task response message <BgbResponseMessage TimeStamp="2019-09-13T17:29:09Z"><PushID>5</PushID><TaskID>4</TaskID><ReturnCode>1</ReturnCode></BgbResponseMessage> successfuly.

Überprüfen Sie, ob Scripts.log .TaskID Im folgenden Beispiel sehen Task ID{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}Sie :

Sending script state message (fast): {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}
Result are sent for ScriptGuid: 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14 and TaskID: {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}

Hinweis

Wenn "(fast)" im Scripts.lognicht angezeigt wird, sind die Daten wahrscheinlich über 80 KB groß. In diesem Fall werden die Informationen als Zustandsmeldung an den Standortserver gesendet. Verwenden Sie die StateMessage.log des Clients und des Standortservers Statesys.log.

Überprüfen von Nachrichten auf dem Standortserver

Wenn die ausführliche Protokollierung auf dem Verwaltungspunkt aktiviert ist, können Sie sehen, wie eingehende Clientnachrichten behandelt werden. Suchen Sie in MP_RelayMsgMgr.lognach TaskID.

MP_RelayMsgMgr.log Im Beispiel sehen Sie die ID (GUID:83F67728-2E6D-4E4F-8075-ED035C31B783) des Clients und die Task ID {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}. Eine Nachrichten-ID wird der Antwort des Clients zugewiesen, bevor sie an das Nachrichtenverarbeitungsmodul gesendet wird:

MessageKey: GUID:83F67728-2E6D-4E4F-8075-ED035C31B783{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}
Create message succeeded for message id 22f00adf-181e-4bad-b35e-d18912f39f89
Add message payload succeeded for message id 22f00adf-181e-4bad-b35e-d18912f39f89
Put message succeeded for message id 22f00adf-181e-4bad-b35e-d18912f39f89
CRelayMsgMgrHandler::HandleMessage(): ExecuteTask() succeeded

Wenn die ausführliche Protokollierung für SMS_MESSAGE_PROCESSING_ENGINE.logaktiviert ist, werden die Clientergebnisse verarbeitet. Verwenden Sie die Nachrichten-ID, die Sie aus dem gefunden haben MP_RelayMsgMgr.log. Die Verarbeitungsprotokolleinträge ähneln dem folgenden Beispiel:

Processing 2 messages with type Instant and IDs 22f00adf-181e-4bad-b35e-d18912f39f89[19], 434d80ae-09d4-4d84-aebf-28a4a29a9852[20]...
Processed 2 messages with type Instant. Failed to process 0 messages. All message IDs 22f00adf-181e-4bad-b35e-d18912f39f89[19], 434d80ae-09d4-4d84-aebf-28a4a29a9852[20]

Tipp

Wenn sie während der Verarbeitung eine Ausnahme erhalten, können Sie sie überprüfen, indem Sie die folgende SQL-Abfrage ausführen und sich die Spalte Ausnahme ansehen. Nachdem die Nachricht verarbeitet wurde, wird sie nicht mehr in der MPE_RequestMessages_Instant Tabelle enthalten sein.

select * from MPE_RequestMessages_Instant where MessageID=<ID from SMS_MESSAGE_PROCESSING_ENGINE.log>

Suchen Sie in BgbServer.lognach , PushID um die Anzahl der Clients anzuzeigen, die gemeldet oder fehlgeschlagen sind.

Generated BGB task status report c:\ConfigMgr\inboxes\bgb.box\Bgb5c1db.BTS at 09/16/2019 16:46:39. (PushID: 9 ReportedClients: 2 FailedClients: 0)

Überprüfen Sie die Überwachungsansicht für CMPivot aus SQL Server mithilfe von TaskID.

select * from vSMS_CMPivotStatus where TaskID='{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}'

CMPivot-SQL-Abfragen zur Problembehandlung in Version 1902

Problembehandlung bei CMPivot in 1810 und früheren Versionen

In Configuration Manager Version 1810 und früher übernimmt Ihr Standortserver die Kommunikation mit dem Client.

Abrufen von Informationen vom Standortserver

Standardmäßig befinden sich die Protokolldateien des Standortservers in C:\Program Files\Microsoft Configuration Manager\logs. Dieser Speicherort kann sich unterscheiden, wenn Sie ein nicht standardmäßiges Installationsverzeichnis angegeben oder Elemente wie den SMS-Anbieter auf einen anderen Server ausgelagert haben.

Suchen Sie nach smsprov.log dieser Zeile:

Auditing: User <username> initiated client operation 135 to collection <CollectionId>.

Suchen Sie die ID im CMPivot-Fenster. Diese ID ist .ClientOperationID

CMPivot-Fenster mit hervorgehobener ClientOperationID

Suchen Sie in der TaskID ClientAction-Tabelle nach . Entspricht TaskID dem UniqueID in der ClientAction-Tabelle.

select * from ClientAction where ClientOperationId=<id>

Suchen Sie in BgbServer.lognach der , die TaskID Sie aus SQL gesammelt haben. Sie hat die Bezeichnung TaskGUID. Zum Beispiel:

Starting to send push task (PushID: 260 TaskID: 258 TaskGUID: F8C7C37F-B42B-4C0A-B050-2BB44DF1098A TaskType: 15
TaskParam: PFNjcmlwdEhhc2ggU2NyaXB0SGF...truncated...to 5 clients with throttling (strategy: 1 param: 42)
Finished sending push task (PushID: 260 TaskID: 258) to 5 clients

Clientprotokolle

Nachdem Sie die Informationen vom Standortserver erhalten haben, überprüfen Sie die Clientprotokolle. Standardmäßig befinden sich die Clientprotokolle in C:\Windows\CCM\Logs.

Suchen Sie in CcmNotificationAgent.lognach Protokollen, die dem folgenden Eintrag ähneln:

Error! Bookmark not defined.+PFNjcmlwdEhhc2ggU2NyaXB0SGFzaEFsZz0nU0hBMjU2Jz42YzZmNDY0OGYzZjU3M2MyNTQyNWZiNT
g2ZDVjYTIwNzRjNmViZmQ1NTg5MDZlMWI5NDRmYTEzNmFiMDE0ZGNjPC9TY3JpcHRIYXNoPjxTY3Jp (truncated log entry)

Suchen Sie in Scripts.log nach TaskID. Im folgenden Beispiel sehen Task ID {F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}Wir :

Sending script state message: 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14
State message: Task Id {F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}

Suchen Sie in StateMessage.log. Im folgenden Beispiel sehen Sie, dass TaskID sich am Ende der Meldung neben <Param>befindet:

StateMessage body: <?xml version="1.0" encoding="UTF-16"?>
<Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1
</ClientType><ClientID>GUID:DBAC52C9-57E6-47D7-A8D6-E0A5A64B57E6</ClientID><ClientVersion>5.00.8670.1000</ClientVersion>
<NetBIOSName>R613924</NetBIOSName><CodePage>437</CodePage>
<SystemDefaultLCID>1033</SystemDefaultLCID><Priority>0</Priority></Machine></Identification>
<ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType>
<Date>20180703184447.673000+000</Date><Version>1.0</Version><Format>1.0</Format>
</ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20180703184447.517000+000"><Topic ID="7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14" Type="9003" IDType="0" User="" UserSID=""/><State ID="1" Criticality="0"/>
<StateDetails Type="1"><![CDATA["PAA/AHgAbQBsACAAdgBlAHIAcwBpAG8AbgA9ACIAMQAuADAAIgAgAGUAbgBjAG8AZABpAG4AZwA9ACIAdQB0AGYALQAxADYAIgA/AD4APAByAGUAcwB1AGwAdAAgAFIAZQBzAHUAbAB0AEMAbwBkAGUAPQAiADAAIgA+ADwAZQAgAE4AYQBtAGUAPQAiAEkAbgB0AGUAbAAoAFIAKQAgAFgAZQBvAG4AKABSACkAIABDAFAAVQAgAEUANQAtADIANgA3ADMAIAB2ADQAIABAACAAMgAuADMAMABHAEgAegAiACAATQBhAG4AdQBmAGEAYwB0AHUAcgBlAHIAPQAiAEEAbQBlAHIAaQBjAGEAbgAgAE0AZQBnAGEAdAByAGUAbgBkAHMAIABJAG4AYwAuACIAIABWAGUAcgBzAGkAbwBuAD0AIgBWAFIAVABVAEEATAAgAC0AIAA2ADAAMAAxADcAMAAyACIAIABSAGUAbABlAGEAcwBlAEQAYQB0AGUAPQAiADIAMAAxADcALQAwADYALQAwADIAIAAwADAAOgAwADAAOgAwADAAIgAgAFMAZQByAGkAYQBsAE4AdQBtAGIAZQByAD0AIgAwADAAMAAwAC0AMAAwADEAOAAtADMANgA4ADIALQA0ADcAMAA4AC0ANwA2ADQAMAAtADcANgAwADAALQAzADMAIgAgAFMATQBCAEkATwBTAEIASQBPAFMAVgBlAHIAcwBpAG8AbgA9ACIAMAA5ADAAMAAwADcAIAAiACAALwA+ADwALwByAGUAcwB1AGwAdAA+AA=="~~]]></StateDetails><UserParameters Flags="0" Count="2">
<Param>{F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}</Param><Param>0</Param></UserParameters></StateMessage></ReportBody></Report>

Successfully forwarded State Messages to the MP StateMessage 7/3/2018 11:44:47 AM 5036 (0x13AC)

Überprüfen von Nachrichten auf dem Standortserver

Öffnen Sie statesys.log , um zu sehen, ob die Nachricht empfangen und verarbeitet wird. Im folgenden Beispiel sehen TaskID Sie unten in der Meldung neben <Param>. Aktivieren Sie die ausführliche Protokollierung für die komponente SMS_STATE_SYSTEM, um diese Protokolleinträge anzuzeigen.

CMessageProcessor - the cmdline to DB exec dbo.spProcessStateReport N'?<?xml version="1.0" encoding="UTF-
16"?>~~<Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1
</ClientType><ClientID>GUID:DBAC52C9-57E6-47D7-A8D6-E0A5A64B57E6</ClientID><ClientVersion>5.00.8670.1000</ClientVersion>
<NetBIOSName>R613924</NetBIOSName><CodePage>437</CodePage>
<SystemDefaultLCID>1033</SystemDefaultLCID><Priority>0</Priority></Machine></Identification>
<ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType>
<Date>20180703184447.673000+000</Date><Version>1.0</Version><Format>1.0</Format>
</ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20180703184447.517000+000"><Topic ID="7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14" Type="9003" IDType="0" User="" UserSID=""/><State ID="1" Criticality="0"/>
<StateDetails Type="1"><![CDATA["PAA/AHgAbQBsACAAdgBlAHIAcwBpAG8AbgA9ACIAMQAuADAAIgAgAGUAbgBjAG8AZABpAG4AZwA9ACIAdQB0AGYALQAxADYAIgA/AD4APAByAGUAcwB1AGwAdAAgAFIAZQBzAHUAbAB0AEMAbwBkAGUAPQAiADAAIgA+ADwAZQAgAE4AYQBtAGUAPQAiAEkAbgB0AGUAbAAoAFIAKQAgAFgAZQBvAG4AKABSACkAIABDAFAAVQAgAEUANQAtADIANgA3ADMAIAB2ADQAIABAACAAMgAuADMAMABHAEgAegAiACAATQBhAG4AdQBmAGEAYwB0AHUAcgBlAHIAPQAiAEEAbQBlAHIAaQBjAGEAbgAgAE0AZQBnAGEAdAByAGUAbgBkAHMAIABJAG4AYwAuACIAIABWAGUAcgBzAGkAbwBuAD0AIgBWAFIAVABVAEEATAAgAC0AIAA2ADAAMAAxADcAMAAyACIAIABSAGUAbABlAGEAcwBlAEQAYQB0AGUAPQAiADIAMAAxADcALQAwADYALQAwADIAIAAwADAAOgAwADAAOgAwADAAIgAgAFMAZQByAGkAYQBsAE4AdQBtAGIAZQByAD0AIgAwADAAMAAwAC0AMAAwADEAOAAtADMANgA4ADIALQA0ADcAMAA4AC0ANwA2ADQAMAAtADcANgAwADAALQAzADMAIgAgAFMATQBCAEkATwBTAEIASQBPAFMAVgBlAHIAcwBpAG8AbgA9ACIAMAA5ADAAMAAwADcAIAAiACAALwA+ADwALwByAGUAcwB1AGwAdAA+AA=="~~]]></StateDetails><UserParameters Flags="0" Count="2">
<Param>{F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}</Param><Param>0</Param></UserParameters></StateMessage></ReportBody></Report>~~'

Wenn die Nachricht nicht verarbeitet wurde, überprüfen Sie den Posteingang der Statusmeldung. Der Standardspeicherort des Posteingangs ist C:\Program Files\Microsoft Configuration Manager\inboxes\auth\statesys.box\. Suchen Sie nach den Dateien an den folgenden Speicherorten:

  • Eingehende
  • Beschädigt
  • Prozess

Überprüfen Sie die Überwachungsansicht für CMPivot mithilfe der folgenden SQL-Abfrage mit TaskID:

select * from vSMS_CMPivotStatus where TaskID='{F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}'

Hinweis

Für Clients, die Version 1810 oder höher verwenden, wird Zustandsmessaging nur verwendet, wenn die Ausgabe größer als 80 KB ist. Bei der Problembehandlung von CMPivot in diesen Fällen können Sie weitere Informationen erhalten, wenn Sie die ausführliche Protokollierung für Ihre MPs und die SMS_MESSAGE_PROCESSING_ENGINE des Standortservers aktivieren. Informationen zum Aktivieren der ausführlichen Protokollierung finden Sie unter Protokollierungsoptionen für Standortserver.

Informationen zur Problembehandlung finden Sie in den folgenden Protokollen:

  • MP_Relay.log
  • SMS_MESSAGE_PROCESSING_ENGINE.log

Nächste Schritte