分享方式:


瞭解應用程式部署用戶端元件

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

應用程式部署評估和強制作業是由用戶端上的 DCM 代理程式和 CI 代理程式元件所處理。 本文說明一般 DCM 和 CI 代理程式作業的運作方式。

DCM 代理程式

DCM 代理程式是負責評估組態專案的高層級用戶端元件,其中包含應用程式。 啟用或強制執行部署時,會建立 DCM 代理程式作業,以讀取指派原則,並決定需要執行的動作。 您可以使用 DCM 代理程式作業識別碼,在用戶端的 DCMAgent.log 中追蹤此活動,其可藉由尋找應用程式唯一識別碼來識別。

裝置部署

  • 針對 必要 部署,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 代理程式作業識別碼,這有助於追蹤用戶端上 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 代理程式作業識別碼上的 CIAgent.log ,然後尋找 即可識別 TransitionState 。 應用程式部署 CI 代理程式作業的一些主要階段如下:

  • DownloadingCIs

    • 在此階段中,會下載評估應用程式所需的應用程式中繼資料。 中繼資料包括偵測方法、需求規則、全域條件等。您可以在 CIDownloader.logDataTransferService.log中追蹤此活動。 針對 可用 的部署,此程式會在第一次評估應用程式期間發生。 不過,針對 必要 部署,此程式會在下載原則之後立即發生。
  • InvokingSdmMethod

    • 在這個階段中,會使用應用程式偵測方法來檢查是否已安裝應用程式,並判斷所需的狀態。 您可以在 AppDiscovery.logAppIntentEval.log 中追蹤此活動。 如需此階段的詳細資訊,請參閱 應用程式評估
  • StateDownloadingContents

    • 在此階段中,會視需要下載應用程式內容。 您可以在 CAS.logContentTransferManager.logLocationServices.logDataTransferService.log中追蹤此活動。 如需此階段的詳細資訊,請參閱 應用程式下載
  • StateEnforcingCIs

    • 在此階段中,會起始應用程式安裝。 您可以在 AppEnforce.log中追蹤此活動。 如需此階段的詳細資訊,請參閱 應用程式安裝
  • StateEnforcementReporting

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

雖然 CI 代理程式作業會經歷所有階段,但如果不需要,則會略過該階段。 例如,針對 [可用 的部署],系統會略過 StateDownloadingContents 和 StateEnforcingCIs 階段,直到使用者嘗試從軟體中心安裝應用程式為止。 不過,針對 必要 部署,StateDownloadingContents 階段會在必要時) 啟動指派時下載應用程式內容 (,但如果期限為未來,則會略過 StateEnforcingCIs 階段。 藉由篩選 CI 代理程式作業識別碼並尋找 Skipping policy ,即可在 CIAgent.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.

後續步驟