部署 Windows XP SP2 之後,SMS 2003 和 Configuration Manager 2007 中的進階用戶端已無法再運作

本文可協助您修正如果 群組原則 物件 (GPO) 設定為將 SMS 代理程式主機服務的啟動模式設定為 [自動] 時,進階客戶端無法再運作的問題。

原始產品版本:System Management Server 2003、System Center Configuration Manager 2007
原始 KB 編號: 919592

重要事項

本文包含的信息說明如何協助降低安全性設定,或如何關閉計算機上的安全性功能。 您可以進行這些變更來解決特定問題。 進行這些變更之前,建議您評估與在特定環境中實作此因應措施相關聯的風險。 如果您實作此因應措施,請採取任何適當的額外步驟來協助保護您的系統。

徵狀

將 Microsoft Windows XP Service Pack 2 (SP2) 部署至在 Microsoft Systems Management Server (SMS) 2003 或 System Center Configuration Manager 2007 中執行進階用戶端的用戶端計算機之後,您會遇到下列徵兆:

  • 進階用戶端已無法在用戶端計算機上正確運作。 在此情況下,進階用戶端不會再擷取 SMS 原則。 如果您嘗試在用戶端電腦的進階用戶端中啟動動作,您會收到下列錯誤訊息:

    無法起始動作。

  • 當您檢視 SMS 記錄檔時,會顯示類似下列資訊的資訊:

    在用戶端電腦上的 %WINDIR%\System32\CCM\Logs\CcmExec.log 檔案中

    呼叫 CoResumeClassObjects.CcmExec<日期><時間>3304 (0x0CE8)
    階段 1 初始化 (0x80004015) 失敗。CcmExec<日期><時間>3304 (0x0CE8)
    階段 1 初始化 (0x80004015) 失敗。CcmExec<日期><時間>3304 (0x0CE8)

    在用戶端電腦上的 %WINDIR%\System32\CCM\Logs\execmgr.log 檔案中

    命令行 = “\\<server>\<share>$\<folder>\update\update.exe” /q /f /forcerestart,
    工作目錄 = \\server\share$\folder\execmgr<日期><時間>3292 (0x0CDC) <>><><
    已為傳遞的命令行建立處理程式execmgr<日期><時間>3292 (0x0CDC)
    引發事件:
    [SMS_CodePage (437) ,SMS_LocaleID (1033) ]
    SoftDistProgramStartedEvent 的實例
    {
    AdvertisementId = “<ID>”;
    ClientID = “GUID:<GUID>”;
    CommandLine = “\”\\\server<>\\<share>$\\<folder>\\update\\update.exe\“ /q /f /forcerestart”;
    DateTime = “<date and time.572000>+000”;
    MachineName = “<computername>”;
    PackageName = “<packagename>”;
    ProcessID = 228;
    ProgramName = “從 XP 或 XPSP1 自動升級”;
    SiteCode = “<siteCode>”;
    ThreadID = 3292;
    UserContext = “NT AUTHORITY\\SYSTEM”;
    WorkingDirectory = “\\\\<server>\\<share>$\\<folder>\\”;
    };
    execmgr<日期><時間>3292 (0x0CDC)
    引發 Ad:ID>、Package:<<package>、Program:從 XP 或 XPSP1execmgr<日期><時間>3292 自動升級的 Program Started 事件 (0x0CDC)
    用戶已註銷.execmgr<日期><時間>2656 (0x0A60)
    當使用者註銷execmgr<日期><時間>2656 時,從 XP 或 XPSP1 自動升級程式正在執行 (0x0A60)
    已引發執行管理員定時器。execmgr<日期><時間>1348 (0x0544)
    針對程式更新原則:MS04-028 - 適用於 XP 的 JPEG 更新、套件: <套件>、廣告: <標識符>execmgr<日期><時間>1408 (0x0580)
    程序結束代碼 3010execmgr<日期><時間>2904 (0x0B58)
    尋找MIF檔案以取得程序狀態execmgr<日期><時間>2904 (0x0B58)
    Package:<package>、Program:從 XP 或 XPSP1 自動升級的腳本成功,結束代碼為 3010execmgr<日期><時間>2904 (0x0B58)
    引發事件:
    [SMS_CodePage (437) ,SMS_LocaleID (1033) ]
    SoftDistProgramPrelimSuccessEvent 的實例
    {
    AdvertisementId = “<ID>”;
    ClientID = “GUID:<GUID>”;
    DateTime = “<date><time.781000>+000”;
    ExitCode = “3010”;
    MachineName = “<computername>”;
    PackageName = “<package>”;
    ProcessID = 228;
    ProgramName = “從 XP 或 XPSP1 自動升級”;
    SiteCode = “<siteCode>”;
    ThreadID = 2904;
    };
    execmgr<日期><時間>2904 (0x0B58)
    引發 Ad:ID>、Package:<<package>、Program:從 XP 或 XPSP1execmgr<日期><時間>2904 自動升級的 Program Prelim Success 事件 (0x0B58)
    從 XP 或 XPSP1 自動升級程式的執行已完成。 結束代碼為 3010,執行狀態為 SuccessRebootRequiredexecmgr<日期><時間>2904 (0x0B58)
    重新啟動電腦 - InitiateSystemShutdownEx 失敗 1115execmgr<日期><時間>2904 (0x0B58)

    在 SMS 伺服器上的 磁碟驅動器:\SMS_CCM\Logs\SMSCliUi.log 檔案中

    目前指派的網站: <siteCode>smscliui<日期><時間>3320 (0x0CF8)
    無法取得 CacheInfo。 錯誤:0X80070005smscliui<日期><時間>3320 (0x0CF8)
    SMS 月臺碼尚未變更。smscliui<日期><時間>3320 (0x0CF8)
    目前指派的網站: <siteCode>smscliui<日期><時間>3660 (0x0E4C)
    無法取得 CacheInfo。 錯誤:0X80070005smscliui<日期><時間>3660 (0x0E4C)
    無法具現化CLSID_CCMClientAction類別,錯誤:0x80070005smscliui<日期><時間>3660 (0x0E4C)

