Как исправить ошибку 0x87D00669 при обновлениях через SCCM

Краткое описание проблемы
Если при развертывании обновлений через SCCM (ConfigMgr) вы видите код ошибки 0x87D00669 (-2016410007), это обычно указывает на то, что клиентская машина не смогла найти или получить содержимое (пакет обновления) на распределительной точке (Distribution Point). Причины — от повреждённого или отсутствующего контента до сетевых/правовых ограничений.
Важно: ошибка связана не с самим алгоритмом обновления, а с доступностью и доставкой контента.
Что вызывает ошибку 0x87D00669
- Контент повреждён или отсутствует — файлы пакета обновления не присутствуют на DP или повреждены в Content Library.
- Проблемы с правами — учётная запись Network Access Account или другие учётные записи не имеют доступа к файлам.
- Сетевые/коммуникационные проблемы — фаервол, маршрутизация или DNS мешают доступу клиента к DP.
- Неправильно настроенные Boundaries и Boundary Groups — клиент не может найти назначенную точку распределения.
Быстрая проверка перед детальной отладки
- Убедитесь, что на клиенте установлен и запущен агент SCCM (ccmexec).
- Проверьте логи на клиенте: UpdatesDeployment.log, CAS.log, ContentTransferManager.log и LocationServices.log.
- На сервере проверьте Monitoring → Distribution Status → Content Status.
Важное замечание: не удаляйте контент с DP до тех пор, пока не создадите резервную копию важных пакетов и не подтвердите, что можно безопасно перераспределить их.
Подробное руководство по исправлению
1. Проверка Boundaries
- Нажмите клавишу Windows, введите configuration manager console, запустите как администратор.
- Перейдите:
Administration\Overview\Hierarchy Configuration\Boundaries

- Проверьте, что клиентская подсеть/диапазон IP/AD site корректно отражены в списке границ.
- Если клиент находится вне всех границ — добавьте соответствующий диапазон или AD site.
Совет: если сеть использует NAT или VPN, убедитесь, что видимость IP-диапазонов соответствует тому, что указано в Boundaries.
2. Проверка Boundary Groups
- Запустите SCCM Console как администратор.
- Перейдите:
Administration\Overview\Hierarchy Configuration\Boundary Groups

- Выберите группу границ и откройте Properties.
- На вкладке References добавьте необходимые Boundaries и отметьте Use this boundary group for site assignment.

Проверьте также, какие Distribution Points связаны с этой группой границ. Если DP не привязан к группе — клиенты не будут получать контент от него.
3. Перераспределение контента на Distribution Points
Если контент повреждён или отсутствует, перераспределите его на DP.
3.1 Через Software Library
- Откройте SCCM Console как администратор.
- Перейдите:
Software Library\Application Management\Applications

- Выберите объект (Application / Software Update / Package) и откройте Properties.
- На странице Content Locations выберите Distribution Points или DP Groups и нажмите Redistribute.
- Подтвердите OK и дождитесь завершения.
3.2 Через Administration workspace
- Перейдите:
Administration\Overview\Distribution Points

- Выберите нужный DP, откройте Properties → Content.
- Выберите проблемный контент и нажмите Redistribute.
- Проверьте статус в
Monitoring\Overview\Distribution Status\Content Status— откройте View Status для конкретного пакета.
Если Redistribute завершился с ошибками — проверьте события Windows на DP, права доступа к Content Library и свободное место на диске.

