如果軟體更新需要多次重新啟動,Configuration Manager 中的工作順序會失敗

本文提供的資訊可解決使用 Configuration Manager 工作順序時,工作順序環境找不到錯誤的問題。

原始產品版本:Microsoft System Center 2012 Configuration Manager、Microsoft System Center 2012 R2 Configuration Manager Configuration Manager (最新分支)
原始 KB 編號: 2894518

摘要

System Center 2012 Configuration Manager Service Pack 2 和 System Center 2012 R2 Configuration Manager Service Pack 1 的累積更新 3 和 Configuration Manager 最新分支版本 1602 中已修正此問題。

新的選擇性工作順序變數 SMSTSWaitForSecondReboot,可在軟體更新安裝需要兩次重新啟動時,更妥善地控制客戶端行為。

如需詳細資訊,請參閱適用於 Configuration Manager的累積更新 3 描述中的軟體更新管理/操作系統部署一節。

如需 Configuration Manager 最新分支,請參閱工作順序變數

徵狀

假設使用安裝軟體 匯報 步驟的 Configuration Manager 工作順序會安裝軟體更新,該更新會在工作順序成功執行安裝軟體 匯報 工作之後觸發多次重新啟動。 在此情況下,工作順序可能會失敗併產生下列錯誤訊息:

找不到工作順序環境

注意事項

您可以使用安裝軟體 匯報 工作順序步驟中的新 [重試] 選項,在 Configuration Manager 中避免此問題。

原因

軟體更新所起始的第一個重新啟動是由工作順序所控制。 不過,第二個重新啟動要求通常是由 Windows 元件 (起始,Component-Based 維護) ,而且不受工作順序控制。 因此,工作順序執行狀態不會在重新啟動之前儲存,因為第二次重新啟動不是由工作順序控制。 第二次重新啟動之後,當工作順序繼續時,沒有可以順利繼續的狀態。

解決方案

若要解決此問題,建議您使用 Configuration Manager的一般軟體更新功能來套用任何需要雙重重新啟動的更新,而不是使用工作順序。 下列軟體更新報告需要多次重新啟動。

其他相關資訊

因為第二次重新啟動不是由工作順序控制,所以在重新啟動之前不會儲存任何執行狀態。 當工作順序在重新啟動之後繼續時,沒有可以順利繼續的狀態。 此外,當您遇到此問題時,可能會將下列訊息記錄到Smsts.log檔案:

!sVolumeID.empty () ,HRESULT=80004005
!sTSMDataPath.empty () ,HRESULT=80070002
TS::Utility::GetTSMDataPath ( sDataDir ) ,HRESULT=80070002
無法設定記錄目錄。 某些執行歷程記錄可能會遺失。
系統找不到指定的檔案。 (錯誤:80070002;來源:Windows)
執行工作順序
!sVolumeID.empty () ,HRESULT=80004005
!sTSMDataPath.empty () ,HRESULT=80070002
找不到工作順序環境

此外,執行 Microsoft System Center 2012 Configuration Manager Service Pack 1 之前版本的用戶端可能包含下列記錄專案:

在 Windows PE 中完成的工作順序。

工作順序失敗之後,用戶端計算機也可能會卡在布建模式中。 若要判斷計算機是否處於布建模式,請檢查登錄 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\CcmExec 子機碼。

ProvisioningMode 應該設定為 false。 如果設定為 true,請使用下列其中一種方法,讓客戶端離開布建模式:

  • 使用 Windows Management Instrumentation (WMI) 方法 SetClientProvisioningMode 可讓用戶端正確地離開布建模式。 若要這樣做,最簡單的方式是執行下列 Windows PowerShell 命令:

    Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
    

    或者,在提升許可權的命令提示字元中執行下列命令:

    powershell Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
    
  • 重新安裝用戶端。

重要事項

請勿嘗試將的 ProvisioningMode 值變更為 false 來修正客戶 。 此動作不會讓用戶端完全離開布建模式。