共用方式為


了解應用程式部署客戶端元件

適用於:Configuration Manager (目前的分支)

應用程式部署評估與強制執行操作由用戶端的 DCM 代理與 CI 代理元件負責。 本文說明典型的DCM與CI代理工作如何運作。

DCM 代理

DCM 代理是負責評估組態項目的高階用戶端元件,該項目包括應用程式。 當部署被啟動或強制執行時,會建立一個 DCM 代理工作,讀取指派政策並決定需要執行的動作。 此活動可在用戶端的 DCMAgent.log 中使用 DCM 代理工作 ID 追蹤,該 ID 可透過尋找應用程式唯一 ID 來識別。

裝置部署

  • 對於 必要 部署,DCMAgent.log會顯示適用的動作。 這些行動可能會因部署截止日期是否已過而有所不同。

    # Evaluation Job example:
    DCMAgentJob({A9E850E2-91B0-4122-94FD-D14EDF925AF7}): CDCMAgentJob::PopulateCIsFromAssignment - CI policy Id:ScopeId_B63CEBE7-8A69-4FBE-994F-5AD0A8488D27/RequiredApplication_fc76ef0a-3ab0-4110-8cce-1addc36d0225 version:3 with actions: Evaluation, Content Download
    
    # Enforcement Job example:
    DCMAgentJob({4C8A9F6E-390B-450E-B505-B5698DB68EDD}): CDCMAgentJob::PopulateCIsFromAssignment - CI policy Id:ScopeId_B63CEBE7-8A69-4FBE-994F-5AD0A8488D27/RequiredApplication_fc76ef0a-3ab0-4110-8cce-1addc36d0225 version:3 with actions: Evaluation, Install, Uninstall, Update, Look-ahead Install, Look-ahead Uninstall, Look-ahead Update
    
  • 對於 可用 部署,DCMAgent.log 顯示 is not mandatory部署 。 在這些部署中,會進行應用程式評估,但除非使用者主動啟動安裝,否則會跳過強制執行。

    # Evaluation Job example:
    DCMAgentJob({E353BF94-D7ED-4ADD-AF0F-9273F6A67FC1}): CDCMAgentJob::PopulateCIsFromAssignment - [SCAN] CI policy Id :ScopeId_B63CEBE7-8A69-4FBE-994F-5AD0A8488D27/RequiredApplication_fc76ef0a-3ab0-4110-8cce-1addc36d0225 version:3 - Assignment:{3AC57DFE-3F87-4C59-930B-B9F57CB41B91} is not mandatory.
    
    # Enforcement Job (user initiated) example:
    Request to enforce application ConfigMgr Toolkit(ScopeId_B63CEBE7-8A69-4FBE-994F-5AD0A8488D27/Application_fc76ef0a-3ab0-4110-8cce-1addc36d0225.3) immediately for target: machine with action(s): Evaluation, Install, Update
    CDCMAgentJobMgr::CreateInteractiveJob - Queuing new job: {D331249E-F7DE-481B-A497-8E8B5E7B91C3}
    
    

使用者部署

  • 對於 必要 部署,DCMAgent.log會顯示適用的動作。 這些行動可能會因部署截止日期是否已過而有所不同。

    # Evaluation Job example:
    DCMAgentJob({65D9688D-1781-4DA3-B07A-193D481251C6}): CDCMAgentJob::PopulateCIsFromAssignment - CI policy Id:ScopeId_C8F7EAE6-DBA8-4970-B3FF-47ED706868DE/RequiredApplication_6b39398b-fd20-47ca-bd68-074274509f98 version:2 with actions: Evaluation, Content Download
    
    # Enforcement Job example:
    DCMAgentJob({2B0DA272-FC65-4F31-9557-C4D840D650F1}): CDCMAgentJob::PopulateCIsFromAssignment - CI policy Id:ScopeId_C8F7EAE6-DBA8-4970-B3FF-47ED706868DE/RequiredApplication_6b39398b-fd20-47ca-bd68-074274509f98 version:2 with actions: Evaluation, Install, Uninstall, Update, Look-ahead Install, Look-ahead Uninstall, Look-ahead Update
    
  • 對於 可用 部署,當使用者啟動應用程式安裝時,會建立 DCM 代理工作以進行評估與強制執行。

    # Evaluation Job example:
    DCMAgentJob({FBB44C84-DB06-41F7-8DC1-D9BA368F0C20}): CDCMAgentJob::PopulateCIsFromAssignment - [SCAN] CI policy Id :ScopeId_C8F7EAE6-DBA8-4970-B3FF-47ED706868DE/RequiredApplication_6b39398b-fd20-47ca-bd68-074274509f98 version:2 - Assignment:{7EA17128-EB4F-448A-88A7-B865E7DA228C} is not mandatory.
    
    # Enforcement Job example:
    CAppMgmtSDK::EnforceAppPolicy ScopeId_C8F7EAE6-DBA8-4970-B3FF-47ED706868DE/RequiredApplication_6b39398b-fd20-47ca-bd68-074274509f98.
    CDCMAgentJobMgr::CreateInteractiveJob - Queuing new job: {7936D7F3-24B0-401D-BADD-59EB5B49C2C2}
    

