Komputer kliencki może ukraść identyfikator GUID Configuration Manager obiektu Nieznany komputer podczas przetwarzania obrazów

Ten artykuł zawiera informacje umożliwiające rozwiązanie problemu polegającego na tym, że Configuration Manager unikatowy identyfikator (GUID) obiektu Nieznany komputer jest pobierany przez komputer kliencki, który jest obrazem.

Oryginalna wersja produktu: Configuration Manager (bieżąca gałąź)
Oryginalny numer KB: 4471061

Symptomy

Configuration Manager bieżąca gałąź w wersji 1702 zawierała nową funkcję, która umożliwia użycie przycisku Poprzednie w celu ponowienia próby wykonania nieudanej sekwencji zadań w Kreatorze sekwencji zadań po uruchomieniu w środowisku preinstalacji systemu Microsoft Windows (Windows PE).

Aby uzyskać więcej informacji na temat tej funkcji, zobacz Powrót do poprzedniej strony, gdy sekwencja zadań kończy się niepowodzeniem.

Ta funkcja wprowadziła następujący problem:

Po wybraniu przycisku Poprzedni komputer kliencki, który jest obrazem, może ukraść Configuration Manager unikatowy identyfikator (GUID) używanego obiektu Nieznany komputer (x64 Nieznany komputer lub x86 Nieznany komputer).

Ten problem został rozwiązany w zestawieniu aktualizacji dla Configuration Manager bieżącej gałęzi w wersji 1702.

Ten problem jest również rozwiązany we wszystkich kolejnych wersjach Configuration Manager bieżącej gałęzi.

Jednak począwszy od Configuration Manager bieżącej gałęzi w wersji 1702, nieznane komputery, które są uruchamiane z nośnika lub środowiska wykonywania preboot (PXE), mogą nie znajdować sekwencji zadań, które są dla nich przeznaczone. W tym scenariuszu w SMSTS.log jest rejestrowany następujący komunikat o błędzie:

Na tym komputerze nie są dostępne żadne sekwencje zadań. Upewnij się, że na tym komputerze jest anonsowana co najmniej jedna sekwencja zadań.

Nieokreślony błąd (błąd: 80004005; Źródło: Windows)

Ten problem może wystąpić, jeśli na nieznanym komputerze zostanie wybrany przycisk Poprzedni na stronie Wybierz sekwencję zadań do uruchomienia .

Ten problem jest również rozwiązany we wszystkich kolejnych wersjach Configuration Manager bieżącej gałęzi.

Pomimo zastosowania pakietu zbiorczego aktualizacji w Configuration Manager bieżącej wersji gałęzi 1702 lub uaktualnienia do nowszej wersji Configuration Manager, problem nadal występuje.

Przyczyna

Ten problem może nadal występować, ponieważ poprawka w zestawieniu aktualizacji dla Configuration Manager bieżącej gałęzi w wersji 1702 i nowszej Configuration Manager bieżące wersje gałęzi uniemożliwia wystąpienie problemu tylko w przyszłości. Nie rozwiązuje problemu, jeśli problem obecnie istnieje w środowisku.

W związku z tym problem może nadal występować w Configuration Manager bieżącej wersji gałęzi 1702 lub nowszej nawet po zastosowaniu pakietu zbiorczego aktualizacji w wersji 1702 lub nowszej. Jest to prawda, chyba że zostaną wykonane następujące kroki:

  • Zaktualizuj obrazy rozruchowe w punktach dystrybucji.
  • Utwórz ponownie nośnik rozruchowy przy użyciu zaktualizowanych obrazów.
  • Poprawnie wyczyścić komputer kliencki, który ukradł identyfikator GUID.

Rozwiązanie

Ostrzeżenie

