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-Versionen 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 SQL Server-Standardreplikation zwischen Standorten. Wenn ihre SQL Server-Instanz oder Ihr SMS-Anbieter remote ist oder wenn Sie eine SQL Server Always On-Verfügbarkeitsgruppe verwenden, haben Sie ein "Double-Hop-Szenario" 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
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.log
nach dem , das TaskID
Sie aus SQL Server gesammelt haben, und notieren Sie sich die PushID
. Der TaskID
hat die TaskGUID
Bezeichnung . 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.log
nach 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.log
nicht 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.log
nach 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 die Nachrichtenverarbeitungs-Engine 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.log
aktiviert 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.log
nach , 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 von SQL Server mithilfe von TaskID
.
select * from vSMS_CMPivotStatus where TaskID='{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}'
Problembehandlung bei CMPivot in 1810 und früheren Versionen
In Configuration Manager-Versionen 1810 und früheren Versionen ü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
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.log
nach der , die TaskID
Sie aus SQL gesammelt haben. Sie hat die Bezeichnung TaskGUID
. 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.log
nach 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:
- Ankommend
- 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