共用方式為


用戶端電腦可以在映像處理期間竊取未知計算機物件的 Configuration Manager GUID

本文提供的資訊可解決未知計算機物件之 Configuration Manager 唯一識別元 (GUID) 由映像的用戶端電腦所擷取的問題。

原始產品版本: Configuration Manager(最新分支)
原始 KB 編號: 4471061

徵兆

Configuration Manager 最新分支版本 1702 包含一項新功能,可讓您在 Microsoft Windows 預安裝環境 (Windows PE) 上執行時,使用 [ 工作順序精靈] 中的 [上 一個] 按鈕重試失敗的工作順序。

如需此功能的詳細資訊,請參閱 工作順序失敗時返回上一頁。

這項功能引進了下列問題:

選取 [ 上一個] 按鈕時,要製作影像的用戶端計算機可以竊取使用中未知計算機物件的 Configuration Manager 唯一標識符 (GUID)( x64 未知計算機x86 未知計算機)。

已修正 Configuration Manager 最新分支 1702 版更新匯總中的問題。

在所有後續版本的 Configuration Manager 最新分支中,也會修正此問題。

不過,從 Configuration Manager 最新分支 1702 版開始,從媒體或開機前執行環境 (PXE) 啟動的未知電腦可能找不到目標的工作順序。 在此案例中,下列錯誤訊息會記錄在SMSTS.log:

此電腦沒有可用的工作順序。 請確定您至少有一個工作順序已公告給這部計算機。

未指定的錯誤 (錯誤:80004005;來源:Windows)

如果在未知的計算機上選取 [選取工作順序執行] 頁面上的 [上一個] 按鈕,就可能發生此問題。

在所有後續版本的 Configuration Manager 最新分支中,也會修正此問題。

儘管在 Configuration Manager 最新分支 1702 版中套用更新匯總,或升級至更新版本的 Configuration Manager,仍會發生此問題。

原因

此問題可能會繼續發生,因為 Configuration Manager 最新分支 1702 版和更新版本 Configuration Manager 最新分支版本更新匯總中的修正只會防止問題發生。 如果問題目前存在於環境中,則無法修正此問題。

因此,即使在套用 1702 版更新匯總或更新版本之後,Configuration Manager 最新分支版本 1702 或更新版本仍可能會繼續發生此問題。 除非採取下列步驟,否則這是 true:

  • 更新發佈點上的開機映像。
  • 使用更新的映像重新建立開機媒體。
  • 正確清除擷取 GUID 的用戶端電腦。

解決方法

警告

請勿嘗試重新建立未知的計算機物件來修正此問題。 這無法正確修正問題,而且不會防止問題重新發生。 此外,在單一月臺有多個未知計算機對象的環境中發生已知問題。 如果您先前嘗試重新建立未知的計算機對象來解決此問題,請參閱 移除重複的未知計算機物件

若要解決此問題,並防止它在環境中傳回,請遵循下列步驟:

  1. 更新環境中的所有開機映像。 若要這樣做,請以滑鼠右鍵按兩下 Configuration Manager 控制台中的映射,然後選取 [ 更新發佈點]。 這會將包含修正的更新 Configuration Manager 二進位檔放入開機映射中。 如需詳細資訊,請參閱 使用開機映射更新發佈點。

  2. 如果您在環境中使用媒體,請在更新發佈點上的所有開機映射之後,重新建立環境中的所有媒體。 這可確保具有修正的更新開機映像位於環境中所使用的媒體中。

    若要防止使用具有舊開機映射的媒體,您可以在 Configuration Manager 控制台的 [系統管理>安全性>憑證] 節點下封鎖這些開機映像的憑證。 若要確定問題不會遞歸,建議您封鎖在步驟 1 中更新開機映射之前所建立之所有媒體的所有憑證。 建立媒體的日期會顯示在 [開始日期] 資料行中。

    如需如何建立媒體的詳細資訊,請參閱 建立工作順序媒體

  3. 必須正確清除擷取 GUID 的用戶端電腦。