Nie próbuj rozwiązywać tego problemu przez ponowne utworzenie obiektów Nieznany komputer. To nie rozwiązuje poprawnie problemu i nie uniemożliwia ponownego wystąpienia problemu w przyszłości. Ponadto istnieją znane problemy występujące w środowiskach, które mają wiele obiektów Nieznany komputer dla jednej lokacji. Jeśli wcześniej próbowano rozwiązać ten problem przez ponowne utworzenie obiektów Nieznany komputer, zobacz Usuwanie zduplikowanych obiektów nieznanych komputerów.

Aby rozwiązać ten problem i uniemożliwić jego powrót w środowisku, wykonaj następujące kroki:

  1. Zaktualizuj wszystkie obrazy rozruchowe w środowisku. W tym celu kliknij prawym przyciskiem myszy obrazy w konsoli Configuration Manager, a następnie wybierz pozycję Aktualizuj punkty dystrybucji. Spowoduje to przeniesienie zaktualizowanych plików binarnych Configuration Manager zawierających poprawkę do obrazu rozruchowego. Aby uzyskać więcej informacji, zobacz Aktualizowanie punktów dystrybucji przy użyciu obrazu rozruchowego.

  2. Jeśli używasz nośnika w środowisku, utwórz ponownie wszystkie nośniki w środowisku po zaktualizowaniu wszystkich obrazów rozruchowych w punktach dystrybucji. Dzięki temu zaktualizowane obrazy rozruchowe, które mają poprawkę, znajdują się na nośniku używanym w środowisku.

    Aby zapobiec użyciu nośnika ze starymi obrazami rozruchowymi, certyfikaty dla tych obrazów rozruchowych mogą być blokowane w konsoli Configuration Manager w węźleCertyfikatyzabezpieczeń>administracji>. Aby upewnić się, że problem nie występuje ponownie, zalecamy zablokowanie wszystkich certyfikatów dla wszystkich nośników utworzonych przed zaktualizowaniem obrazów rozruchowych w kroku 1. Data utworzenia nośnika jest wyświetlana w kolumnie Data rozpoczęcia .

    Aby uzyskać więcej informacji na temat sposobu tworzenia nośnika, zobacz Tworzenie nośnika sekwencji zadań.

  3. Komputer kliencki, który ukradł identyfikator GUID, musi zostać poprawnie oczyszczony.

