Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Исходная версия продукта: Configuration Manager (current branch)
Исходный номер базы знаний: 4490424
Эта статья поможет администраторам понять процесс обновления и обслуживания в Configuration Manager (current branch). Эта статья также поможет устранить распространенные проблемы, которые могут возникнуть при установке обновлений.
Configuration Manager синхронизируется со службой Microsoft Cloud, чтобы получить обновления, применимые к вашей инфраструктуре и версии. Консоль Configuration Manager можно использовать для установки этих обновлений.
Чтобы просмотреть обновления и управлять ими, откройте консоль Configuration Manager, подключенную к сайту верхнего уровня, а затем перейдите к обновлениюи обслуживанию>>. Дополнительные сведения см. в разделе "Установка обновлений в консоли" для Configuration Manager.
Наилучшие практики по обновлениям
Перед установкой обновлений с помощью консоли Configuration Manager ознакомьтесь со следующими шагами.
Шаг 1. Проверка контрольных списков обновлений
Ознакомьтесь со следующими контрольными списками обновлений, чтобы выполнить действия перед началом обновления:
- Контрольный список для установки обновления 2509
- Контрольный список для установки обновления 2503
- Контрольный список для установки обновления 2409
Шаг 2. Перед установкой обновления запустите средство проверки готовности
Перед установкой обновления рекомендуется выполнить проверку готовности к установке этого обновления. Дополнительные сведения см. в разделе "Перед установкой обновления в консоли".
Glossary
| Срок | Explanation |
|---|---|
| Обновление пакета | Коллекция файлов и метаданных, используемых для обновления инфраструктуры Configuration Manager. |
| Точка подключения службы (SCP) | Роль системы сайта, которая подключает Configuration Manager к облаку Майкрософт для синхронизации обновлений. |
| Инструмент подключения службы (SCT) | Средство, которое используется для синхронизации и скачивания пакетов обновления в автономном режиме. |
| Простая настройка пакета | Фактическая полезная нагрузка пакета обновления. |
| Редисты | Набор распространяемых компонентов программного обеспечения, необходимых для установки обновлений. |
| Простой пакет установки | Скрытый пакет Configuration Manager, используемый для репликации нагрузки и распространяемых компонентов пакета обновления. |
Список основных компонентов
| Имя. | Наименование компонента | Понятное имя | Binary | Description |
|---|---|---|---|---|
| Загрузчик DMP | SMS_DMP_DOWNLOADER | DmpDownloader | Dmpdownloader.dll | Часть роли точки подключения службы. Отвечает за синхронизацию и скачивание пакетов обновлений. |
| Средство подключения к службе | - | ПКТЗ | ServiceConnectionTool.exe | Инструмент, используемый для автономного обслуживания сайтов. |
| Диспетчер иерархий | SMS_HIERARCHY_MANAGER | HMAN | HMAN.dll | Компонент сервера сайта, который обрабатывает пакеты обновления. |
| Обновление Configuration Manager | CONFIGURATION_MANAGER_UPDATE | CMUpdate | CMUpdate.exe | Служба, которая устанавливает пакеты обновления. |
Подготовка к устранению неполадок с обновлениями и обслуживанием
Внимание
При устранении неполадок с обновлениями и обслуживанием избегайте следующих действий:
- Вручную очищайте все связанные папки (\EasySetupPayload, \CMUStaging). Измените только эти расположения папок вручную, если служба поддержки Майкрософт указывает вам.
- Вручную очистка всех таблиц SQL. Не изменяйте сведения в этих таблицах вручную, если агент поддержки Майкрософт не указывает вам.
- Восстановление базы данных Configuration Manager или сервера сайта Configuration Manager при возникновении ошибки во время обновления. Вместо этого исправьте проблему и повторите попытку установки.
- Переустановка точки подключения службы во время установки.
- Перезапуск службы обновления Configuration Manager во время установки.
- Сохранение папки \CMUStaging\, открытой во время установки.
Примечание.
После установки пакета обновления не используйте CMUpdateReset.exe.
Определите GUID пакета обновления
Перед устранением проблемы с обновлением определите GUID пакета обновления. Чтобы просмотреть идентификатор пакета обновления, который отображается в консоли Configuration Manager, добавьте столбец Идентификатор пакета в узел Администрирование>Обновление и обслуживание.
Если консоль не перечисляет затронутый пакет обновления, вы можете найти GUID в базе данных Configuration Manager. Чтобы найти GUID, выполните SQL-запрос, похожий на следующий пример:
SELECT Name, PackageGuid FROM v_LocalizedUpdatePackageMetaData_SiteLoc
Для справки в следующей таблице перечислены известные графические идентификаторы пакетов обновления. Список не включает добровольные выпуски или быстрые исправления.
| Название обновления | GUID пакета |
|---|---|
| Configuration Manager 2309 | FD3D0214-F4DC-4664-B6BB-997E381B7C9D |
| Менеджер конфигурации 2403 | 5B8886C7-F967-4F8A-92AA-009E28368853 |
| Менеджер конфигураций 2403 HFRU | A02D38C5-021E-4144-8249-E7CDE48DA83F |
| Configuration Manager 2409 | 3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E |
| Менеджер конфигурации 2409 HFRU | 345A6BE1-3D07-43ED-B6E5-FAC0889DA04C |
| Configuration Manager 2503 | AA928926-5C76-4DE0-B51F-0FE4D365DFE2 |
| Configuration Manager 2503 HFRU | 6B0783D9-B8A2-4848-82F6-8EFE956F4988 |
| Конфигурационный Менеджер 2509 | 420E3E18-73C5-4BE9-88B0-6F1E30A012CA |
Определение этапа установки обновления
Во время процесса обновления пакет обновления проходит на следующих этапах:
- Synchronization
- Проверка применимости
- Загрузка
- Replication
- Проверка предварительных условий
- Installation
Знание этапа, на котором обновление завершилось сбоем, дает отправную точку для устранения проблемы. Используйте следующую схему, чтобы определить этап установки пакета обновления.
Примечание.
Этап репликации является частью этапа проверки готовности или этапа установки. Таким образом, он не отображается отдельно на схеме.
Внимание
Если пакет обновления не отображается в консоли или в выходных данных Windows PowerShell, установка может находиться на этапе применимости. Ищите таблицу SQL CM_UpdatePackages на сайте верхнего уровня. Используйте запрос, похожий на следующий пример:
SELECT PackageGuid,State FROM CM_UpdatePackages where PackageGUID = '<Package GUID>'
Эта таблица должна содержать запись целевого пакета.
Выберите одну из следующих ссылок, чтобы устранить неполадки на определенном этапе, или последовательно выполните все шаги для каждого этапа.
- Изучение этапов проверки синхронизации и применимости
- Изучение этапа загрузки
- Оценка хода выполнения на этапах репликации, проверки готовности и установки
Изучение этапов проверки синхронизации и применимости
Точка подключения службы (SCP) загружает обновления, которые применяются к инфраструктуре Configuration Manager. В интерактивном режиме он автоматически проверяет наличие обновлений каждые 24 часа. Если SCP находится в автономном режиме, используйте средство подключения службы для загрузки обновлений вручную.
Ниже приведен обзор процесса, который используется в онлайн SCP для загрузки обновлений в консоли. Для схемы этого процесса см. Блок-схема – Загрузка обновлений для Configuration Manager.
Выберите здесь, чтобы просмотреть шаги синхронизации и применимости для веб-SCP.
Шаг процесса 1. DMPDownloader синхронизирует последние сведения об обновлении
Каждые 24 часа компонент DMPDownloader в SCP проверяет наличие новых пакетов обновления. Во время этого процесса он записывает записи в DMPDownloader.log, похожие на следующий пример:
Hasn't synced recently.
Generating state message: 0 for package 00000000-0000-0000-0000-000000000000~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUhxpzo31n.SMX~~
Successfully Dropped the state message 0~~
DMPDownloader отправляет 0 (START_PROCESS) на сервер сайта сообщение о состоянии высокого приоритета, чтобы указать, что начинается процесс синхронизации.
Затем DMPDownloader проверяет наличие последнего манифеста обновления, скачав файл ConfigMgr.Update.Manifest.cab из ссылки манифеста. Манифест содержит все недавно выпущенные обновления Configuration Manager и их метаданные. Во время этого процесса DMPDownloader вносит записи в DMPDownloader.log, напоминающие следующий пример:
Checking for preview version~~
Site is preview? no~~
Is it a fast channel? :False~~
Easysetup fwlink to download the manifest: https://go.microsoft.com/fwlink/?LinkId=2309745~~
Download Easy setup payloads~~
Get manifest.cab url~~
Get manifest.cab from download center.~~
GetSABranchInfo: Site is at 1 branch.~~
Redirected to URL https://sccm.manage.microsoft.com/SCCMConnectedService.svc~~
The flighting request url is https://sccm.manage.microsoft.com/SCCMConnectedService.svc/Manifest?Tenant=WsklMWus1G4EphGKZHLtnQzE494yuqfhvdyMP%2foS3CQ%3d&Version=5.00.9135.1000&Ring=2376918;Branch=1~~
Flighting is not configured, fallback to default setting.~~
Generating state message: 1 for package 00000000-0000-0000-0000-000000000000~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUp4qnqtjp.SMX~~
Successfully Dropped the state message 1~~
DMPDownloader отправляет 1 (START_VERIFY_MANIFEST) сообщение о состоянии на сервер сайта, чтобы указать, что скачивание манифеста выполняется. После отправки сообщения он скачивает манифест в папку \EasySetupPayload. Во время этого процесса DMPDownloader ведет журнал записей, похожих на следующий пример:
Download manifest.cab~~
Redirected to URL https://download.microsoft.com/download/6e09da86-4e81-4c36-a2f4-98b7bc4e261c/70.KB33177653_CM2403_9128.1033_CM2409_9132.1027_CM2503_9135.1006/ConfigMgr.Update.Manifest.cab~~
Got fwdlink and recreating the httprequest/response~~
manifest.cab (http response) size is 11526232~~
Generating state message: 2 for package 00000000-0000-0000-0000-000000000000~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUdrcn3u4r.SMX~~
Successfully Dropped the state message 2~~
DMPDownloader отправляет 2 (START_VERIFY_MANIFESTFILE_TRUSTED) сообщение о состоянии, указывающее, что DMPDownloader выполняет проверку цифровой подписи файла ConfigMgr.Update.Manifest.cab. При проверке подписи DMPDownloader ведет журнал записей, которые выглядят следующим образом:
File 'E:\ConfigMgr\EasySetupPayload\ConfigMgr.Update.Manifest.cab' is signed and trusted.
File 'E:\ConfigMgr\EasySetupPayload\ConfigMgr.Update.Manifest.cab' is signed with MS root cert.
Finished calling verify manifest~~
Generating state message: 3 for package 00000000-0000-0000-0000-000000000000~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUhclfcg15.SMX~~
Successfully Dropped the state message 3~~
DMPDownloader отправляет 3 (VERIFIED_MANIFEST) сообщение о состоянии, чтобы убедиться, что файл имеет доверенную сигнатуру.
Наконец, DMPDownloader переименовывает ConfigMgr.Update.Manifest.cab в ___CABConfigMgr.Update.Manifest.mcm, а затем перемещает переименованный файл в одно из следующих расположений:
- Если SCP удален с сервера сайта, DMPDownloader сохраняет файл в MP\OUTBOXES\MCM.box. Диспетчер отправки файлов MPFDM перемещает файл на сервер сайта.
- Если SCP находится в одном месте с сервером сайта, файл сохраняется непосредственно в папке inboxes\hman.box\ForwardingMsg.
Во время этого процесса DMPDownloader ведет журнал записей, похожих на следующий пример:
Manifest.cab was successfully moved to the connector outbox~~
Generating state message: 4 for package 00000000-0000-0000-0000-000000000000~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUbcfe5xql.SMX~~
Successfully Dropped the state message 4~~
DMPDownloader отправляет4 (MANIFEST_DOWNLOADED) сообщение о состоянии, указывающее, что этот процесс завершен.
В Hierarchy Manager (HMAN) поток пересылки сообщений перемещает входящий MCM-файл в hman.box\CFD\ConfigMgr.Update.Manifest.CAB. Эта операция не создает записи журнала.
Шаг 2. HMAN проверяет, применяются ли новые обновления
HMAN проверяет наличие манифеста для подписи скачивания, извлекает манифест, а затем обрабатывает манифест и проверяет, применимы ли пакеты обновления.
Компонент SMSDBMon создает пустой файл с именем <SiteCode.scu>, помещая его в папку <директории установки ConfigMgr>\inboxes\hman.box.
Примечание.
В этих именах файлов и путей <SiteCode> представляет код вашего сайта Configuration Manager, а <каталог установки Configuration Manager> представляет локальный каталог, в котором установлен Configuration Manager.
Это событие активирует HMAN для запуска обработки. Он регистрирует записи в HMAN.log, похожие на следующий пример:
STATMSG: ID=3306 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_HIERARCHY_MANAGER"
SYS=<Site Server FQDN> SITE=XXX PID=2168 TID=4888 GMTDATE=Wed Dec 21 16:15:08.957 2016 ISTR0="C:\Program Files\Microsoft Configuration Manager\inboxes\hman.box\CAS.SCU"
HMAN проверяет сигнатуру скачивания, а затем извлекает манифест в папку \CMUStaging на сервере сайта. Во время этого процесса HMAN регистрирует записи, похожие на следующий пример:
File 'E:\ConfigMgr\inboxes\hman.box\CFD\ConfigMgr.Update.Manifest.CAB' is signed and trusted.
File 'E:\ConfigMgr\inboxes\hman.box\CFD\ConfigMgr.Update.Manifest.CAB' is signed with MS root cert.
Extracting file E:\ConfigMgr\inboxes\hman.box\CFD\ConfigMgr.Update.Manifest.CAB to E:\ConfigMgr\CMUStaging\~
Извлеченные файлы включают папку ApplicabilityChecks, содержащую файлы sql-запросов. HMAN выполняет эти запросы для оценки применимости пакетов обновлений в манифесте. Во время этого процесса HMAN регистрирует записи, похожие на следующий пример:
Extracted C:\Program Files\Microsoft Configuration Manager\CMUStaging\Manifest.xml
Processing Configuration Manager Update manifest file C:\Program Files\Microsoft Configuration Manager\CMUStaging\manifest.xml
C:\Program Files\Microsoft Configuration Manager\CMUStaging\ApplicabilityChecks\CM1610-KB3209501_AppCheck_10AA8BA0.sql has hash value SHA256:EB2C2D2E27EA0ACE8D4B6E4806FD2698BDE472427F28E60FB969A11BC5D811AB
Configuration Manager Update (PackageGuid=10AA8BA0-04D4-4FE3-BC21-F1874BC8C88C) is applicable
Если пакет не применяется, HMAN регистрирует записи, похожие на следующий пример:
C:\Program Files\Microsoft Configuration Manager\CMUStaging\ApplicabilityChecks\CM1610-KB3211925_AppCheck_9390F966.sql has hash value SHA256:048DA8137C249AAD11340A855FF7E0E8568F5325FED5F503C4D9C329E73AD464
SQL MESSAGE: - Not a 1610 FR2 build, skip this hotfix
Configuration Manager Update (PackageGuid=9390F966-F1D0-42B8-BDC1-8853883E704A) is not applicable and should be filtered.
Результаты процессов проверки синхронизации и применимости
В консоли отображаются новые применимые обновления, а их состояние обозначается как доступно для скачивания или готово к установке. Проверка применимости может скрыть некоторые пакеты обновления. Чтобы проверить состояние обновления, проверьте столбец State в таблице CM_UpdatePackages. В таблице доступные обновления содержат записи в этом столбце, похожие на следующие примеры:
APPLICABILITY_SUCCESS = 327682DOWNLOAD_SUCCESS = 262146
Обновления, которые не применимы (и не отображаются в консоли), имеют записи в этом столбце, похожие на следующие примеры:
APPLICABILITY_HIDE = 393213APPLICABILITY_NA = 393214
Устранение неполадок на этапе синхронизации
Если вы подозреваете, что проблема возникает на этапе синхронизации, используйте следующую блок-схему, чтобы изучить, какие компоненты могут быть вовлечены и какие процессы влияют на проблему.
Ниже приведены инструкции по устранению неполадок. Действия зависят от того, настроена ли ваша SCP в сетевом режиме или в автономном режиме.
SCP в режиме "Интернет"
В SCP проверьте файл DMPDownloader.log для любых сообщений об ошибках, созданных DMPDownloader во время загрузки и обработки CAB-файла манифеста.
Убедитесь, что файл HMAN.log содержит записи, похожие на следующий пример:
Extracting file E:\ConfigMgr\inboxes\hman.box\CFD\ConfigMgr.Update.Manifest.CAB to E:\ConfigMgr\CMUStaging\~ Extracted E:\ConfigMgr\CMUStaging\Manifest.xmlЭти записи журнала указывают, что DMPDownloader успешно скачал и обработал CAB-файл.
SCP в автономном режиме
Примечание.
Следующие шаги относятся к файлу ServiceConnectionTool.log, который находится в том же каталоге, что и средство подключения службы. Дополнительные сведения об этом файле см. в разделе "Файлы журналов " статьи "Использование средства подключения службы для Configuration Manager".
Проверьте данные, скачанные на шаге импорта , и убедитесь, что файл ConfigMgr.Update.Manifest.enc присутствует.
- Если файл отсутствует, просмотрите записи в ServiceConnectionTool.log, записанные на этапе подключения . Проверьте наличие ошибок, связанных с загрузкой ConfigMgr.Update.Manifest.enc.
- Если файл присутствует, просмотрите ServiceConnectionTool.log, записанные на этапе импорта. Если файл успешно загружен, журнал содержит сообщение о состоянии 4, похожее на следующий пример:
Successfully Dropped the state message 4~~
Устранение неполадок этапа проверки применимости
Примечание.
Проблема на этапе проверки применимости обычно указывает, что информация о версии сайта находится в несогласованном состоянии из-за изменения базы данных вручную или предыдущего сбоя обновления. При таких обстоятельствах проверка определяет, что обновление не применяется.
Если в консоли доступно более недавнее обновление, попробуйте установить его. Более недавнее обновление (с более высоким номером версии) может обойти проблему.
Если вы подозреваете, что проблема возникает на этапе проверки применимости, используйте следующую блок-схему, чтобы изучить, какие компоненты могут быть вовлечены и какие процессы влияют на проблему.
Кроме того, вам также нужна информация из базы данных SQL верхнего уровня. Используйте следующий запрос:
SELECT PackageGuid,State FROM CM_UpdatePackages where PackageGUID = '<Package GUID>'
Сведения о соответствующих записях журнала см. в файле HMAN.log.
Проверка функций базы данных сайта
В рамках этапа проверки применимости убедитесь, что функции базы данных сайта работают правильно. Функции базы данных сайта должны возвращать правильную версию сайта. Чтобы проверить выходные данные скалярной функции, выполните следующий SQL-запрос:
SELECT dbo.fnCurrentSiteVersion()
Сопоставляйте возвращаемые сведения о версии с другими источниками, такими как версия двоичного файла SMSExec.exe. В следующей таблице перечислены несколько источников этих значений.
Примечание.
Значения могут включать как обычные номера сборки (выраженные как nnnn), так и незначительные номера сборки (выражены как мм). Только обычные номера сборки (nnnn) важны для устранения этой проблемы.
| Местоположение | Функция/значение | Ожидаемое значение |
|---|---|---|
| База данных SQL | fnCurrentSiteVersion | 5.00.nnnn.1000 |
| База данных SQL | fnSetupFullVersion | 5.00.nnnn.10мм |
| База данных SQL | fnCurrentSiteVersion_INT/fnCurrentSiteVersion_INT_TABLE | 500nnnn |
| Registry | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Setup\Полная версия | 5.00.nnnn.1000 |
| База данных SQL | Sites.Version | 5.00.nnnn.1000 |
| SMSExec.exe | Версия продукта | 5.00.nnnn.10мм |
Если вы заметили несоответствие, отправьте запрос в службу поддержки Майкрософт.
Изучение этапа загрузки
Как описано ранее, каждый пакет обновления имеет уникальный GUID (также известный как GUID обновления или GUID пакета). **
Чтобы определить GUID интересующего вас пакета обновления, его можно найти в файле Manifest.xml (из распаковки файла ConfigMgr.Update.Manifest.cab) или добавить столбец GUID пакета в узел консоли Администрирование>Обзор>Обновления и обслуживание. Используйте GUID пакета, чтобы выполнить все последующие действия по обработке пакетов обновления.
Выберите здесь, чтобы просмотреть шаги скачивания.
Шаг 1. DMPDownloader скачивает обновление и все вспомогательные файлы
По умолчанию DMPDownloader автоматически запускает загрузку последнего применимого пакета обновления. Кроме того, администратор может вручную скачать любой другой применимый пакет обновления, выбрав его в консоли и выбрав команду "Скачать".
В любом случае после запуска процесса поставщик SMS вызывает хранимую процедуру spAddPackageToDownload . Хранимая процедура добавляет GUID пакета в таблицу CM_UpdatePackagesToDownload в базе данных SQL.
DMPDownloader запускает хранимую spCMUCheckAvailableUpdates процедуру, чтобы получить список идентификаторов GUID пакета. Если в списке содержится по крайней мере один GUID пакета, DMPDownloader записывает строки журнала, которые выглядят следующим образом:
Get new Easy Setup Package IDs~~
Found a new available update~~
DMPDownloader использует сообщения о состоянии высокого приоритета для отчета о ходе выполнения на сервере сайта. Записи журналов DMPDownloader, похожие на следующий пример:
Generating state message: 6 for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUaxxtrjtn.SMX~~
Successfully Dropped the state message 6~~
Примечание.
В этом примере 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e приведен пример GUID пакета.
Затем DMPDownloader получает URL-адрес полезной нагрузки из манифеста и скачивает фактическое обновление. Записи DMPDownloader, которые похожи на следующий пример, и изменяет сообщение о состоянии с 6 (FOUND_NEW_PACKAGE) на 10 (PAYLOAD_DOWNLOADED).
EasySetupMaintenance - Redownload packages if needed~~
EasySetupMaintenance - Redownload package: 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
EasySetupDownloadSinglePackage downloading 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e. ~~
Generating state message: 8 for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUiekp0rdo.SMX~~
Successfully Dropped the state message 8~~
Checking IsPayloadLocal with HashAlgorithm = SHA256 ...~~
expected hash = 6C3C912C1C79E3958A0D8EE7F306470A87058E5DC6936F3438BF812D367F976F~~
actual hash = ~~
PayloadExist = -1~~
Content for 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e does not exist locally. Download it from internet~~
Write the package meta data to connector's outbox~~
The CMU file name is E:\ConfigMgr\inboxes\hman.box\ForwardingMsg\___CMU3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e.MCM~~
outerxml is <ConfigurationManagerUpdateContent Guid="3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e" State="262145" ReportTime="2024-12-17T14:49:55" />~~
Successfully write the update meta into outbox for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
The payload to be processed is at E:\ConfigMgr\EasySetupPayload\3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e.cab~~
Generating state message: 9 for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUidgtakwg.SMX~~
Successfully Dropped the state message 9~~
Download content for payload 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Download large file with BITs~~
Redirected to URL https://configmgrbits.azureedge.net/release/2409SR1_9132.1011/3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E/3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E.cab~~
Generating state message: 10 for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUqdahi22d.SMX~~
Successfully Dropped the state message 10~~
Write the package meta data to connector's outbox~~
The CMU file name is E:\ConfigMgr\inboxes\hman.box\ForwardingMsg\___CMU3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e.MCM~~
outerxml is <ConfigurationManagerUpdateContent Guid="3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e" State="262145" ReportTime="2024-12-17T14:53:25" />~~
Successfully write the update meta into outbox for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
DMPDownloader загружает обновление в \EasySetupPayload\<Update GUID>.cab на SCP, где <GUID> обновления представляет GUID обновления. Затем он извлекает содержимое файла в папку с тем же именем. Записи журналов DMPDownloader, похожие на следующий пример:
Verify the payload signature, hash value and extract the payload~~
File 'E:\ConfigMgr\EasySetupPayload\3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e.cab' is signed and trusted.
File 'E:\ConfigMgr\EasySetupPayload\3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e.cab' is signed with MS root cert.
File splash.hta is being extracted~~
...
File E:\ConfigMgr\EasySetupPayload\3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e.cab has been extracted with 0~~
Generating state message: 25 for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUrcscp1g0.SMX~~
Successfully Dropped the state message 25~~
Затем DMPDownloader проверяет, содержит ли обновление свежие редисты. Записи журналов DMPDownloader, похожие на следующий пример:
Check if there is redist to download for update, 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Download redist for update 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Successfully download redist for 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e.~~
Generating state message: 11 for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUga4ldcw3.SMX~~
Successfully Dropped the state message 11~~
Write the package meta data to connector's outbox~~
The CMU file name is E:\ConfigMgr\inboxes\hman.box\ForwardingMsg\___CMU3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e.MCM~~
outerxml is <ConfigurationManagerUpdateContent Guid="3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e" State="262146" ReportTime="2024-12-17T15:09:52" />~~
Successfully write the update meta into outbox for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Generating state message: 12 for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUdbkthmu2.SMX~~
Successfully Dropped the state message 12~~
Generating state message: 13 for package 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e~~
Write the state message in E:\ConfigMgr\inboxes\auth\statesys.box\incoming\high\___CMUcneiawu1.SMX~~
Successfully Dropped the state message 13~~
EasySetupDownloadSinglePackage finishes downloading 3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e. ~~
Чтобы скачать redists, DMPDownloader считывает тот же Manifest.xml файл, который использовался для обнаружения обновления. Манифест содержит URL-адреса redist и языковых пакетов, как показано в следующем примере:
<Manifest>
<Update>2409</Update>
<MinCMVersion>5.00.9106.1000</MinCMVersion>
<MaxCMVersion>5.00.9132.1009</MaxCMVersion>
<MoreInfoLink>https://go.microsoft.com/fwlink/?LinkID=2298746</MoreInfoLink>
...
<Content ContentUrl="https://go.microsoft.com/fwlink/?LinkID=2298748">
<Hash Algorithm="SHA256">2F1168BD3BF4982CCB2FDF5C869B7E43DD5C2CCEA27CDCA0056C18EAAFF48E2D</Hash>
<Redist ManifestUrl="https://go.microsoft.com/fwlink/?LinkID=2298749"/>
<LanguagePack ManifestUrl="https://go.microsoft.com/fwlink/?LinkId=2298744"/>
</Content>
Затем DMPDownloader запускает SetupDL.exe, обычный процесс загрузки redistributable в Configuration Manager. SetupDL.exe загружает пакеты Redistributable и манифесты языков и записывает эти сведения в ConfigMgrSetup.log. Записи похожи на следующий пример:
INFO: Attempting to load resource DLL...
INFO: Setup downloader setupdl.exe: STARTED
INFO: Downloading files to E:\ConfigMgr\EasySetupPayload\3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e\redist
INFO: Downloading component manifest...
INFO: Downloading https://go.microsoft.com/fwlink/?LinkId=2298744 as ConfigMgr.LN.Manifest.cab
INFO: Downloading https://go.microsoft.com/fwlink/?LinkID=2298749 as ConfigMgr.Manifest.cab
INFO: Extracted file C:\Windows\TEMP\ConfigMgr.LN.Manifest.xml
XML манифеста содержит список распространяемых компонентов для загрузки, ссылки для загрузки и ожидаемые хеши. SetupDL.exe загружает файлы, проверяет хэши, а затем распаковывает файлы в папку \EasySetupPayload\<Update GUID>\redist. SetupDL.exe создает записи в журнале, которые похожи на следующий пример:
INFO: Verify directory E:\ConfigMgr\EasySetupPayload\3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e\redist\LanguagePack\MobileDevice\SMSSETUP\BIN\X64\
INFO: Setup downloader setupdl.exe: FINISHED
Шаг 2. Завершение загрузки
После завершения шага 1 общая папка \EasySetupPayload содержит папку \<Update GUID> . Новая папка содержит интегрированную папку \Redists.
В зависимости от конфигурации SCP DMPDownloader помещает файл, который называется файлом CMU в одном из следующих расположений:
- Если SCP удален с сервера сайта, DMPDownloader помещает файл в MP\OUTBOXES\MCM.box. После этого MPFDM перемещает файл в папку входящие сообщения\hman.box\ForwardingMsg для сервера сайта.
- Если SCP расположен вместе с сервером сайта, DMPDownloader сохраняет файл непосредственно в папке inboxes\hman.box\ForwardingMsg.
Файл имеет расширение MCM и содержит сведения, которые помечают состояние пакета обновления как State="262146" (также называется "DOWNLOAD_SUCCESS". Соответствующие записи журнала похожи на следующий пример:
The CMU file name is E:\ConfigMgr\inboxes\hman.box\ForwardingMsg\___CMU3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e.MCM~~
outerxml is <ConfigurationManagerUpdateContent Guid="3b7d84fa-eccc-4ea0-b8ab-abbda1e88e0e" State="262146" ReportTime="2024-12-17T15:10:03" />~~
Файл уведомления — это просто XML-файл, содержащий GUID пакета обновления и его состояние.
State="262146" означает, что пакет обновления был скачан.
HMAN преобразует файл обратно в формат CMU, а затем перемещает его в HMAN.box\CFD. Этот процесс напоминает процесс, применяемый к CAB-файлу манифеста на этапе синхронизации. Поток CMUHandler в HMAN записывает запись в HMAN.log, которая похожа на следующий пример:
Validate CMU file C:\Program Files\Microsoft Configuration Manager\inboxes\hman.box\CFD\e8e74b72-504a-4202-9167-8749c223d2a5.CMU with no intune subscription.
Поток CMUHandler обрабатывает файл и использует хранимую процедуру spCMUSetUpdatePackageState для обновления информации о состоянии в таблице CM_UpdatePackages до значения "262146" (DOWNLOAD_SUCCESS). Если HMAN настроен для записи данных на подробном уровне ведения журнала, он записывает записи, похожие на следующий пример:
INFO: File without BOM : (E:\ConfigMgr\inboxes\hman.box\CFD\e8e74b72-504a-4202-9167-8749c223d2a5.CMU)
There is no additional error details E:\ConfigMgr\inboxes\hman.box\CFD\e8e74b72-504a-4202-9167-8749c223d2a5.CMU from file
Updated CMUpdatePackage state to 262146 (PackageGuid=e8e74b72-504a-4202-9167-8749c223d2a5)
deleted file E:\ConfigMgr\inboxes\hman.box\CFD\e8e74b72-504a-4202-9167-8749c223d2a5.CMU
Если новое значение состояния равно "262146" (DOWNLOAD_SUCCESS) или "327679" (DOWNLOAD_FAILED), GUID пакета обновления удаляется из таблицы CM_UpdatePackagesToDownload.
Результат процессов скачивания
В консоли отображается список пакетов обновления и их состояние готовности к установке. Скачанный контент пакета находится в SCP в папке EasySetupPayload.
Устранение неполадок этапа загрузки
На этапе загрузки компонент DMPDownloader загружает пакет Easy Setup и редистры. В автономном режиме SCT импортирует эти файлы, а затем DMPDownloader проверяет файлы и сообщает серверу сайта о их доступности. В результате DMPDownloader.log является основным журналом для проверки.
Используйте следующую блок-схему для изоляции проблем, которые могут возникнуть на этапе загрузки.
Как решать проблемы с загрузкой
Независимо от того, используете ли вы SCP в сети или в автономном режиме, просмотрите файл ConfigMgrSetup.log, чтобы убедиться, что SetupDL.exe скачивает редистов. Если вы обнаружили, что скачивание с определенного URL-адреса завершилось сбоем, найдите запись, похожую на следующую запись в DMPDownloader.log (в режиме интернета) или ServiceConnectionTool.log (автономный режим):
ERROR: Failed to download Admin UI content payload with exception: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Затем выполните следующие действия.
- Убедитесь, что компьютер, на котором размещен SCP, соответствует всем требованиям к интернету и требованиям TLS 1.2.
- Если конфигурация системы сайта использует прокси-сервер для подключений, проверьте конфигурацию прокси-сервера.
- Чтобы убедиться, что файл успешно скачан, скопируйте затронутый URL-адрес и вставьте его в браузер. Убедитесь, что он имеет допустимую цифровую подпись.
- Используйте средство трассировки сети для сбора сетевых трассировок операции скачивания, а затем просмотрите результаты.
Дополнительные сведения об устранении неполадок, влияющих на конкретные загрузки, см. в статье Об ошибке при скачивании ConfigMgr.AdminUIContent.cab с помощью SMS_DMP_DOWNLOADER или ServiceConnectionTool.exe.
Как приблизиться к проблемам извлечения
Существуют редкие случаи, когда DMPDownloader не распаковывает входящие файлы, даже если само содержимое хорошо. Сканирование антивредоносных программ может вызвать эту проблему. Убедитесь, что исключения защиты от вредоносных программ Configuration Manager настроены правильно.
Когда следует перезапустить процессы синхронизации и загрузки обновлений
Если вы подозреваете, что скачивание завершено, но содержимое было изменено, удалите затронутую обновление и повторите операцию. Чтобы выполнить этот шаг, используйте средство сброса обновлений , чтобы очистить сведения о пакете обновления из базы данных и удалить все скачаемое содержимое. Это средство перезапускает весь процесс с этапа синхронизации.
Изучите ход выполнения на этапах репликации, проверки готовности и установки.
После скачивания пакета обновления консоль автоматически выводит его как готово к установке. Следующий этап обновления — проверка готовности или установка. В обоих случаях полезные данные пакета обновления реплицируются во все библиотеки содержимого основного сайта. После репликации пакета Configuration Manager извлекает содержимое, чтобы установить обновление.
Чтобы начать устранение неполадок на этом этапе в процессе обновления и обслуживания, используйте консоль. Перейдите в раздел Мониторинг>Обзор>Обслуживание сайта>Пакеты обновлений. Если текущее состояние обновлений не отображается, выберите "Показать состояние". Консоль отображает ход выполнения каждого обновления на следующих этапах:
- Replication
- Проверка предварительных условий
- Installation
- После установки
Используйте следующую блок-схему, чтобы сузить этап, в котором возникает проблема.
Изучение этапа репликации
После скачивания пакет обновления должен распространиться по топологии сайта, прежде чем может быть установлен. Configuration Manager повторно использует концепцию пакета для этого процесса, создавая и сохраняя скрытый пакет простой установки. Пакет простой установки реплицируется только на серверы первичного сайта.
После репликации пакета простой установки Configuration Manager извлекает обновление из библиотеки содержимого сервера сайта в папку CMUStaging, которая будет использоваться во время установки.
Ниже описан поток обновления в консоли, в котором обновление реплицируется на другие сайты.
Выберите здесь, чтобы просмотреть шаги репликации.
Шаг 1. Запуск процесса репликации и определение обновления
На сайте верхнего уровня выполните одно из следующих действий:
- Установите обновление (нажмите кнопку "Установить").
- Запустите проверку предпосылок.
Изменение состояния пакета обновления запускает CM_UpdatePackages_UPD_HMAN триггер. Компонент SMSDBMON удаляет файл с именем 2.esc в папке HMAN.box\CFD. Это действие проснет HMAN, и HMAN начинает обработку обновления. HMAN использует общую папку \\<ServerName>\EasySetupPayload\<Update GUID> в качестве источника для создания или обновления пакета. Если включен параметр подробного ведения журнала, SMSDBMON создает записи в SMSDBMon.log, которые выглядят следующим образом:
RCV: UPDATE on CM_UpdatePackages for CM_UpdatePackages_UPD_HMAN [2 ]
Modified trigger definition for Hierarchy Manager[CM_UpdatePackages_UPD_HMAN]: table CM_UpdatePackages(State) on update, file ESC in dir C:\Program Files\Microsoft Configuration Manager\inboxes\hman.box\CFD\
SND: Dropped C:\Program Files\Microsoft Configuration Manager\inboxes\hman.box\CFD\2.ESC
При обнаружении файла 2.esc HMAN выполняет следующий запрос, чтобы проверить, какой пакет обновления выбран для установки:
SELECT TOP 1 convert(NVARCHAR(40), PackageGuid) FROM CM_UpdatePackages WHERE State=2
Записи журналов HMAN, похожие на следующий пример:
INFO: 2.ESC file was found. Easy setup package needs to be updated.
Get Update Pack E8E74B72-504A-4202-9167-8749C223D2A5, \\<SCP.FQDN>\EasySetupPayLoad\E8E74B72-504A-4202-9167-8749C223D2A5
Если пакет был ранее реплицирован, HMAN регистрирует запись, похожую на следующий пример:
Easy setup source folder hash is not changed. Skip updating.
В противном случае HMAN регистрирует записи, похожие на приведенный ниже пример:
INFO: Successfully requested package CAS10001 to be updated from its source.
Info: Updated package CAS10001 and SMS_DISTRIBUTION_MANAGER will replicate the content to all the site servers except the secondary sites. The content will be stored in the content library on the site servers. Check distmgr.log for replication status.
Successfully reported ConfigMgr update status (SiteCode=CAS, SubStageID=0xb0001, IsComplete=2, Progress=100, Applicable=1)
Шаг 2. HMAN обновляет пакет простой установки
HMAN добавляет GUID пакета обновления в таблицу EasySetupSettings.
Записи журналов HMAN, похожие на следующий пример:
Updating easy setup settings with EXEC sp_UpdateEasySetupSettings N'CAS10001','2',N'561BE7B704CA99A8DB6697886E75BD7C4812324D0A637708E863EC9DF97EFB94'
Если вы хотите найти значение PackageID пакета простой установки, выполните следующий SQL-запрос (вы также можете использовать TSS для этой цели):
Select * from vEasySetupPackage
Чтобы загружать HMAN и не позволять ему обрабатывать другие файлы, SMSDBMon помещает <файл PackageGUID.cme> в папку HMAN.box\CFD. Если включен параметр подробного ведения журнала, SMSDBMON записывает записи, которые похожи на следующий пример:
SND: Dropped C:\Program Files\Microsoft Configuration Manager\inboxes\hman.box\CFD\10AA8BA0-04D4-4FE3-BC21-F1874BC8C88C.CME
Шаг 3. DistMgr распределяет содержимое
Этот шаг по сути совпадает с любым процессом репликации контента между сайтами. Однако пакет простой установки не реплицируется на вторичные сайты или точки распространения.
Диспетчер распространения (DistMgr) использует \\<SCP.FQDN>\EasySetupPayLoad\<Update GUID> для создания снимка Easy Setup Package и отправки его в библиотеку содержимого сайта верхнего уровня.
DistMgr регистрирует записи в DistMgr.log, которые похожи на следующий пример:
Found package properties updated notification for package 'CAS10001'
Info: package 'CAS10001' is set to replicate to site servers only.
Taking package snapshot for package CAS10001 from source \\<SCP.FQDN>\EasySetupPayLoad\E8E74B72-504A-4202-9167-8749C223D2A5
Чтобы проверить состояние этого процесса, можно отфильтровать DistMgr.log для идентификатора потока. Чтобы получить идентификатор потока, проверьте значение Очереди обработки пакетов в подразделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\COMPONENTS\SMS_DISTRIBUTION_MANAGER.
DistMgr также создает мини-задание, которое реплицирует содержимое на дочерние первичные сайты (если они существуют). Он регистрирует записи, похожие на следующий пример:
Setting CMiniJob transfer root to C:\SMSPKG\CAS10001.PCK.1
Created minijob to send compressed copy of package CAS10001 to site XXX. Transfer root = C:\SMSPKG\CAS10001 .PCK.1
Компонент Планировщика планирует задание репликации файлов для передачи содержимого на любой дочерний первичный сайт. Планировщик регистрирует записи в Scheduler.log, которые похожи на следующий пример:
1 jobs found in memory, 10 jobs found in job source.
~Instruction file = C:\Program Files\Microsoft Configuration Manager\inboxes\schedule.box\tosend\00000391.Idb
<Updating JOB 00000391> [Software Distribution for Configuration Manager Easy Setup Package, Package ID = CAS10001]~
<JOB STATUS - COMPLETE>~
Компонент отправителя управляет фактической передачей содержимого. Он записывает записи в Sender.log, похожие на следующий пример:
~Package file = C:\SMSPKG\CAS10001.DLT.5.6
~Instruction file = C:\Program Files\Microsoft Configuration Manager\inboxes\schedule.box\tosend\00000391.Idb
~Sending Started [C:\SMSPKG\CAS10001.DLT.5.6]
~Finished sending SWD package CAS10001 version 6 to site PRI
~Sending completed successfully
Процесс репликации продолжается на основном сайте. После того как Sender передает пакет «Простая установка», компонент Despooler дочернего первичного сайта распакует содержимое пакета в библиотеку содержимого принимающего сайта. Записи Despooler в Despool.log, которые напоминают следующий пример:
Received package CAS10001 version 1. Compressed file - C:\SMSPKG\CAS10001.PCK.1 as C:\Program Files\Microsoft Configuration Manager\inboxes\despoolr.box\receive\ds_r7or9.pkg
Content Library: C:\SCCMContentLib
Extracting from C:\SMSPKG\CAS10001.PCK.temp
Extracting package CAS10001
Extracting content CAS10001.1
Writing package definition for CAS10001
Package CAS10001 (version 0) exists in the distribution source, save the newer version (version 1).
Stored Package CAS10001. Stored Package Version = 1
Каждый компонент распространения содержимого обновляет ObjectDistributionState таблицу по мере обработки пакета. Триггер этой таблицы ObjectDistributionState_ins_updMon сохраняет этапы репликации в таблицу CM_UpdatePackage_MonitoringStatus . Если вы хотите просмотреть дополнительные сведения о этапах репликации и установки, выполните следующий SQL-запрос:
select ServerData.SiteCode, cmums.* from CM_UpdatePackage_MonitoringStatus cmums
Left join serverdata on cmums.SiteNumber=ServerData.ID
where PackageGUID='<Package GUID>'
Шаг 4. Завершение репликации пакета
После завершения репликации DistMgr помечает процесс как успешный и записывает записи журналов, похожие на следующий пример:
Found package properties updated notification for package 'CAS10001'
Adding package 'CAS10001' to package processing queue.
Started package processing thread for package 'CAS10001',
Start updating the package CAS10001...
Successfully created/updated the package CAS10001
На дочерних первичных сайтах HMAN создает файл с именем <Update GUID.cmi> для службы обновления Configuration Manager (CMUpdate.exe). HMAN регистрирует запись, похожую на следующий пример:
Created notification file (E8E74B72-504A-4202-9167-8749c223d2a5.CMI) for CONFIGURATION_MANAGER_UPDATE
CMUpdate перемещает пакет обновления на этап проверки предварительных условий.
Результат процессов репликации
Содержимое пакета обновления (также известного как пакет EasySetup) находится в библиотеке содержимого каждого дочернего первичного сайта.
Устранение неполадок этапа репликации
Чтобы резюмировать подробное описание шагов, процесс репликации начинается, когда HMAN обнаруживает новый пакет обновления и обновляет настройки таблицы EasySetupSettings SQL. DistMgr берет на себя создание моментального снимка пакета простой установки из \EasySetupPayload\ общей папки и сохраняет его в библиотеке содержимого в качестве пакета простой установки. Этот пакет следует обычному потоку репликации контента между сайтами и реплицируется на дочерние первичные сайты таким же образом, как и любой другой классический пакет. Лучше всего начать устранение неполадок на этом этапе путем фильтрации CM_UpdatePackages таблицы для определенного GUID пакета обновления.
Используйте следующую блок-схему для узких проблем, которые могут возникнуть на этапе репликации. Эта блок-схема применяется, если этап установки или этап проверки готовности активировал этап репликации.
В многоуровневой иерархии дочерние первичные сайты реплицируют пакет простой установки с родительского сайта. Поток точно такой же, как и для любого другого классического пакета. Дополнительные сведения см. в разделе Блок-схема — обновление репликации для Configuration Manager.
Устранение неполадок: состояние пакета обновления остается "State=2 (Включено)"
Состояние пакета может не измениться с State=2 (Enabled). Обычно это условие означает, что HMAN не может завершить задачу. Чтобы устранить эту проблему, проанализируйте HMAN.log:
Найдите записи, которые упоминают об обработке файла 2.esc.
Отфильтруйте журнал по соответствующему потоку.
Кроме того, найдите последнее
SubstageIDзначение, записанное в журнале. Данные, связанные с этим значением, должны содержатьIsComplete=2 (Success)либоIsComplete=4 (Failure). Эти сведения должны выглядеть примерно так:Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xb0001, IsComplete=2, Progress=100, Applicable=1)Если файл HMAN.log был архивирован (при этом старые записи удаляются), попробуйте вручную повторно создать пустой файл 2.esc в папке HMAN.box\CFD. Эта операция должна снова активировать тот же процесс.
Примечание.
Даже если SCP является локальным для сервера сайта, HMAN должен использовать путь к общей папке (например, \\<SCP FQDN>\EasySetupPayLoad\<PackageGUID>), чтобы вычислить хэш пакета простой установки и обновить таблицу
EasySetupSettings. Если HMAN не удается получить доступ к общей папке, он регистрирует сообщение об ошибке, похожее на следующий пример:Get update package 05F7ED65-3CB0-46CF-91E7-71193DAF9845, \\<SCP FQDN>\EasySetupPayLoad\05F7ED65-3CB0-46CF-91E7-71193DAF9845 Failed to calculate hashУбедитесь, что учетная запись компьютера, которую использует сервер сайта, может получить доступ к этой общей папке.
Устранение неполадок: состояние пакета обновления изменилось с "Состояние=2 (Включено)"
Если состояние пакета не State=2 (Enabled), проверьте представление SQL vEasySetupPackage для информации о Easy Setup Package. Данные, отображаемые в этом представлении, должны выглядеть следующим образом.
| PackageID | PackageVersion | PackageHash | PackageGUID | StoredPkgHash | Исходный материал | SourceSite | LastRefresh | StoredPkgVersion | StorePkgFlag | SourceDate | SourceVersion | SourceSize |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CS10001F | 1 | E53E... 1F25 | C00DC5CD-0955-418F-9F32-F54016659FFF | E53E... 1F25 | \\SCP.FQDN.COM\EasySetupPayLoad\C00DC5CD-0955-418F-9F32-F54016659FFF | CS1 | 2025-09-02 13:05:10.000 | 1 | 2 | 2025-09-02 13:04:42.000 | 1 | 150676 |
Проверьте значения исходной, версии пакета и PackageID . Чтобы продолжать отслеживание пакета простой установки, проверьте DistMgr.log и другие журналы репликации содержимого на наличие упоминаний значения PackageID.
Устранение неполадок: пакеты не распределены
Остальная часть устранения неполадок аналогична обычному реплицированному пакету. Дополнительные сведения см. в разделе "Распространение пакета в DP по сайтам". Если поток завершился сбоем или журналы переполнились, используйте метод Windows Management Instrumentation (WMI) RetryContentReplication, чтобы принудительно обновить информацию о пакете Easy Setup. Этот метод связан с поставщиком SMS сайта верхнего уровня, и его можно вызвать, выполнив следующую команду в командной строке PowerShell:
(gwmi -Namespace "ROOT\SMS\site_<SITE CODE>" -query "select * from SMS_CM_UpdatePackages where PackageGuid = '<PACKAGE GUID>'").RetryContentReplication($true)
Выходные данные должны выглядеть примерно так:
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
PSComputerName :
При повторной обработке пакета простой установки можно отслеживать ход выполнения в файле DistMgr.log.
Изучите этап проверки готовности
Ниже описан процесс извлечения обновления для выполнения проверок готовности. Эти действия выполняются на сайте центра администрирования и дочерних первичных сайтах перед установкой обновления.
Дополнительные сведения о текущем наборе правил проверки готовности см. в списке проверок необходимых компонентов для Configuration Manager.
Примечание.
Перед установкой обновления выполняется только подмножество проверок предварительных требований.
Выберите здесь, чтобы просмотреть шаги проверки готовности.
Шаг 1. Активация проверки
После выбора пакета обновления и нажатия запустить проверку предварительных условий консоль вызывает метод WMI из класса WMI в пространстве имен SMS провайдера. Консоль задает параметру Flag метода значение 1 (PREREQ_ONLY).
Если Configuration Manager еще не реплицировал пакет обновления, он выполняет этот шаг.
Шаг 2. HMAN уведомляет CMUpdate о запрошенной проверке
После того как HMAN обновит пакет Easy Setup, он проверяет состояние службы CONFIGURATION_MANAGER_UPDATE, а затем создает уведомление <Update GUID>.cmi в папке входящих CMUpdate.box. Записи журналов HMAN, похожие на следующий пример:
INFO: Starting service CONFIGURATION_MANAGER_UPDATE
CONFIGURATION_MANAGER_UPDATE is already running.
Successfully checking Site server readiness for update.
There are update package in progress. Cleanup will skip this time.
Шаг 3. CMUpdate извлекает обновление
Через 10 минут или после того, как CMUpdate.box получает триггер папки "Входящие", CMUpdate.exe выполняет следующую хранимую процедуру SQL:
exec spCMUGetPendingUpdatePackage
Эта хранимая процедура собирает сведения из таблиц CM_UpdatePackages и CM_UpdatePackageSiteStatus для сайта, на котором осуществляется проверка. Как только поток CMUpdate обнаруживает пакет обновления с State = 65538 (CONTENT_REPLICATION_SUCCESS) состоянием, он извлекает содержимое пакета упрощенной установки в папку \CMUStaging\<Update GUID>.
CMUpdate ведёт записи в журнале CMUpdate.log, которые похожи на следующий пример. Примеры записей включают ссылку на SubStageID=0xd0005. Это значение отслеживает состояние процесса извлечения (проверка начинается после завершения извлечения).
Detected a change to the "E:\ConfigMgr\inboxes\cmupdate.box" directory.
INFO: setup type: 8, top level: 1.
Content replication succeeded. Start extracting the package to run prereq check...
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd0005, IsComplete=1, Progress=1, Applicable=1)
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd0005, IsComplete=1, Progress=25, Applicable=1)
Checking if the CMU Staging folder already has the content extracted.
Creating hash for algorithm 32780
Staging folder has hash = C2CF43A73903C6E987E1BE5872C292AAE8AC2C5D15F6D145492BECE84D7D47C0
Staging folder (\\?\E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF) has hash C2CF43A73903C6E987E1BE5872C292AAE8AC2C5D15F6D145492BECE84D7D47C0 which does not match hash from content library 8055DAEFDDE5FFCE763FA6F1B0DEA2C7115347FF1FFF848A8192AB769DF22FA3
Delete folder \\?\E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF\ returned 0. Extractring the content from content library...
update package content 8576527E-DDE9-4146-8ED9-DB91091C38EF has been expanded to foler \\?\E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF\
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd0005, IsComplete=1, Progress=50, Applicable=1)
File '\\?\E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF\SMSSetup\update.map.cab' is signed and trusted.
File '\\?\E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF\SMSSetup\update.map.cab' is signed with MS root cert.
Extracting file \\?\E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF\SMSSetup\update.map.cab to \\?\E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF\SMSSetup\~
Extracted \\?\E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF\SMSSetup\update.map~
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd0005, IsComplete=1, Progress=75, Applicable=1)
Successfully read file \\?\E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF\SMSSetup\update.map
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd0005, IsComplete=2, Progress=100, Applicable=1)
Тот же процесс происходит на других основных сайтах.
Кроме того, CMUpdate проверяет подпись и извлекает файл Update.map.cab. Этот файл содержит файл update.map. Этот файл определяет хэши и расположения для файлов, затронутых обновлением.
Шаг 4. CMUpdate запускает проверку
После извлечения содержимого CMUpdate.exe запускает проверку готовности:
~FQDN for server <Site Server> is <Site Server FQDN>
INFO: Target computer is a 64 bit operating system.
INFO: Checking for existing setup information.
INFO: Setting setup type to 8.
INFO: Checking for existing SQL information.
INFO: '<Site Database Server>' is a valid FQDN.
INFO: Verifying the registry entry for Asset Intelligence installation
INFO: Setup detected an existing Configuration Manager installation. Currently installed version is 9132~
INFO: Phase is 1C7~
INFO: SDK Provider is on <SMS Provider>.
Set working directory to the staging folder E:\ConfigMgr\CMUStaging\8576527E-DDE9-4146-8ED9-DB91091C38EF\SMSSetup
INFO: Setting the default CSV folder path
INFO: Language: Mobile Device (INTL), LangPack: 0.
INFO: Configuration Manager Build Number = 9135
INFO: Configuration Manager Version = 5.0
INFO: Configuration Manager Minimum Build Number = 800
Preparing prereq check for site server [<Site Server FQDN>]...~
Во время этого процесса CMUpdate незаметно задает значение Update State в таблице CM_UpdatePackages на 131073 (PREREQ_IN_PROGRESS).
Затем CMUpdate ищет файл Update.map в папке \CMUStaging\<PackageGUID>\SMSSetup. В файле CMUpdate ищет раздел CONFIGURATION_MANAGER_UPDATE для хэшей файлов, которые ему нужны. Этот раздел файла похож на следующий пример:
BEGIN_COMPONENT_FILELIST
<CONFIGURATION_MANAGER_UPDATE>
<268436008>
BEGIN_DIRECTORY
<bin\x64>
<5><AMD64><>
FILEEX <cmupdate.exe><1><26699848><SHA256><6953438BE14562E2E2A2860195BC7308FE3647ABF803F98269F8976A145063AC>
FILEEX <setupcore.dll><0><28034624><SHA256><A335EE6EDF6593AF9F1498B1F6297C0B9E49E58BF3C472929AFEA38F09F51C85>
FILEEX <prereqcore.dll><0><4464648><SHA256><48899098998C712DDF097638B281D5620D8C511FB9B51E2391119281E0ECA43E>
FILEEX <DcmDigest.xsd><0><73022><SHA256><91E264E70863EC00DAFDE0B2EAC36B7CBA9BC73A4C3CA2520BE9337C4FFB88B7>
FILEEX <appmgmtdigest.xsd><0><25916><SHA256><F0F2A3880D57E930EAF4A13285F3EDC56EF7032AFF656B2C31833099D15426C7>
FILEEX <Rules.xsd><0><27433><SHA256><1665E3AF74BFF8BCD5DFD3E71BE869475A53BC60A712BF009D828AEF8C176C3D>
FILEEX <SecuredRoles.xsd><0><1588><SHA256><3F400C0DC1590CF2A2332741D1D801CC242A6A46FDD6B7CD9A439D16059568EA>
FILEEX <SoftwareCenterCustomization.xsd><0><4658><SHA256><4B6AD4CDCAF88204961ACC8D563021F9C962A74BBDB270DCF2ED6095D10362C6>
END_DIRECTORY
BEGIN_DIRECTORY
<AI>
<517><AMD64><>
FILEEX <LUTables.enc><0><212980419><SHA256><9D43DE730D74B335F77AB2264EE450B233698E94407C6491D136761EEBCFEDE7>
END_DIRECTORY
UNIT <SMS>
END_COMPONENT_FILELIST
Файл определенного интереса — Prereqcore.dll. Этот файл содержит фактическую логику проверки предварительных условий. CMUpdate вычисляет хэш файла, который находится в папке \CMUStaging\<PackageGUID>\SMSSetup\BIN\X64, и сравнивает его с хэшем в файле Update.map. Если хэши совпадают, проверка продолжается. CMUpdate регистрирует запись, похожую на следующий пример:
prereqcore has hash value SHA256:48899098998C712DDF097638B281D5620D8C511FB9B51E2391119281E0ECA43E
Затем CMUpdate загружает prereqcore.dll и вызывает точку входа RunPrereqChecks. Соответствующая запись журнала похожа на следующий пример:
Running prereq checking against Server [<Site Server>] ...~
Примечание.
Исправления обычно не имеют определенного раздела в файле Update.map. В таких случаях CMUpdate использует файл Prereqcore.dll, связанный с установленной версией Configuration Manager, а запись журнала напоминает следующий пример:
update.map has no update for CONFIGURATION_MANAGER_UPDATE
Шаг 5 процесса: запускается компонент проверки предварительных условий
Средство проверки готовности запускается в том же потоке, что и CMUpdate (обратите внимание на командную строку). Однако средство проверки готовности имеет собственный файл журнала (C:\ConfigMgrPrereq.log). Средство проверки готовности передаёт список соответствующих ролей сайта процессу выполнения заданий и создаёт записи в журнале, похожие на следующий пример:
********************************************
******* Start Prerequisite checking. *******
********************************************
INFO: PrereqCoreRes.dll source path is set to E:\CONFIGMGR\CMUSTAGING\8576527E-DDE9-4146-8ED9-DB91091C38EF\SMSSETUP\BIN\X64
Commandline :~"E:\ConfigMgr\bin\x64\cmupdate.exe"
INFO: Checking SQLNCli version on ServerName <Site Server>
INFO: SQLNCli version is 11.4.7001.0
...
INFO: SDK Provider is on <SMS Provider>.
Check Type: Configuration Manager Update
Check Type: Easy Update ~ Site Server: <Site Server>,~ SQL Server: <Site Database Server>
...
Шаг 6. Проверка предварительных условий выполняет проверки
После загрузки средства проверки готовности он создает другой поток для прохождения фактического контрольного списка. Поток сортирует правила проверки по категориям и запускает их для каждой из целевых ролей.
Для сервера сайта в журналах проверяющего компонента записываются записи, аналогичные следующему примеру:
INFO: Prerequisite rules for CAS site update are being run.
INFO: Executing prerequisite functions...
===== INFO: Prerequisite Type & Server: SITE_PRI:<Site Server> =====
<<<RuleCategory: Access Permissions>>>
<<<CategoryDesc: Checking access permissions...>>>
...
<<<RuleCategory: Dependent Components>>>
<<<CategoryDesc: Checking dependent components for ConfigMgr...>>>
...
<<<RuleCategory: Site Upgrade Requirements>>>
<<<CategoryDesc: Checking if the target ConfigMgr site is ready to upgrade...>>>
...
Для сервера базы данных сайта средство проверки готовности регистрирует записи, которые похожи на приведенный ниже пример. Обратите внимание, что поток создает начальную загрузку.
===== INFO: Prerequisite Type & Server: SQL:<Site Database Server> =====
<<<RuleCategory: Access Permissions>>>
<<<CategoryDesc: Checking access permissions...>>>
...
<<<RuleCategory: System Requirements>>>
<<<CategoryDesc: Checking system requirements for ConfigMgr...>>>
...
...
<<<RuleCategory: Dependent Components>>>
<<<CategoryDesc: Checking dependent components for ConfigMgr...>>>
...
<<<RuleCategory: Site Upgrade Requirements>>>
<<<CategoryDesc: Checking if the target ConfigMgr site is ready to upgrade...>>>
...
Для поставщика SMS (также известного как SDK), средства проверки предварительных условий фиксируют записи, похожие на следующий пример:
===== INFO: Prerequisite Type & Server: SDK:<SMS Provider Server> =====
<<<RuleCategory: Access Permissions>>>
<<<CategoryDesc: Checking access permissions...>>>
...
<<<RuleCategory: System Requirements>>>
<<<CategoryDesc: Checking system requirements for ConfigMgr...>>>
...
<<<RuleCategory: Dependent Components>>>
<<<CategoryDesc: Checking dependent components for ConfigMgr...>>>
...
<<<RuleCategory: Site Upgrade Requirements>>>
<<<CategoryDesc: Checking if the target ConfigMgr site is ready to upgrade...>>>
...
***************************************************
******* Prerequisite checking is completed. *******
***************************************************
Во время проверки каждое правило вызывает хранимую процедуру spCMUAddPrereqMessage SQL. Хранимая процедура обновляет CM_UpdatePackagePrereqStatus таблицу базы данных, чтобы записать результаты каждой проверки (Passed, Warning или Failed) для конкретного сайта.
Шаг 7 процесса: CMUpdate завершает проверку
CMUpdate дождется, когда поток проверки готовности вернет результаты проверок, и добавит актуальную информацию о состоянии в таблицу CM_UpdatePackagesSiteStatus (например, PREREQ_SUCCESS).
State И Flag сочетание из spCMUGetPendingUpdatePackage хранимой процедуры SQL определяют дальнейшие действия (например, остановить или продолжить, если возникают ошибки). Записи в журналах CMUpdate, похожие на следующий пример:
INFO: SQL Connection succeeded. Connection: SMS ACCESS, Type: Secure
INFO: setup type: 8, top level: 1.
Continue configuration manager update as it is configured to ignore prereq warnings.
Изменение в таблице CM_UpdatePackagesSiteStatus вызывает операцию с файлом <PackageGUID.cme> в папке HMAN.box\CFD\входящие. Соответствующая запись журнала похожа на следующий пример:
Check CMU status...
deleted notification file E:\ConfigMgr\inboxes\hman.box\CFD\8576527E-DDE9-4146-8ED9-DB91091C38EF.CME
Затем HMAN вызывает spProcessCMUPackages хранимую процедуру SQL с помощью команды, которая напоминает следующую команду:
exec spProcessCMUPackages
Эта хранимая процедура, в свою очередь, вызывает хранимую процедуру spProcessCMU SQL. Эта хранимая процедура обновляет сведения о состоянии в CM_UpdatePackages таблице.
В средах с несколькими сайтами конечный результат проверок предварительных требований является худшим для всех проверенных сайтов. Например, если сайт центра администрирования (CAS) прошел проверку, но первичный сайт не прошел и создал предупреждения, общий результат — PREREQ_WARNING.
Результат проверки предварительных условий
Консоль обозначает пакет обновления как Проверка требований пройдена, и таблица CM_UpdatePackages содержит состояние пакета обновления, используя одно из следующих значений:
PREREQ_SUCCESS 131074PREREQ_WARNING 131075PREREQ_ERROR 196607
Устранение неполадок этапа проверки предварительного условия
Если проверка готовности занимает много времени или завершается сбоем, используйте следующую блок-диаграмму, чтобы определить проблему. В многоуровневых средах диаграмма применяется ко всем основным сайтам и CAS.
Как правило, проблемы проверки готовности относятся к одной из следующих категорий:
- Проверка зависает в состоянии проверки необходимых компонентов. В большинстве случаев реальная проблема возникла на этапе репликации.
- Проверка завершается, но окончательное состояние — предварительные требования не выполнены. В этом случае проверка выполнена успешно, и на этапе репликации не возникла никаких проблем.
В случае сбоя предварительных требований просмотрите следующие ресурсы, чтобы найти реальную проблему:
- ConfigMgrPrereq.log
- Консоль в разделе "Мониторинг>обзор>обновлений и описание состояния> обслуживания" для каждого сайта
Устранение проблем с требованиями клиента SQL
В последних версиях Configuration Manager появились различные предварительные требования клиента SQL. Текущий процесс установки пакетов обновления не обновляет эти клиенты автоматически. Поэтому перед установкой обновлений рекомендуется установить актуальных SQL-клиентов.
Начиная с версии 1810 Configuration Manager требует sql Native Client версии 11.4.7001.0 или более поздней версии. Чтобы просмотреть текущее требование, проверьте значение HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQLNCLI11\InstalledVersion записи реестра.
Аналогичным образом, начиная с версии 2303 Configuration Manager требует ODBC Driver 18 для SQL Server или более поздней версии. Начиная с версии 2503 Configuration Manager требует odBC Driver 18.4.1.1 для SQL Server или более поздней версии. Чтобы просмотреть текущее требование, проверьте значение HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSODBCSQL18\InstalledVersion записи реестра.
Чтобы выполнить оба предварительных требования SQL Server, попробуйте вручную установить следующие MSI-файлы из папки \EasySetupPayload\<Update GUID>\redist:
- sqlncli.msi
- msodbcsql.msi
Примечание.
Эти файлы доступны только для основных выпусков.
Кроме того, скачайте последние двоичные файлы из следующих URL-адресов в Центре загрузки Майкрософт:
- Собственный клиент SQL Server 2012 11.0.7001.0 или пакет дополнительных компонентов SQL Server 2012 (прокрутка до собственного клиента)
- Драйвер ODBC 18 для SQL Server
Устранение неполадок с блокирующими проверками, которые часто повторяются
Следующие проблемы часто вызывают сбои при проверке готовности. Невозможно обойти эти проверки. Поэтому необходимо устранить условие блокировки. Если вы не знаете, как устранить проблему, обратитесь в службу поддержки Майкрософт.
Сервер системы сайта работает в Windows Server 2012 или 2012 R2
В консоли отображается следующее сообщение:
Поддержка жизненного цикла Windows Server 2012 и 2012 R2 для Windows Server 2012 и 2012 R2 заканчивается 9 октября 2023 г. Запланируйте обновление серверов сайта до поддерживаемой операционной системы. Дополнительные сведения см. в статье "Новые варианты поддержки SQL Server 2012 и Windows Server 2012".
Это сообщение означает, что средство проверки готовности обнаруживает сервер сайта или сервер системы сайта, работающий в Windows Server 2012 или 2012 R2. Сбой проверки и невозможно установить обновление.
Примечание.
Эта проверка не применяется к удаленным ролям вторичного сайта и временно не применяется к точкам распространения (DPS). Если проверка пререквизитов обнаружит точку распространения (DP), работающую на Windows Server 2012 или Windows Server 2012 R2, вы получите предупреждение, но проверка не завершится сбоем.
Если вы недавно выполнили апгрейд на месте до Windows Server на удаленной системе сайта, перезапустите данный компьютер или службу SMS_Executive. Перезагрузка гарантирует, что средство проверки готовности правильно обнаруживает новую версию операционной системы.
Устаревшие функции: профили доступа к ресурсам или роль точки регистрации сертификатов
Профили доступа к ресурсам и связанные с ними функции и развертывания устарели. Если средство проверки готовности обнаруживает любой из этих функций, он блокирует обновление. Он также блокирует обновление, если оно обнаруживает существующее совместно управляемое устройство с рабочей нагрузкой профиля RA, настроенной для Configuration Manager.
Чтобы пройти проверку, следуйте официальным инструкциям в нагрузках совместного управления и переместите ползунок нагрузки политик доступа к ресурсам в положение только Intune. Если совместное управление не настроено, необходимо настроить его по крайней мере временно, чтобы иметь возможность перемещать ползунок.
Эта проверка также может завершиться ошибкой, если она обнаруживает роль точки регистрации сертификатов. В консоли перейдите к разделу Администрирование>Обзор>Конфигурация сайта>Серверы и роли системы сайта, выберите систему сайта, которая размещает роль CRP, и удалите эту роль.
Устаревшие функции: шлюз управления облаком (CMG) в качестве классической облачной службы
В консоли отображается следующее сообщение:
Возможность развертывания шлюза управления облаком (CMG) в качестве облачной службы (классической) не рекомендуется. Все развертывания CMG должны использовать масштабируемый набор виртуальных машин. Дополнительные сведения см. в разделе "Процесс преобразования CMG в масштабируемый набор виртуальных машин".
Шлюз управления облаком, развернутый как классическая облачная служба, устарел. Если средство проверки готовности обнаруживает эту конфигурацию, он блокирует обновление. Проверка предварительных условий применяет следующее правило:
Проверка наличия шлюза управления облаком (CMG) в качестве облачной службы (классической)
Чтобы устранить эту проблему, следуйте официальным рекомендациям по переходу на CMGv2.
Разрешено только расширенное взаимодействие HTTP или HTTPS
В консоли отображается следующее сообщение:
HttpS или расширенный HTTP не включены для обмена данными с клиентом. Обмен данными только по протоколу HTTP не рекомендуется, а поддержка удаляется в этой версии Configuration Manager.
Чтобы продолжить обновление, включите более безопасный метод связи для сайта, включив HTTPS или Расширенный HTTP. Дополнительные сведения см. в разделе https://go.microsoft.com/fwlink/?linkid=2155007.
В настоящее время сайты Configuration Manager поддерживают только расширенный ПРОТОКОЛ HTTP или HTTPS для обмена данными. Другие варианты, поддерживаемые ранее, устарели в Configuration Manager версии 2409 и более поздних версиях.
Чтобы устранить эту проблему, переключите связь сайта на расширенный HTTP или HTTPS. Для получения официальной информации см. раздел "Включение сайта только для HTTPS" или "расширенного HTTP".
Изучение этапа установки
В отличие от большинства других этапов, этап установки может начинаться вручную. При выборе обновления в консоли и нажатии кнопки "Установить обновление " (если применимо, вы игнорируете любое предупреждение, которое отображается), фактическое обновление сайта начинается. Чтобы убедиться, что сайт готов к обновлению, Configuration Manager всегда повторно запускает проверки необходимых компонентов. Если проверки завершаются ошибкой, обновление останавливается.
Выберите здесь, чтобы просмотреть действия по установке.
Шаг 1. CMUpdate проверяет готовность сервера сайта
После прохождения предварительных проверок развертывания CMUpdate оценивает готовность сайтов и настроенных окон обслуживания. Записи в журналах CMUpdate, похожие на следующий пример:
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd0007, IsComplete=1, Progress=1, Applicable=1)
INFO: Waiting for CONFIGURATION_MANAGER_SERVICE to be ready to apply update: 3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E
CMUpdate обновляется до новой версии и записывает записи журналов, похожие на следующий пример:
CONFIGURATION_MANAGER_UPDATE service is stopping...
...
CONFIGURATION_MANAGER_UPDATE service is starting...
Microsoft Microsoft Configuration Manager v5.00 (Build 9132)
CMUpdate ищет окно службы, настроенное для сайта, и записи журналов, похожие на следующий пример:
There is no service window defined for the site server to apply the CM server updates.
Шаг 2. CMUpdate проверяет состояние обновления и содержимого распространяемого пакета.
CMUpdate проверяет, что содержимое CMUStaging нетронуто, а затем считывает файл Update.map. Он регистрирует записи, похожие на следующий пример:
Checking if the CMU Staging folder already has the content extracted.
Creating hash for algorithm 32780
Staging folder has hash = 6C3C912C1C79E3958A0D8EE7F306470A87058E5DC6936F3438BF812D367F976F
Content is already found at the staging folder
...
Successfully read file \\?\E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\SMSSetup\update.map
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd0005, IsComplete=2, Progress=100, Applicable=1)
CMUpdate обрабатывает редистов и создает список файлов в памяти для копирования. Он регистрирует записи, похожие на следующий пример:
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd0006, IsComplete=1, Progress=1, Applicable=1)
Found redist manifest E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist\ConfigMgr.Manifest.cab and set redist folder to E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist.
INFO: Extracted file C:\Windows\TEMP\ConfigMgr.Manifest.xml
INFO: Processing file group "Dot_Net_Framework"
INFO: Processing file "NDP462-KB3151800-x86-x64-AllOS-ENU.exe"
INFO: File will be downloaded from https://go.microsoft.com/fwlink/?LinkID=2171070.
INFO: File for NDP462-KB3151800-x86-x64-AllOS-ENU.exe [.NET Framework Extended 4.6.2 RTM] will be copied with file name: NDP462-KB3151800-x86-x64-AllOS-ENU.exe.
...
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd0006, IsComplete=2, Progress=100, Applicable=1)
Шаг 3. CMUpdate устанавливает обновление
На этом этапе начинается фактическое обновление. CMUpdate выполняет следующие действия:
- Распакуйте и запустите скрипты SQL предварительного обновления из папки \CMUStaging\<Update GUID>\redist\ConfigMgr.AutoUpgradeScripts.cab.
- Отключите sql Server Service Broker.
- Остановите службы Configuration Manager.
- Выгрузите поставщиков WMI.
- Удалите триггеры SMSDBMON.
- Сохраните параметры элемента управления сайтом.
- Обновите базу данных Configuration Manager.
- Обновите записи реестра SQL.
- Обновите записи реестра RCM.
- Установите файлы, языковые пакеты, компоненты и элементы управления.
- Обновите параметры элемента управления сайтом.
- Настройка компонента SQL Server Service Broker.
- Запустите WMI и установите службы.
- Обновите таблицу сайта.
- Обновите двоичные файлы консоли администрирования.
- Включите sql Server Service Broker.
Во время этого процесса CMUpdate также копирует редистрибутивы из папки \CMUStaging\<Update GUID>\redist. CMUpdate использует скопированные файлы для замены файлов-заполнителей размером 0 байт в папках \CMUStaging\<Update GUID>\SMSSetup\*.
Записи в журналах CMUpdate, похожие на следующий пример:
INFO: Checking media: E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\SMSSetup\bin\x64\NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE
INFO: Verifying hash for file 'E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\SMSSetup\bin\x64\NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE'
Expected hash:B4CBB4BC9A3983EC3BE9F80447E0D619D15256A9CE66FF414AE6E3856705E237, Actual hash:E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
WARNING: File hash mismatch for E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\SMSSetup\bin\x64\NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE
INFO: Checking alternate path: E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist\NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE
INFO: Verifying hash for file 'E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist\NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE'
INFO: Verifying signature for file 'E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist\NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE'
INFO: Found valid source in folder: 'E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist\'
INFO: Found valid source for external dependency file 'NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE' at 'E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist\'
This file E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist\NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE will be copied from redist.
e:\configmgr\bin\x64\ndp462-kb3151800-x86-x64-allos-enu.exe file version is up to date (4.6.1590.0).
same version detected, and this file is flagged to compare signing timestamp.
Per digital signature signing time E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist\NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE file version is up to date per signing timestamp.
File E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E\redist\NDP462-KB3151800-X86-X64-ALLOS-ENU.EXE has newer modification time than (e:\configmgr\bin\x64\ndp462-kb3151800-x86-x64-allos-enu.exe) but they have the same hash. It will be skipped.
Шаг 4. CmUpdate обновляет пакеты OSD
После установки файлов CMUpdate обновляет пакеты OSD и записывает записи журналов, похожие на следующий пример:
INFO: Adding default USMT package ...
INFO: USMT package path is C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\User State Migration Tool
INFO: Adding Boot Image Packages, this may take some time...
INFO: Attempting to export x86 boot image from ADK installation source
INFO: Attempting to export x64 boot image from ADK installation source
INFO: Attempting to export arm64 boot image from ADK installation source
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xd001a, IsComplete=3, Progress=100, Applicable=1)
Затем CMUpdate асинхронно ожидает завершения нескольких процессов (включая SiteComp). Он регистрирует записи, похожие на следующий пример:
~ Starting ConfigMgr Update post installation monitor thread...
Другие записи, касающиеся переустановки компонентов, можно просмотреть в файле SiteComp.log.
Шаг 5: CMUpdate обновляет CD.Latest
CMUpdate обновляет CD.Latest-файл, чтобы отразить новую версию Configuration Manager. Он регистрирует записи, похожие на следующий пример:
Creating cd backup location at E:\ConfigMgr\cd.latest
Copying contents of update package from E:\ConfigMgr\CMUStaging\3B7D84FA-ECCC-4EA0-B8AB-ABBDA1E88E0E to E:\ConfigMgr\cd.latest
...
successfully updated setup registry to have new external files stored at E:\ConfigMgr\cd.latest\redist
Наконец, CMUpdate создает файл уведомлений для HMAN с именем 196612.esc, а затем запускает задачи после установки. Он регистрирует записи, похожие на следующий пример:
INFO: Successfully dropped update pack installed notification to HMAN CFD box.
Шаг 6. Выполнение задач после установки
CMUpdate выполняет следующие задачи после установки:
- Убедитесь, что служба SMS_Executive установлена.
- Убедитесь, что установлен компонент SMSDBMon.
- Убедитесь, что установлен компонент HMAN.
- Убедитесь, что компонент RCM установлен.
- Мониторинг начала репликации.
- Обновите пакет предварительной версии клиента Configuration Manager.
- Обновите клиентную папку на сервере сайта.
HMAN выполняет следующие задачи после установки:
- Обновите пакет клиента Configuration Manager.
- Включите функции, указанные в мастере модернизации или обновления. Затем снова откройте консоль, чтобы отобразить функции.
Примечание.
- Update.map содержит список обновлений и файлов для замены и добавления. Чтобы просмотреть список файлов, откройте Update.map в Блокноте.
- Install.map содержит список шагов, которые выполняет процесс установки. Он служит рабочим процессом для CMUpdate.exe, который предоставляет шаги и параметры для выполнения по порядку.
- Для небольших обновлений см. CMUpdate.log для подробностей.
Записи журналов HMAN, похожие на следующий пример:
INFO: 196612.ESC file was found. Updating client packages. InteropMode = 0
WARN: The current update package's state (196611) is not set to installed yet. Will retry in next cycle.
...
INFO: 196612.ESC file was found. Updating client packages. InteropMode = 0
Loaded client upgrade settings from DB successfully. FullClientPackageID=CS100004, StagingClientPackageID=CS100008, ClientUpgradePackageID=CS100005, PilotingUpgradePackageID=CS100009, ClientUpgradeAdvertisementID=CS120000, ClientPilotingAdvertisementID=(null)
Client piloting is not enabled.
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xe0007, IsComplete=1, Progress=1, Applicable=1)
~Directory \\?\E:\ConfigMgr\StagingClient\i386 exists
Copying ccmsetup from 'E:\ConfigMgr\CMUClient\CcmSetup.exe' to 'E:\ConfigMgr\PilotingUpgrade\CcmSetup.exe'...
...
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xe0007, IsComplete=2, Progress=100, Applicable=1)
...
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xe0009, IsComplete=1, Progress=1, Applicable=1)
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xe0008, IsComplete=1, Progress=1, Applicable=1)
Copying client binaries from 'E:\ConfigMgr\CMUClient' to 'E:\ConfigMgr\Client'...
Copying ccmsetup from 'E:\ConfigMgr\CMUClient\ccmsetup.exe' to 'E:\ConfigMgr\ClientUpgrade\ccmsetup.exe'...
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xe0009, IsComplete=2, Progress=100, Applicable=1)
Successfully reported ConfigMgr update status (SiteCode=CS1, SubStageID=0xe0008, IsComplete=2, Progress=100, Applicable=1)
Результаты этапа установки
Консоль помечает пакет обновления как установленный. Значение состояния пакета обновления в таблице — это CM_UpdatePackages.
Примечание.
Из-за проверок применимости консоль обычно скрывает старые пакеты обновления.
Устранение неполадок на этапе установки
Чтобы просмотреть состояние этапа установки, в консоли перейдите в раздел Администрирование>Обзор>Обновления и обслуживание. Кроме того, можно использовать следующий SQL-запрос для получения состояний пакета обновления для каждого сайта:
-- Use Update GUID parameter for monitoring status query
DECLARE @UpdateGUID UNIQUEIDENTIFIER = '<PACKAGE GUID>';
select ServerData.SiteCode, cmupss.* from CM_UpdatePackageSiteStatus cmupss
Left join serverdata on cmupss.SiteNumber=ServerData.ID
where cmupss.PackageGUID = @UpdateGUID and cmupss.state<>196612
Если этап установки завис в состоянии "Установки" или завершается сбоем, перейдите к разделу "Мониторинг">"Обзор">"Обновления и состояние обслуживания", чтобы просмотреть состояние пакета обновления. Вы должны иметь возможность определить сайт, имеющий проблему.
Используйте следующую блок-диаграмму, чтобы определить проблему.
Следующие проблемы могут привести к зависанию пакета обновления на этапе установки:
- Установка действительно продвигается. Чтобы просмотреть текущий ход выполнения, см. файл CMUpdate.log.
- Содержимое обновления не завершило репликацию или не реплицировалось правильно. Дополнительные сведения см. в статье об устранении неполадок на этапе репликации, приведенном ранее в этой статье.
- Один из сайтов ожидает окна обслуживания. Убедитесь, что окно службы существует и настроено правильно.
- CMUpdate остановлен. Поэтому процесс установки не может продолжаться.
- Содержимое пакета обновления не может реплицироваться между CAS и основными сайтами из-за проблемы со службой репликации баз данных (DRS).
Сбои могут возникать на любом этапе установки. CMUpdate.log — это основной журнал, используемый для изучения проблем с установкой. Однако если сбой возникает при выполнении любого из этапов после установки, просмотрите файл SiteComp.log сведения о переустановке компонентов и файле SMSExec.log для получения сведений о запуске компонента.
Примеры проблем этапа установки
Проблема 1. Ошибка при проверке доверия файла \\?...\CMUStaging\79FB5420-BB10-44FF-81BA-7BB53D4EE22F\SMSSetup\update.map.cab"
В CMUpdate.log вы найдете запись об ошибке, похожую на следующий пример:
update package content 79FB5420-BB10-44FF-81BA-7BB53D4EE22F has been expanded to folder \\?\...\CMUStaging\79FB5420-BB10-44FF-81BA-7BB53D4EE22F\
Error in verifying the trust of file \\?\...\CMUStaging\79FB5420-BB10-44FF-81BA-7BB53D4EE22F\SMSSetup\update.map.cab.
Эта проблема возникает, так как файлы скачиваются неправильно. Чтобы устранить проблему, выполните указанные ниже действия.
- Проверьте содержимое папки EasySetupPayload: полезные данные и Redists должны иметь допустимые подписи. При необходимости переключите SCP в автономный режим.
- Запустите метод WMI RetryContentReplication. Этот метод заставляет пакет простой установки обновляться. Дождитесь завершения репликации.
- Повторите попытку установки обновления.
Проблема 2. Обновление устанавливается на ЦАС и первичных сайтах, но консоль по-прежнему отображает «Установка»
Определенная глобальная группа репликации CMUpdates реплицирует сведения о завершении установки один раз в минуту. Если процесс репликации не работает правильно, консоль продолжает отображать установку , даже если обновление успешно установлено на всех сайтах.
В консоли перейдите к Мониторинг>Обзор>Репликации базы данных. Для каждой ссылки для состояний группы репликации CMUpdates просмотрите вкладки инициализации и репликации . Если возникла проблема, см. статью Устранение неполадок со службой репликации базы данных в Configuration Manager.
Проблема 3: служба CONFIGURATION_MANAGER_UPDATE продолжает перезапускаться.
Процесс CMUpdate является основным драйвером установки пакета обновления. Он размещает службу CONFIGURATION_MANAGER_UPDATE. Если CMUpdate завершается ошибкой, установка останавливается на определенном этапе, и CMUpdate.log может повторно записывать то же действие. Чтобы изучить эту проблему, откройте средство просмотра событий и просмотрите журнал приложений Windows для идентификатора события 1000 (сбой процесса).
Программное обеспечение безопасности также может привести к этому поведению, предотвращая запуск обновленного двоичного файла CMUpdate или путем остановки процесса. Чтобы изучить эту проблему, отключите программное обеспечение безопасности и повторите попытку обновления. Если проблема сохранится, используйте средство ProcDump для сбора файла дампа памяти процесса. Скачайте и распакуйте средство, а затем выполните следующую команду в командной строке:
procdump -ma -e cmupdate.exe
Создайте запрос в службу поддержки, вложите файл дампа и отправьте его в службу поддержки Майкрософт.
Проблема 4. CMUpdate не обновляет объекты базы данных
Если эта проблема возникает, найдите следующие типичные причины:
- Сторонние объекты в базе данных SQL Server Configuration Manager. Удалите сторонние объекты и снова установите обновление.
- Стороннее программное обеспечение, которое обращается к базе данных SQL Server Configuration Manager и блокирует объекты базы данных первой стороны. Например, внешняя база данных Configuration Manager может вести себя таким образом. Убедитесь, что другое программное обеспечение не блокирует объекты базы данных, пока CMUpdate работает в базе данных.
Reference
Соответствующие папки для установки обновлений Configuration Manager
| Folder | Местоположение | Description |
|---|---|---|
| \EasySetupPayload | SCP | Эта общая папка содержит фактические файлы установки для обновления. Нет файла Setup.exe. Вместо этого для установки используется файл Install.map. |
| \CMUStaging | Сервер сайта | Эта папка содержит распакованный CAB-файл манифеста Configuration Manager, скачанный и извлеченный HMAN для выполнения проверок применимости. Файлы установки временно хранятся в этой папке во время установки обновления. |
| \CMUClient | Сервер сайта | Эта папка содержит последние файлы установки клиента. Файлы копируются непосредственно из папки EasySetupPayload. |
| \PilotingUpgrade | Сервер сайта | Эта папка содержит исходное содержимое для клиентского пилотного пакета. |
| \ClientUpgrade | Сервер сайта | Эта папка содержит исходное содержимое пакета обновления клиента. |
| \cd.latest | Сервер сайта | Эта папка содержит последнюю версию файлов установки клиента Configuration Manager. |
Коды состояния и флаги для пакетов обновления
В следующей таблице перечислены коды состояния и состояния, которые они представляют.
| Государство | Ценность |
|---|---|
| НЕИЗВЕСТНО | 0 |
| ВКЛЮЧЕНО | 2 |
| DOWNLOAD_IN_PROGRESS | 262145 |
| DOWNLOAD_SUCCESS | 262146 |
| DOWNLOAD_FAILED | 327679 |
| APPLICABILITY_CHECKING | 327681 |
| APPLICABILITY_SUCCESS | 327682 |
| APPLICABILITY_HIDE | 393213 |
| НЕПРИМЕНИМОСТЬ_НД | 393214 |
| Ошибка применения | 393215 |
| Репликация контента | 65537 |
| УСПЕШНОЕ ПОВТОРЕНИЕ СОДЕРЖАНИЯ | 65538 |
| Ошибка репликации содержимого | 131071 |
| PREREQ_IN_PROGRESS | 131073 |
| ПРЕДУСЛ_УСПЕХ | 131074 |
| PREREQ_WARNING | 131075 |
| PREREQ_ERROR | 196607 |
| УСТАНОВКА_В_ПРОЦЕССЕ | 196609 |
| ОЖИДАНИЕ УСТАНОВКИ УСЛУГИ | 196610 |
| УСТАНОВКА_ОЖИДАЕТ_РОДИТЕЛЯ | 196611 |
| УСТАНОВКА УСПЕШНА | 196612 |
| УСТАНОВКА_ОЖИДАЕТ_ПЕРЕЗАГРУЗКИ | 196613 |
| УСТАНОВКА_НЕ_УДАЛАСЬ | 262143 |
| УСТАНОВКА_CMU_ВАЛИДАЦИИ | 196614 |
| УСТАНОВКА_CMU_ПРЕРВАНА | 196615 |
| INSTALL_CMU_INSTALLFILES | 196616 |
| УСТАНОВКА_CMU_НАЧАТА | 196617 |
| УСТАНОВКА_CMU_УСПЕШНО | 196618 |
| УСТАНОВКА_В ОЖИДАНИИ_ЦМУ | 196619 |
| УСТАНОВКА_CMU_НЕУДАЧНАя | 262142 |
| УСТАНОВИТЬ_УСТАНОВОЧНЫЕ_ФАЙЛЫ | 196620 |
| INSTALL_UPGRADESITECTRLIMAGE | 196621 |
| УСТАНОВИТЬ_НАСТРОЙКАСЕРВИСНОГОБРОКЕРА | 196622 |
| УСТАНОВКА_СИСТЕМЫУСТАНОВКИ | 196623 |
| INSTALL_CONSOLE | 196624 |
| INSTALL_INSTALLBASESERVICES | 196625 |
| Установить_Обновление_Сайтов | 196626 |
| INSTALL_SSB_ACTIVATION_ON | 196627 |
| INSTALL_UPGRADEDATABASE (установить обновлённую базу данных) | 196628 |
| УСТАНОВИТЬ_ОБНОВЛЕНИЕ_КОНСОЛЬ_АДМИНИСТРАТОРА | 196629 |
В следующей таблице перечислены доступные флаги.
| Flag | Ценность |
|---|---|
| Обычная установка | 0 |
| Проверка только предварительных условий | 1 |
| Игнорировать предупреждения | 2 |