4. Проверка прав доступа и Network Access Account
- Убедитесь, что Network Access Account настроен и имеет доступ к источнику контента (если вы используете UNC-пути).
- На DP проверьте права для учетной записи SMS Distribution или учетной записи, под которой работает служба IIS, если используются HTTP(S) точки.
- При использовании HTTPS убедитесь, что сертификаты корректны и не просрочены.
5. Очистка клиентского кэша и повторная инициатива политики
На клиенте:
- Проверьте содержимое папки кэша клиента: C:\Windows\ccmcache. При необходимости очистите (удалите старые папки).
- Перезапустите службу SCCM клиента: net stop ccmexec && net start ccmexec или через Services.msc.
- Запустите на клиенте в Configuration Manager → Actions следующие циклы: Machine Policy Retrieval & Evaluation Cycle и Software Updates Scan Cycle.
Проверьте логи клиента (UpdatesDeployment.log, CAS.log, ContentTransferManager.log) для подтверждения загрузки контента.
6. Диагностика логов — какие файлы смотреть
- На клиенте: UpdatesDeployment.log, WUAHandler.log, CAS.log, ContentTransferManager.log, LocationServices.log
- На сервере/DP: DistMgr.log, smsts.log (если ОС деплоится), PkgXferMgr.log
Совет: используйте CMTrace (или встроенный просмотрщик логов) для анализа.
Дополнительные рекомендации и альтернативные подходы
- Если DP находится в другом AD site, убедитесь, что DNS разрешает имена и что маршрутизация не блокирует трафик.
- Рассмотрите использование Peer Cache или Delivery Optimization для распределения нагрузки в WAN.
- Если контент регулярно повреждается — проверьте диск и целостность файловой системы на DP.
Playbook: быстрый порядок действий для инженера
- Проверить Boundaries и Boundary Groups.
- Убедиться, что DP назначен группе границ клиента.
- Проверить Content Status в Monitoring.
- Если контент отсутствует или повреждён — Redistribute на DP.
- Проверить права Network Access Account и настройки IIS/HTTP(S).
- На клиенте очистить ccmcache и инициировать циклы политики.
- Анализировать логи клиента и DP; при необходимости поднять инцидент в команду хранения/сетей.
Ролевые чек-листы
Администратор SCCM:
- Проверка Boundaries и Boundary Groups
- Проверка Content Status и Redistribute
- Проверка версий пакетов и зависимостей
Сетевой инженер:
- Проверка маршрутизации и правил фаервола между клиентом и DP
- Проверка DNS и разрешения имён
Инженер поддержки (helpdesk):
- Очистка ccmcache
- Рестарт ccmexec на клиенте
- Запуск циклов политики
Критерии приёмки
- Клиент успешно скачал контент и выполнил установку обновления.
- В Monitoring → Content Status пакет отмечен как Сompleted для всех назначенных DP.
- В логах клиента нет записей о 0x87D00669 для этого обновления.
Когда предложенные шаги не помогут — контрпримеры и возможные причины
- Контент доступен, Boundaries и DP настроены верно, но ошибка остаётся — возможно, проблема на стороне WUA/Windows Update Agent на клиенте.
- Если множество клиентов в одной подсети испытывают ту же проблему — вероятна проблема на уровне DP или сеть/фаервола.
- Если только один клиент — проблема может быть локальной: права, кэш, антивирус.
Быстрая проверка перед завершением
- Проверить статус пакета в Monitoring → Content Status.
- Проверить логи клиента на предмет успешной загрузки VBScript/Files.
- Проверить свободное место на диске DP и клиента.
Мини-методология для предотвращения повторения
- Включите мониторинг Distribution Status для ключевых пакетов.
- Регулярно проверяйте целостность Content Library на DP.
- Документируйте Network Access Account и инструкции по правам доступа.
- Тестируйте развертывание обновлений на пилотной коллекции перед массовым деплоем.
Decision flowchart
flowchart TD
A[Начало: клиент получает задачу обновления] --> B{Найден ли DP в Boundary Group?}
B -- Да --> C{Контент на DP доступен?}
B -- Нет --> D[Проверить Boundaries и BG - исправить]
C -- Да --> E{Клиент скачивает контент?}
C -- Нет --> F[Redistribute на DP и проверить права]
E -- Да --> G[Установка обновления проходит успешно]
E -- Нет --> H[Проверить логи клиента: CAS, CTM, WUAHandler]
H --> I[Очистка ccmcache и перезапуск клиента]
I --> J{Проблема решена?}
J -- Да --> G
J -- Нет --> K[Эскалация в сетевой/серверный отдел]Часто задаваемые вопросы
Q: Можно ли просто переназначить другого DP клиенту, чтобы решить проблему?
A: Да, переназначение на другой DP, который содержит контент и доступен по Boundary Group, часто решает проблему, но важно понять причину: если контент повреждён на основном DP — нужно перераспределить.
Q: Какие логи на клиенте наиболее информативны?
A: UpdatesDeployment.log и CAS.log дают информацию о загрузке и установке обновлений; ContentTransferManager.log показывает этапы передачи контента.
Краткое резюме
- Ошибка 0x87D00669 обычно означает отсутствие или недоступность контента на Distribution Point.
- Проверьте Boundaries, Boundary Groups, права доступа и целостность контента.
- Перераспределение контента и очистка клиентского кэша — частые и эффективные решения.
Если после выполнения всех шагов проблема остаётся — соберите логи клиента и DP и передайте их в команду поддержки с пометкой для дальнейшей диагностики.
Похожие материалы
Ошибка Windows 10 0x8024a112 — как исправить
PostgreSQL в Docker — запуск и лучшие практики
Styli.sh: автоматическая смена обоев в Linux