CI 特工

CI 代理是負責評估與修復組態項目的客戶端元件。 DCM 代理讀取指派政策,並為 CI 代理元件建立工作以執行所請求的動作。 DCMAgent.log 會記錄 CI 代理工作 ID,這對於追蹤用戶端 CIAgent.log 中 CI 代理的活動非常有用。

DCMAgentJob({E353BF94-D7ED-4ADD-AF0F-9273F6A67FC1}): CDCMAgent::InitiateCIAgentJob - Starting CI Agent Job {57AF6FA1-3482-4469-9881-A63F41D18406} for target: machine. Refer to this CI agent job ID in ciagent.log for more details

典型的 CI 代理工作會經歷多個階段,可以透過篩選 CI 代理工作 ID 上的 CIAgent.log ,然後尋找 TransitionState來識別。 應用程式部署CI代理職務的一些關鍵階段包括:

  • 下載CIs

    • 在此階段,會下載評估應用程式所需的元資料。 這些元資料包括偵測方法、需求規則、全域條件等。這些活動可以在 CIDownloader.logDataTransferService.log中追蹤。 對於 可用 部署,此過程會在應用程式的首次評估中進行。 但對於 必要 部署,這個過程會在政策下載後立即進行。
  • 呼叫 SdmMethod

    • 在此階段,使用應用程式偵測方法檢查應用程式是否已安裝並確定所需狀態。 這些活動可以在 AppDiscovery.logAppIntentEval.log中追蹤。 欲了解更多此階段資訊,請參閱 申請評估
  • 狀態下載內容

    • 在此階段,如有需要,會下載應用程式內容。 這種活動可以在 CAS.logContentTransferManager.logLocationServices.logDataTransferService.log中追蹤。 欲了解更多此階段資訊,請參閱 申請下載
  • StateEnforcecingCIs

    • 在此階段,應用程式安裝會被啟動。 這些活動可以在 AppEnforce.log中追蹤。 欲了解更多此階段資訊,請參閱 應用程式安裝
  • 州執法報告

    • 在此階段,應用程式安裝狀態會被記錄,以便向管理點回報。 這些活動可以在 StateMessage.log中追蹤。

雖然 CI Agent 工作會經歷所有階段,但如果不需要,會跳過該階段。 舉例來說, 對於可用的 部署,StateDownloadingContents 和 StateEnforcingCI 階段會被跳過,直到使用者嘗試從軟體中心安裝應用程式。 然而,對於 必要 部署,StateDownloadingContents 階段會在指派啟動) 必要時下載應用程式內容 (,但若截止日期在未來,則跳過 StateEnforcingCI 階段。 此行為可透過在 CI 代理工作 ID 中篩選並尋找 Skipping policyCIAgent.log 來觀察。

{57AF6FA1-3482-4469-9881-A63F41D18406} - Skipping policy CI <CI Unique ID> and all dependents for ContentDownload task since CI action was not requested.
{57AF6FA1-3482-4469-9881-A63F41D18406} - Skipping policy CI <CI Unique ID> and all dependents for Enforce task since CI action was not requested.

後續步驟