Aby poprawnie wyczyścić klienta, który ukradł identyfikator GUID, wykonaj następujące kroki:

  1. Zidentyfikuj komputer, który uzyskał identyfikator GUID. W tym celu sprawdź właściwości obiektu Nieznany komputer (zwykle x64 Nieznany komputer), zanotuj wartość Configuration Manager Unikatowy identyfikator, a następnie uruchom zapytanie w konsoli Configuration Manager, aby zidentyfikować obiekt komputera, który ma ten sam identyfikator GUID. Wszystkie te kroki można wykonać z poziomu konsoli programu . Aby to zrobić, nie musisz przechodzić do bazy danych SQL Server.

  2. Po zidentyfikowaniu komputera, który uzyskał skradziony identyfikator GUID, zdalnie połącz się z tym komputerem, a następnie całkowicie wyczyść klienta Configuration Manager. Obejmuje to coś więcej niż tylko odinstalowywanie klienta. Zamiast tego należy wykonać kroki 3–7.

  3. Na komputerze klienckim w obszarze C:\Windows\CCMSetupuruchom polecenie w wierszu CCMSetup.exe /uninstall polecenia z podwyższonym poziomem uprawnień.

  4. Monitoruj Menedżera zadań do momentu zakończenia działania programu CCMSetup. Sprawdź dokładnie plik ccmsetup.log, aby upewnić się, że klient został poprawnie odinstalowany.

  5. Na komputerze klienckim usuń następujące katalogi:

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

    Uwaga

    Aby w pełni usunąć te katalogi, może być konieczne ponowne uruchomienie komputera.

  6. Na komputerze klienckim usuń następujące klucze rejestru (jeśli istnieją):

    • HKEY_LOCAL_MACHINE\Software\Microsoft\CCM
    • HKEY_LOCAL_MACHINE\Software\Microsoft\CCMSetup
    • HKEY_LOCAL_MACHINE\Software\Microsoft\SMS
  7. Na komputerze klienckim usuń plik C:\Windows\SMSCFG.ini.

  8. Na komputerze klienckim usuń wszystkie certyfikaty w węźleCertyfikatyprogramu SMS> w konsoli Certyfikaty dla konta komputera. Aby to zrobić, wykonaj następujące kroki.

    1. Uruchom polecenie MMC.exe w wierszu polecenia z podwyższonym poziomem uprawnień.

    2. W menu Plik wybierz pozycję Dodaj/Usuń przystawkę.

    3. Wybierz pozycję Certyfikaty, a następnie wybierz pozycję Dodaj.

    4. Wybierz pozycję Konto komputera, a następnie wybierz pozycję Dalej.

    5. Wybierz pozycję Komputer lokalny , a następnie wybierz pozycję Zakończ.

    6. Wybierz przycisk OK.

    7. Przejdź do pozycji Certyfikaty CERTYFIKATY>SMS>.

    8. W okienku wyników kliknij prawym przyciskiem myszy każdy certyfikat wymieniony w węźleCertyfikatySMS>certyfikatów>, a następnie wybierz pozycję Usuń. Powtórz ten krok, dopóki wszystkie certyfikaty nie zostaną usunięte.

    9. Zamknij konsolę Certyfikaty .

  9. Usuń rekord naruszającego komputera z konsoli Configuration Manager. Ponownie nie musisz przechodzić do SQL Server bazy danych, aby to zrobić. Rekord można usunąć z konsoli Configuration Manager. Upewnij się, że robisz to po wykonaniu kroków 1–8. Wykonanie tej pierwszej czynności może spowodować ponowne utworzenie rekordu, jeśli raporty klienta zostaną utworzone przed ich pełnym oczyszczeniem.

  10. Zainstaluj ponownie klienta Configuration Manager na komputerze klienckim, który jest urażony.

Usuwanie zduplikowanych obiektów nieznanych komputerów

Jeśli obiekty Nieznany komputer zostały ponownie utworzone w lokacji podczas próby rozwiązania problemu, należy usunąć dodatkowe obiekty Nieznany komputer. W tym celu wszystkie bieżące obiekty Nieznany komputer powinny zostać usunięte dla witryny, której dotyczy problem, a następnie utworzyć nowy zestaw obiektów Nieznany komputer dla lokacji. Usuwanie obiektów nieznanych komputerów można ukończyć tylko z bazy danych SQL Server. Nie można tego zrobić z konsoli Configuration Manager.

Uwaga

Dopuszczalne jest posiadanie wielu obiektów nieznanych komputerów, jeśli istnieje wiele lokacji głównych. Jednak każda lokacja powinna mieć tylko jeden nieznany obiekt komputera na architekturę. Na przykład powinien istnieć tylko jeden obiekt x64 z etykietą x64 Nieznany komputer i tylko jeden obiekt x86 z etykietą x86 Nieznany komputer.