原因

如果將 GPO 設定為將 SMS 代理程式主機服務 (CcmExec.exe) 啟動模式設定為 [自動],就會發生此問題。

注意事項

根據預設,不會使用 群組原則 來設定SMS代理程式主機服務。

解決方案 1:不要在 群組原則 中定義 SMS 代理程式主機服務

修改 GPO 以不再定義 SMS 代理程式主機服務的啟動模式。 如果要執行這項操作,請依照下列步驟執行:

  1. 登入域控制器,然後啟動 Active Directory 使用者和電腦 工具。 若要這樣做,請按兩下 [開始>執行],在 [啟] 方塊中輸入 dsa.msc ,然後按兩下 [確定]

  2. 以滑鼠右鍵按兩下建立 GPO 的容器,然後選取 [ 屬性]。 例如,以滑鼠右鍵按兩下網域容器,或以滑鼠右鍵按兩下組織單位,然後選取 [ 屬性]

  3. 取 [群組原則] 索引標籤,選取定義SMS代理程式主機服務的 GPO,然後選取 [編輯]

  4. 在 [群組原則 對象編輯器] 工具中,展開 [計算機設定>Windows 設定安全性>設定],然後選取 [系統服務]

  5. 在右窗格中,按兩下 [SMS 代理程式主機],按兩下以清除 [ 定義此原則設定 ] 複選框,然後按兩下 [ 確定]

  6. 結束 群組原則 物件編輯器工具,然後按兩下 [確定]

  7. 重新啟動以 Windows XP SP2 為基礎的用戶端電腦。

解決方法 2:將 NetworkService 帳戶完全控制許可權指派給 SMS 代理程式主機物件

警告

此因應措施可能會使您的電腦或網路更易於遭受惡意使用者或惡意軟體 (例如病毒) 的攻擊。 我們不建議使用此因應措施,但會提供這項資訊,讓您可以自行決定實作此因應措施。 採用此因應措施需自行承擔風險。

如果您將 NetworkService 帳戶完全控制許可權指派給 群組原則 中的 SMS 代理程式主機物件,您可以保留 SMS 代理程式主機服務自動啟動 群組原則。 如果要執行這項操作,請依照下列步驟執行:

  1. 登入域控制器,然後啟動 Active Directory 使用者和電腦 工具。 若要這樣做,請按兩下 [開始>執行],在 [啟] 方塊中輸入 dsa.msc ,然後按兩下 [確定]

  2. 以滑鼠右鍵按兩下建立 GPO 的容器,然後選取 [ 屬性]。 例如,以滑鼠右鍵按兩下網域容器,或以滑鼠右鍵按兩下組織單位,然後選取 [ 屬性]

  3. 取 [群組原則] 索引標籤,選取定義SMS代理程式主機服務的 GPO,然後選取 [編輯]

  4. 在 [群組原則 對象編輯器] 工具中,展開 [計算機設定>Windows 設定安全性>設定],然後選取 [系統服務]

  5. 在右窗格中,按兩下 [SMS 代理程式主機],然後選取 [ 編輯安全性]

  6. 在 [ SMS 代理程式主機的安全性 ] 對話框中,選取 [ 新增]

  7. 在 [ 輸入要選取的物件名稱 ] 方塊中輸入 NetworkService,按兩下 [檢查名稱],然後按兩下 [ 確定]

  8. 在 [NetworkService 的許可權] 方塊中,選取 [允許] 數據行中的 [完全控制] 複選框,然後按兩下 [確定]

  9. 在 [ SMS 代理程式主機內容 ] 對話框中,按兩下 [ 確定]

  10. 結束 群組原則 物件編輯器工具,然後按兩下 [確定]