Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
CMPivot è uno strumento che fornisce l'accesso allo stato in tempo reale dei dispositivi nell'ambiente. CMPivot esegue una query in tutti i dispositivi attualmente connessi nella raccolta di destinazione e restituisce i risultati.
A volte, potrebbe essere necessario risolvere i problemi relativi a CMPivot. Ad esempio, se un messaggio di stato da un client a CMPivot viene danneggiato, il server del sito non può elaborare il messaggio. Questo articolo illustra il flusso di informazioni per CMPivot.
Risolvere i problemi relativi a CMPivot nella versione 1902 e successive
In Gestione configurazione versione 1902 e successive è possibile eseguire CMPivot dal sito di amministrazione centrale (CAS) in una gerarchia. Il sito primario gestisce comunque le comunicazioni con il client.
Quando si esegue CMPivot da CAS, viene usato il canale di sottoscrizione dei messaggi ad alta velocità per comunicare con il sito primario. CMPivot non usa la replica di SQL Server standard tra siti. Se l'istanza SQL Server o il provider SMS è remoto o se si usa un gruppo di disponibilità SQL Server Always On, si avrà uno "scenario double hop" per CMPivot. Per informazioni su come definire la delega vincolata per uno "scenario double hop", vedere CMPivot a partire dalla versione 1902.
Importante
Durante la risoluzione dei problemi di CMPivot, abilitare la registrazione dettagliata nei punti di gestione (MP) e nel SMS_MESSAGE_PROCESSING_ENGINE del server di sito per ottenere altre informazioni. Inoltre, se l'output del client è maggiore di 80 KB, abilitare la registrazione dettagliata nel componente MP e nel SMS_STATE_SYSTEM del server di sito. Per informazioni su come abilitare la registrazione dettagliata, vedere Opzioni di registrazione del server del sito.
Ottenere informazioni dal server di sito
Per impostazione predefinita, i file di log del server del sito si trovano in C:\Program Files\Microsoft Configuration Manager\logs. Il percorso potrebbe essere diverso se è stata specificata una directory di installazione non predefinita o se sono stati scaricati elementi come il provider SMS in un altro server. Se si esegue CMPivot dal server di amministrazione centrale, i log si trovano nel server del sito primario.
smsprov.log Cerca queste righe:
Gestione configurazione, versione 1906:
Auditing: User <username> initiated client operation 145 to collection <CollectionId>.Gestione configurazione versione 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 è l'Script-Guid per CMPivot. È anche possibile visualizzare questo GUID nei messaggi di stato di controllo di CMPivot.
Quindi, trovare l'ID nella finestra CMPivot. Questo ID è il ClientOperationID.
Individuare la TaskID tabella ClientAction. Corrisponde TaskID a nella UniqueID tabella ClientAction.
select * from ClientAction where ClientOperationId=<id>
In BgbServer.log, cercare il TaskID valore raccolto da SQL Server e prendere nota del file PushID. Il TaskID è etichettato TaskGUID. Ad esempio:
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
Registri dei client
Dopo aver ottenuto le informazioni dal server del sito, controlla i log client. Per impostazione predefinita, i registri del client si trovano in C:\Windows\CCM\Logs.
In CcmNotificationAgent.log, cercare le voci di registro che hanno un aspetto simile alle righe seguenti:
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.
Verifica Scripts.log la presenza di .TaskID Nell'esempio seguente viene visualizzato Task ID{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}quanto segue:
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}
Nota
Se non viene visualizzato "(veloce)" nel Scripts.log, i dati sono probabilmente superiori a 80 KB. In questo caso, le informazioni vengono inviate al server del sito come messaggio di stato. Usa le impostazioni Statesys.logdel StateMessage.log client e del server del sito.
Esaminare i messaggi nel server del sito
Quando è abilitata la registrazione dettagliata nel punto di gestione, è possibile vedere come vengono gestiti i messaggi client in arrivo. In MP_RelayMsgMgr.log, cercare l'elemento TaskID.
Nell'esempio MP_RelayMsgMgr.log è possibile vedere l'ID (GUID:83F67728-2E6D-4E4F-8075-ED035C31B783) del client e il Task ID {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}file . Un ID messaggio viene assegnato alla risposta del client prima che venga inviata al motore di elaborazione dei messaggi:
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
Quando è abilitata la registrazione dettagliata su SMS_MESSAGE_PROCESSING_ENGINE.log, i risultati del client vengono elaborati. Usare l'ID messaggio trovato nella finestra di dialogo MP_RelayMsgMgr.log. Le voci del log di elaborazione sono simili all'esempio seguente:
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]
Consiglio
Se si verifica un'eccezione durante l'elaborazione, è possibile esaminarla eseguendo la query SQL seguente ed esaminando la colonna Eccezione. Dopo l'elaborazione MPE_RequestMessages_Instant , il messaggio non sarà più nella tabella.
select * from MPE_RequestMessages_Instant where MessageID=<ID from SMS_MESSAGE_PROCESSING_ENGINE.log>
Nella BgbServer.log, cercare per verificare il PushID numero di client segnalati o non riusciti.
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)
Controllare la visualizzazione di monitoraggio per CMPivot da SQL Server usando il .TaskID
select * from vSMS_CMPivotStatus where TaskID='{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}'
Risolvere i problemi relativi a CMPivot nella versione 1810 e precedenti
In Gestione configurazione versione 1810 e precedenti, il server del sito gestisce la comunicazione con il client.
Ottenere informazioni dal server di sito
Per impostazione predefinita, i file di log del server del sito si trovano in C:\Program Files\Microsoft Configuration Manager\logs. Il percorso potrebbe essere diverso se è stata specificata una directory di installazione non predefinita o se sono stati scaricati elementi come il provider SMS in un altro server.
smsprov.log Cerca questa riga:
Auditing: User <username> initiated client operation 135 to collection <CollectionId>.
Trovare l'ID nella finestra di CMPivot. Questo ID è il ClientOperationID.
Individuare la TaskID tabella ClientAction. Corrisponde TaskID a nella UniqueID tabella ClientAction.
select * from ClientAction where ClientOperationId=<id>
In BgbServer.log, cercare il TaskID valore raccolto da SQL. È etichettato TaskGUIDcome . Ad esempio:
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
Registri dei client
Dopo aver ottenuto le informazioni dal server del sito, controlla i log client. Per impostazione predefinita, i registri del client si trovano in C:\Windows\CCM\Logs.
In CcmNotificationAgent.log, cercare i log simili alla voce seguente:
Error! Bookmark not defined.+PFNjcmlwdEhhc2ggU2NyaXB0SGFzaEFsZz0nU0hBMjU2Jz42YzZmNDY0OGYzZjU3M2MyNTQyNWZiNT
g2ZDVjYTIwNzRjNmViZmQ1NTg5MDZlMWI5NDRmYTEzNmFiMDE0ZGNjPC9TY3JpcHRIYXNoPjxTY3Jp (truncated log entry)
Cerca il Scripts.logTaskIDfile . Nell'esempio seguente, vediamo Task ID {F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}:
Sending script state message: 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14
State message: Task Id {F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}
Cerca in StateMessage.log. Nell'esempio seguente si vede che TaskID si trova nella parte inferiore del messaggio accanto a <Param>:
StateMessage body: <?xml version="1.0" encoding="UTF-16"?>
<Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1
</ClientType><ClientID>GUID:00001111-aaaa-2222-bbbb-3333cccc4444</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)
Esaminare i messaggi nel server del sito
Aprire statesys.log per vedere se il messaggio viene ricevuto ed elaborato. Nell'esempio seguente viene visualizzato TaskID nella parte inferiore del messaggio accanto a <Param>. Abilita la registrazione dettagliata sul componente SMS_STATE_SYSTEM per visualizzare queste voci di log.
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:00001111-aaaa-2222-bbbb-3333cccc4444</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>~~'
Se il messaggio non è stato elaborato, controllare lo stato del messaggio in arrivo. La posizione predefinita della posta in arrivo è C:\Program Files\Microsoft Configuration Manager\inboxes\auth\statesys.box\. Cercare i file in questi percorsi:
- In entrata
- Danneggiato
- Procedura
Controllare la visualizzazione di monitoraggio per CMPivot tramite la query SQL seguente usando il TaskID:
select * from vSMS_CMPivotStatus where TaskID='{F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}'
Nota
Per i client che usano la versione 1810 o successiva, la messaggistica di stato non viene usata a meno che l'output non sia maggiore di 80 KB. Durante la risoluzione dei problemi di CMPivot in questi casi, è possibile ottenere altre informazioni quando si abilita la registrazione dettagliata nei MP e nel SMS_MESSAGE_PROCESSING_ENGINE del server di sito. Per informazioni su come abilitare la registrazione dettagliata, vedere Opzioni di registrazione del server del sito.
Per la risoluzione dei problemi, fare riferimento ai log seguenti:
MP_Relay.logSMS_MESSAGE_PROCESSING_ENGINE.log