若要正確清除擷取 GUID 的用戶端,請遵循下列步驟:

  1. 識別取得 GUID 的電腦。 若要這樣做,請檢查未知計算機對象的屬性(通常是 x64 未知計算機),記下 Configuration Manager 唯一標識符的值,然後在 Configuration Manager 控制台中執行查詢,以識別具有相同 GUID 的計算機物件。 您可以從主控台執行所有這些步驟。 您不需要進入 SQL Server 資料庫即可執行此動作。

  2. 識別取得遭竊 GUID 的計算機之後,請從遠端連線到該電腦,然後完全清除 Configuration Manager 用戶端。 這牽涉到不只是卸載用戶端。 相反地,您必須遵循步驟 3-7。

  3. 在客戶端電腦的 下 C:\Windows\CCMSetup,於提升許可權的命令提示字元中執行 CCMSetup.exe /uninstall 命令。

  4. 監視 任務管理器 ,直到 CCMSetup 完成執行為止。 請仔細檢查ccmsetup.log檔案,以確定用戶端已正確卸載。

  5. 在用戶端電腦上,刪除下列目錄:

    • C:\Windows\CCM
    • C:\Windows\CCMSetup

    注意

    若要完全刪除這些目錄,您可能需要重新啟動電腦。

  6. 在用戶端電腦上,刪除下列登錄機碼(如果有的話):

    • HKEY_LOCAL_MACHINE\Software\Microsoft\CCM
    • HKEY_LOCAL_MACHINE\Software\Microsoft\CCMSetup
    • HKEY_LOCAL_MACHINE\Software\Microsoft\SMS
  7. 在用戶端電腦上,刪除 C:\Windows\SMSCFG.ini 檔案。

  8. 在用戶端計算機上,在計算機帳戶的 [憑證] 主控台,刪除 [SMS>憑證] 節點下的所有憑證。 若要這樣做,請遵循下列步驟:

    1. 在提升許可權的命令提示字元中執行 MMC.exe

    2. 檔案功能表上,選取新增/移除嵌入式管理單元

    3. 選取 [ 憑證],然後選取 [ 新增]。

    4. 選取 [ 計算機帳戶 ],然後選取 [ 下一步]。

    5. 選取 [ 本機計算機 ],然後選取 [ 完成]。

    6. 選取 [確定]。

    7. 流覽至 [憑證>SMS>憑證]。

    8. 在結果窗格中,以滑鼠右鍵按兩下 [憑證>SMS>憑證] 節點下所列的每個憑證,然後選取 [刪除]。 重複此步驟,直到刪除所有憑證為止。

    9. 關閉 [憑證] 主控台。

  9. 從 Configuration Manager 控制台刪除冒犯電腦的記錄。 同樣地,您不需要進入 SQL Server 資料庫即可執行此動作。 您可以從 Configuration Manager 控制台刪除記錄。 完成步驟 1-8 之後,請務必執行此動作。 如果用戶端報表在完全清除之前備份,請先這樣做可能會導致重新建立記錄。

  10. 在冒犯的用戶端電腦上重新安裝 Configuration Manager 用戶端。

拿掉重複的未知電腦物件

如果您嘗試修正問題時,已在月臺重新建立未知的計算機物件,則應該刪除額外的未知計算機物件。 若要達成此目的,所有目前未知的計算機物件都應該針對受影響的網站刪除,然後為網站建立全新的未知計算機物件集。 刪除未知的計算機物件只能從 SQL Server 資料庫完成。 它無法從 Configuration Manager 控制台完成。

注意

如果有多個主要月臺,可以接受有多個未知的計算機物件。 不過,每個月臺每個架構應該只有一個未知的計算機物件。 例如,應該只有一個 x64 物件標示為 x64 未知電腦,而且只有一個標示為 x86 Unknown Computer 的 x86 物件