Aby usunąć dodatkowe obiekty Nieznany komputer, wykonaj następujące kroki:

  1. Upewnij się, że masz bieżącą i prawidłową kopię zapasową lokacji Configuration Manager przy użyciu wbudowanego zadania konserwacji kopii zapasowej.

  2. Otwórz konsolę Configuration Manager. Jeśli istnieje wiele lokacji głównych, zalecamy otwarcie konsoli Configuration Manager połączonej z centralną lokacją administracyjną.

  3. W konsoli Configuration Manager przejdź do pozycji Zasoby i omówienie> zgodności >Kolekcje urządzeń.

  4. Kliknij dwukrotnie kolekcję Wszystkie nieznane komputery .

  5. W okienku wyników posortuj obiekty w kolekcji Wszystkie nieznane komputery , wybierając kolumnę Kod witryny .

  6. Należy pamiętać, czy istnieje wiele obiektów nieznanych komputerów x64 lub x86 Nieznany komputer dla dowolnej lokacji.

  7. Jeśli istnieje wiele obiektów nieznanych komputerów x64 lub x86 Nieznany komputer dla dowolnej lokacji, kliknij prawym przyciskiem myszy kolumny w okienku wyników i dodaj identyfikator zasobu do listy kolumn.

  8. Określ wartość identyfikatora zasobu dla każdego obiektu nieznany komputer x64 i każdy obiekt x86 Nieznany komputer dla każdej lokacji. Pamiętaj, aby zanotować identyfikator zasobu dla wszystkich obiektów Nieznany komputer, nawet jeśli tylko jeden z obiektów Nieznany komputer jest zduplikowany.

  9. Po określeniu identyfikatorów zasobów obiektów Nieznany komputer dla lokacji można usunąć obiekty nieznanych komputerów x64 i x86 Nieznany komputer .

  10. Otwórz SQL Server Management Studio, a następnie połącz się z bazą danych lokacji hostującej dodatkowe obiekty Nieznany komputer.

  11. Rozwiń węzeł Bazy danych i wybierz bazę danych Configuration Manager (zwykle CM_Site_Code).

  12. Na pasku narzędzi wybierz pozycję Nowe zapytanie.

  13. Upewnij się, że wybrano poprawną bazę danych z menu rozwijanego po lewej stronie przycisku Wykonaj na pasku narzędzi.

  14. W okienku zapytania uruchom następujące zapytanie 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
    

    To zapytanie wyświetla wszystkie kolekcje, do których należą wszystkie obiekty Nieznany komputer. Użyj tego zapytania, aby określić, które kolekcje są elementami członkowskimi obiektów Nieznany komputer. Zanotuj te informacje, aby po utworzeniu nowego zestawu obiektów Nieznany komputer można je dodać z powrotem do odpowiednich kolekcji. Identyfikator zasobu jest wyświetlany w kolumnie MachineID.

  15. W okienku zapytania uruchom następujące zapytanie SQL:

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

    W tym zapytaniu Resource_ID_x jest identyfikatorem zasobu każdego z obiektów Nieznany komputer dla lokacji, zgodnie z ustaleniami w kroku 9. Jeśli na przykład identyfikatory zasobów są 2046820354 i 2046820355, zapytanie będzie wyglądać następująco:

    SELECT * FROM UnknownSystem_DISC WHERE ItemKey IN ('2046820354','2046820355')
    
  16. Sprawdź, czy rekordy zwracane przez zapytanie w kroku 15 są poprawne. Jeśli tak jest, uruchom następujące zapytanie, aby usunąć rekordy:

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

    W tym zapytaniu Resource_ID_x jest identyfikatorem zasobu każdego z obiektów Nieznany komputer dla lokacji, zgodnie z ustaleniami w kroku 9. Jeśli na przykład identyfikatory zasobów są 2046820354 i 2046820355, zapytanie usuwania będzie wyglądać następująco:

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

    Uwaga

    Pamiętaj, aby usunąć wszystkie obiekty Nieznany komputer dla witryny, których dotyczy problem, zarówno x64, jak i x86, nawet jeśli tylko jeden z nich został zduplikowany.

  17. Postępuj zgodnie z sekcją Ponowne tworzenie obiektów nieznanych komputerów w przypadku przypadkowego usunięcia , aby utworzyć nowe obiekty nieznanych komputerów dla witryny, których dotyczy problem.

  18. Wróć do konsoli Configuration Manager, a następnie przejdź do pozycji Zasoby i omówienie> zgodności >Kolekcje urządzeń.

  19. Kliknij prawym przyciskiem myszy kolekcję Wszystkie nieznane komputery , a następnie wybierz pozycję Zaktualizuj członkostwo.

  20. Poczekaj kilka minut, a następnie wybierz pozycję Odśwież. Sprawdź, czy dla każdej lokacji istnieje tylko jeden obiekt nieznanego komputera x64 lub x86 Nieznany komputer . Jeśli obiekty nie są wyświetlane, poczekaj jeszcze kilka minut i spróbuj ponownie.

  21. Gdy pojawią się nowe obiekty Nieznany komputer, dodaj je z powrotem do odpowiednich kolekcji określonych w kroku 14.

  22. W razie potrzeby powtórz kroki 10–21 dla wszystkich dodatkowych lokacji głównych.

