分享方式:


針對 CMPivot 進行疑難解答

CMPivot 是一種工具,可讓您存取環境中裝置的實時狀態。 CMPivot 會在目標集合中所有目前連線的裝置上執行查詢,並傳回結果。

有時候,您可能需要針對 CMPivot 進行疑難解答。 例如,如果用戶端到 CMPivot 的狀態消息損毀,月臺伺服器就無法處理訊息。 本文可協助您瞭解 CMPivot 的資訊流程。

針對 1902 版和更新版本中的 CMPivot 進行疑難解答

在 Configuration Manager 1902 版和更新版本中,您可以從管理中心網站執行 CMPivot (階層中的 CAS) 。 主要月臺仍會處理與客戶端的通訊。

當您從 CAS 執行 CMPivot 時,它會使用高速訊息訂用帳戶通道來與主要月台通訊。 CMPivot 不會在月臺之間使用標準 SQL Server 複寫。 如果您的 SQL Server 實例或 SMS 提供者是遠端的,或如果您使用 SQL Server Always On 可用性群組,則會有 CMPivot 的「雙躍點案例」。 如需如何定義「雙躍點案例」限制委派的資訊,請參閱 從1902版開始的CMPivot

重要事項

針對 CMPivot 進行疑難解答時,請在管理點上啟用詳細資訊記錄, (MP) ,以及在站臺伺服器的SMS_MESSAGE_PROCESSING_ENGINE上啟用詳細信息記錄,以取得詳細資訊。 此外,如果客戶端的輸出大於 80 KB,請在 MP 和站臺伺服器的 SMS_STATE_SYSTEM元件上啟用詳細資訊記錄。 如需如何啟用詳細資訊記錄的資訊,請參閱 月臺伺服器記錄選項

從站台伺服器取得資訊

根據預設,月臺伺服器記錄檔位於 C:\Program Files\Microsoft Configuration Manager\logs。 如果您指定非預設安裝目錄,或將SMS提供者之類的專案卸除到另一部伺服器,則此位置可能會不同。 如果您從 CAS 執行 CMPivot,記錄會位於主要月臺伺服器上。

請檢視下 smsprov.log 列幾行:

  • Configuration Manager 1906 版:

    Auditing: User <username> initiated client operation 145 to collection <CollectionId>.
    
  • Configuration Manager 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 是 CMPivot 的 Script-Guid。 您也可以在 CMPivot 稽核狀態消息中看到此 GUID。

接下來,在 CMPivot 視窗中尋找識別碼。 這個識別碼為 ClientOperationID

醒目提示 ClientOperationID 的 CMPivot 視窗,版本 1902

從 ClientAction TaskID 資料表中尋找 。 對 TaskID 應至 UniqueID ClientAction 資料表中的 。

select * from ClientAction where ClientOperationId=<id>

BgbServer.log中, TaskID 尋找您從 SQL Server 收集的 ,並記下 PushID。 標 TaskID 示為 TaskGUID。 例如:

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

用戶端記錄

從站臺伺服器取得信息之後,請檢查客戶端記錄。 根據預設,客戶端記錄位於 C:\Windows\CCM\Logs

CcmNotificationAgent.log中,尋找看起來像下列幾行的記錄專案:

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.

檢查 Scripts.log 是否有 TaskID。 在下列範例中,您會看到 Task ID{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}

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}

注意事項

如果您在 中看不到「 (快速) 」 Scripts.log,則數據可能超過80 KB。 在此情況下,資訊會以狀態消息傳送至月臺伺服器。 使用用戶端的 StateMessage.log 與站台伺服器的 Statesys.log

檢閱月台伺服器上的訊息

在管理點上啟用 詳細資訊記錄 時,您可以查看處理傳入用戶端訊息的方式。 在 中 MP_RelayMsgMgr.log,尋找 TaskID

在範例中 MP_RelayMsgMgr.log ,您可以看到用戶端的識別碼 (GUID:83F67728-2E6D-4E4F-8075-ED035C31B783)Task ID {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}。 訊息識別碼會在傳送至訊息處理引擎之前指派給客戶端的回應:

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

在上SMS_MESSAGE_PROCESSING_ENGINE.log啟用詳細信息記錄時,會處理客戶端結果。 使用您從 找到的訊息識別碼 MP_RelayMsgMgr.log。 處理記錄項目類似下列範例:

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]

提示

如果您在處理期間收到例外狀況,您可以執行下列 SQL 查詢並查看 [例外狀況] 資料行來檢閱它。 處理訊息之後,訊息將不再位於數據表中 MPE_RequestMessages_Instant

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

BgbServer.log中,尋找 PushID 以查看回報或失敗的用戶端數目。

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)

使用 從 SQL Server 檢查 CMPivot 的 TaskID監視檢視。

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

1902 版中用於疑難解答的 CMPivot SQL 查詢

針對 1810 及更早版本中的 CMPivot 進行疑難解答

在 Configuration Manager 1810 版和更早版本中,您的月台伺服器會處理與客戶端的通訊。

從站台伺服器取得資訊

根據預設,月臺伺服器記錄檔位於 C:\Program Files\Microsoft Configuration Manager\logs。 如果您指定非預設安裝目錄,或將SMS提供者之類的專案卸除到另一部伺服器,則此位置可能會不同。

請檢視 smsprov.log 這一行:

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

在 CMPivot 視窗中尋找識別碼。 這個識別碼為 ClientOperationID

已醒目提示 ClientOperationID 的 CMPivot 視窗

從 ClientAction TaskID 資料表中尋找 。 對 TaskID 應至 UniqueID ClientAction 資料表中的 。

select * from ClientAction where ClientOperationId=<id>

BgbServer.log中, TaskID 尋找您從 SQL 收集的 。 標示為 TaskGUID。 例如:

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

用戶端記錄

從站臺伺服器取得信息之後,請檢查客戶端記錄。 根據預設,客戶端記錄位於 C:\Windows\CCM\Logs

CcmNotificationAgent.log中,尋找類似下列項目的記錄:

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

在中 Scripts.log 尋找 TaskID。 在下列範例中,我們會看到 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}

StateMessage.log檢視 。 在下列範例中,您會看到 TaskID 接近 旁訊息 <Param>底部的 :

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)

檢閱月台伺服器上的訊息

開啟 statesys.log 以查看是否已接收和處理訊息。 在下列範例中,您會在 旁邊的訊息<Param>底部看到 TaskID 。 在SMS_STATE_SYSTEM元件上啟用 詳細信息記錄 ,以查看這些記錄專案。

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>~~'

如果尚未處理訊息,請檢查狀態消息收件匣。 預設收件匣位置是 C:\Program Files\Microsoft Configuration Manager\inboxes\auth\statesys.box\。 尋找這些位置中的檔案:

  • 傳入
  • 損壞
  • 程序

使用 透過下列 SQL 查詢檢查 CMPivot 的 TaskID監視檢視:

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

注意事項

對於使用 1810 版或更高版本的用戶端,除非輸出大於 80 KB,否則不會使用狀態傳訊。 在這些情況下針對 CMPivot 進行疑難解答時,您可以在 MP 和月臺伺服器的SMS_MESSAGE_PROCESSING_ENGINE上啟用詳細資訊記錄時取得詳細資訊。 如需如何啟用詳細資訊記錄的資訊,請參閱 月臺伺服器記錄選項

若要進行疑難解答,請參閱下列記錄:

  • MP_Relay.log
  • SMS_MESSAGE_PROCESSING_ENGINE.log

後續步驟