若要刪除額外的未知電腦物件,請遵循下列步驟:

  1. 使用內建的備份維護工作,確定您有 Configuration Manager 月臺的目前且有效的備份。

  2. 開啟組態管理員主控台。 如果有多個主要月臺,建議您開啟連線到管理中心網站的 Configuration Manager 控制台。

  3. 在 Configuration Manager 控制台中,移至 [資產與合規性>概觀>] [裝置集合]。

  4. 按兩下 [所有未知的電腦] 集合。

  5. 在結果窗格中,選取 [月臺碼] 資料行,以排序 [所有未知的計算機] 集合中的物件。

  6. 請注意,任何個別網站是否有多個 x64 未知的計算機 物件或 x86 未知的計算機 物件。

  7. 如果任何個別網站有多個 x64 未知的計算機物件或 x86 未知的計算機物件,請在結果窗格中的數據行上單擊滑鼠右鍵,然後將 [資源標識符] 新增至數據行清單。

  8. 判斷每個 x64 未知計算機物件的 [資源標識符] 值,以及任何一個月臺的每一個 x86 Unknown Computer 物件。 請務必記下所有未知計算機對象的資源標識碼,即使只有其中一個未知的計算機物件重複也一樣。

  9. 在您判斷 月臺未知計算機對象的資源標識符 之後, 可以刪除月臺的 x64 未知電腦 物件和 x86 未知的計算機 物件。

  10. 開啟 SQL Server Management Studio,然後連線到裝載額外未知計算機物件之月臺的資料庫。

  11. 展開 [資料庫] 節點,然後選取 Configuration Manager 資料庫(通常CM_Site_Code)。

  12. 在工具列上,選取 [新增查詢]。

  13. 請確定工具列上 [執行] 按鈕左邊的下拉功能表中已選取正確的資料庫。

  14. 在查詢窗格中,執行下列 SQL 查詢:

    SELECT C.CollectionID, C.SiteID, C.CollectionName, CM.MachineID, CM.Name FROM Collections C JOIN CollectionMembers CM ON C.SiteID = CM.SiteID JOIN UnknownSystem_DISC USD ON USD.ItemKey = CM.MachineID
    

    此查詢會顯示所有未知計算機物件所屬的所有集合。 使用此查詢來判斷未知計算機物件所屬的集合。 請記下這項資訊,以便在建立新的未知計算機物件集時,將其新增回適當的集合。 資源標識碼列在MachineID數據行中

  15. 在查詢窗格中,執行下列 SQL 查詢:

    SELECT * FROM UnknownSystem_DISC WHERE ItemKey IN ('Resource_ID_1','Resource_ID_2', 'Resource_ID_3')
    

    在此查詢中, Resource_ID_x 是站台中每個未知計算機對象的資源標識符,如步驟 9 中所決定。 例如,如果資源標識碼是 20468203542046820355,查詢會如下所示:

    SELECT * FROM UnknownSystem_DISC WHERE ItemKey IN ('2046820354','2046820355')
    
  16. 確認步驟 15 中查詢傳回的記錄是否正確。 如果是,請執行下列查詢來刪除記錄:

    DELETE FROM UnknownSystem_DISC WHERE ItemKey IN ('Resource_ID_1','Resource_ID_2', 'Resource_ID_3')
    

    在此查詢中, Resource_ID_x 是站台中每個未知計算機對象的資源標識符,如步驟 9 中所決定。 例如,如果資源標識碼是 20468203542046820355,刪除查詢會如下所示:

    DELETE FROM UnknownSystem_DISC WHERE ItemKey IN ('2046820354', '2046820355')
    

    注意

    請記得刪除受影響網站的所有未知計算機物件,包括 x64 和 x86,即使其中只有一個重複。

  17. 請遵循在意外刪除時重新建立未知計算機物件一節,為受影響的網站建立新的未知計算機物件。

  18. 返回 Configuration Manager 控制台,然後移至 [資產與合規性>概觀>裝置集合]。

  19. 以滑鼠右鍵按兩下 [ 所有未知的計算機] 集合,然後選取 [ 更新成員資格]。

  20. 等候幾分鐘,然後選取 [ 重新整理]。 確認每個月臺只有一個 x64 未知電腦 物件或 x86 未知的計算機 物件存在。 如果物件未顯示,請再等候幾分鐘再試一次。

  21. 出現新的未知計算機對象之後,請將它們新增回步驟 14 中所決定的適當集合。

  22. 視需要針對所有其他主要月臺重複步驟 10-21。

在意外刪除時重新建立未知的計算機物件

如果基於任何原因,任何使用此程式的網站意外刪除所有未知的計算機物件,則可以使用下列步驟重新建立這些物件。 只有當月台沒有未知的計算機物件時,才應該採取這些步驟。 如果站臺上只有兩個未知計算機物件中有一個存在,請使用本文的移除重複未知計算機物件一節中的 步驟,刪除其餘的未知計算機物件 ,然後遵循下列步驟:

  1. 登入遺漏未知計算機物件的主要站台伺服器。

  2. 在提升權限的命令提示字元中,執行下列命令:

    REG.exe ADD "HKLM\SOFTWARE\Microsoft\SMS\COMPONENTS\SMS_DISCOVERY_DATA_MANAGER" /v CreatedUnknownDDR /t REG_DWORD /d 0 /f
    

更新此登錄機碼值之後,應該會在不久之後自動重新建立未知的計算機物件。 您可以在主要站台伺服器上DDM.log檔案中檢查建立未知電腦對象的進度。

若要加速重新建立未知的電腦記錄,請依照下列步驟重新啟動 SMS_DISCOVERY_DATA_MANAGER 線程:

  1. 在缺少未知計算機物件的主要站台上開啟 Configuration Manager 控制台,然後移至 [監視>概觀>系統狀態>元件狀態]。

  2. 在工具欄上,選取 [啟動>Configuration Manager Service Manager]。

  3. Configuration Manager Service Manager 中,展開月臺碼底下的節點,然後選取 [ 元件]。

  4. 在結果窗格中,以滑鼠右鍵按兩下 SMS_DISCOVERY_DATA_MANAGER ,然後選取 [ 查詢]。 線程應該會顯示為 [執行中]。

  5. 以滑鼠右鍵按兩下 SMS_DISCOVERY_DATA_MANAGER,然後按兩下 [ 停止]。

  6. 以滑鼠右鍵按兩下 SMS_DISCOVERY_DATA_MANAGER,然後按兩下 [ 查詢]。

    注意

    線程應該會顯示為 [已停止]。

  7. 以滑鼠右鍵按兩下 SMS_DISCOVERY_DATA_MANAGER,然後按兩下 [ 開始]。

  8. 以滑鼠右鍵按兩下 SMS_DISCOVERY_DATA_MANAGER,然後按兩下 [ 查詢]。

    注意

    線程應該會顯示為 [執行中]。

  9. 關閉 Configuration Manager Service Manager 視窗。

[未知的計算機] 對象應該很快就會自動重新建立。 您可以在主要月台伺服器上的DDM.log檔案中檢查此程序的進度。