Ponowne tworzenie obiektów nieznanych komputerów w przypadku przypadkowego usunięcia

Jeśli z jakiegokolwiek powodu wszystkie obiekty nieznanych komputerów zostaną przypadkowo usunięte dla dowolnej lokacji korzystającej z tego procesu, można je utworzyć ponownie, wykonując następujące kroki. Te kroki należy wykonać tylko wtedy, gdy w lokacji nie ma obiektów Nieznany komputer. Jeśli w lokacji istnieje tylko jeden z dwóch obiektów Nieznany komputer, usuń pozostały obiekt Nieznany komputer, wykonując kroki opisane w sekcji Usuwanie zduplikowanych obiektów nieznanych komputerów w tym artykule, a następnie wykonaj następujące kroki:

  1. Zaloguj się do serwera lokacji głównej, na który brakuje obiektów Nieznany komputer.

  2. W wierszu polecenia z podwyższonym poziomem uprawnień uruchom następujące polecenie:

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

Po zaktualizowaniu tej wartości klucza rejestru obiekty Nieznany komputer powinny zostać automatycznie ponownie utworzone wkrótce potem. Postęp tworzenia obiektów Nieznany komputer można sprawdzić w pliku DDM.log na serwerze lokacji głównej.

Aby przyspieszyć odtwarzanie rekordów nieznanych komputerów, uruchom ponownie wątek SMS_DISCOVERY_DATA_MANAGER , wykonując następujące kroki:

  1. Otwórz konsolę Configuration Manager w lokacji głównej, w której brakuje obiektów Nieznany komputer, a następnie przejdź do pozycji Stanskładnikastanu> systemuprzeglądu>monitorowania>.

  2. Na pasku narzędzi wybierz pozycję Start>Configuration Manager Service Manager.

  3. W Configuration Manager Service Manager rozwiń węzeł w obszarze kodu witryny, a następnie wybierz pozycję Składniki.

  4. W okienku wyników kliknij prawym przyciskiem myszy pozycję SMS_DISCOVERY_DATA_MANAGER i wybierz pozycję Zapytanie. Wątek powinien być wyświetlany jako Uruchomiony.

  5. Kliknij prawym przyciskiem myszy SMS_DISCOVERY_DATA_MANAGER, a następnie kliknij przycisk Zatrzymaj.

  6. Kliknij prawym przyciskiem myszy SMS_DISCOVERY_DATA_MANAGER, a następnie kliknij pozycję Zapytanie.

    Uwaga

    Wątek powinien być wyświetlany jako Zatrzymany.

  7. Kliknij prawym przyciskiem myszy SMS_DISCOVERY_DATA_MANAGER, a następnie kliknij przycisk Start.

  8. Kliknij prawym przyciskiem myszy SMS_DISCOVERY_DATA_MANAGER, a następnie kliknij pozycję Zapytanie.

    Uwaga

    Wątek powinien być wyświetlany jako Uruchomiony.

  9. Zamknij okno Configuration Manager Service Manager.

Obiekty Nieznany komputer powinny wkrótce zostać automatycznie ponownie utworzone. Postęp tego procesu można sprawdzić w pliku DDM.log na serwerze lokacji głównej.