Гид по технологиям

ERROR_SEM_IS_SET: как исправить ошибку семафора при установке Management Point

• 4 min read • Администрирование • Обновлено 26 Nov 2025
ERROR_SEM_IS_SET — исправление ошибки семафора
ERROR_SEM_IS_SET — исправление ошибки семафора

ERROR_SEM_IS_SET (код 102, 0x66) означает «Семафор установлен и не может быть закрыт». Эта ошибка часто возникает при обновлении Configuration Manager и при установке роли Management Point на дочернем сайте. Быстрое решение — восстановить счётчики производительности и перезапустить установку MP; если не помогает — удалить экземпляр CCM из WMI и повторить установку. Следуйте пошаговому плану ниже.

Ошибка ERROR_SEM_IS_SET: семафор не может быть закрыт

Что такое ERROR_SEM_IS_SET

ERROR_SEM_IS_SET — это системный код ошибки (102), сопровождающийся сообщением «The semaphore is set and cannot be closed.» Семафоры — это примитивы синхронизации. Они контролируют доступ нескольких процессов к общим ресурсам, чтобы предотвратить гонки, зависания и неконсистентные состояния.

Коротко: семафор — защищённая переменная для управления доступом к ресурсу.

Причина возникновения ошибки

На практике эта конкретная ошибка в контексте Configuration Manager чаще всего связана с проблемой со счётчиками производительности сервера, отвечающего за уведомления SMS (SMS notification server). Компонент rolesetup.exe вызывает unlodctr.exe для выгрузки счётчиков производительности для SMS notification server. Команда не выполняется корректно и установка MP завершается с кодом 102: “Child process exited with non-zero code 102”.

Важно понимать: сам семафор — индикатор блокировки внутри ОС; но первичная причина в отказе операций со счётчиками производительности или в некорректных записях WMI/CCM.

Быстрое исправление — восстановление счётчиков производительности

  1. Откройте Командную строку от имени администратора.
  2. Перейдите в системную директорию:
cd \windows\system32

Переход в папку system32 перед восстановлением счётчиков

  1. Запустите восстановление счётчиков:
lodctr /R

Команда восстановления счётчиков lodctr /R

Подождите завершения команды и проверьте вывод. После успешного восстановления перезапустите установку MP.

Важно: в средах с нестандартной локализацией или кастомными счётчиками могут понадобиться дополнительные шаги по подгрузке *.ini файлов счётчиков.

Если восстановление не помогло — пошаговый план (SOP)

  1. Временно остановите установку MP и при необходимости отмените текущую операцию.
  2. Удалите роль Management Point через консоль Configuration Manager.
  3. Удалите экземпляр CCM из WMI вручную:
    • Откройте WBEMTest (выполнить wbemtest).
    • Подключитесь к пространству имён root\ccm (или просто root, затем найдите нужный класс).
    • Выберите Enum Classes → Recursive → OK.
    • Найдите _NAMESPACE, дважды кликните.
    • Нажмите Instances и найдите запись _NAMESPACE.name=”ccm”.
    • Выделите и удалите эту запись.
  4. После удаления экземпляра CCM перезапустите сервер службы WMI или перезагрузите ОС при необходимости.
  5. Попробуйте снова установить роль Management Point.

Примечание: в некоторых версиях Windows поддержка WMI изменилась. Если у вас новые системы, проверьте совместимость и наличие требуемых компонентов перед удалением записей.

Альтернативные подходы и когда они применимы

  • Восстановление из бэкапа реестра счётчиков производительности. Применимо, если у вас есть экспортированные ключи счетчиков.
  • Пересоздание файлов счётчиков через команды typeperf и lodctr с указанием файлов *.ini. Полезно при повреждении отдельных счётчиков.
  • Использовать утилиты-разработчики Microsoft (например, Exctrlst) для проверки перечня счётчиков и статуса служб производительности.

Когда не помогает: если проблема вызвана аппаратными ошибками диска или повреждённой установкой Configuration Manager, потребуется более глубокая диагностика и, возможно, переустановка ролей/агентов.

Чек-листы по ролям (кому что делать)

Администратор инфраструктуры:

  • Сделать бэкап реестра и системного состояния.
  • Запустить lodctr /R и проверить логи.
  • Перезагрузить сервер при необходимости.

Администратор Configuration Manager:

  • Удалить роль MP через консоль.
  • Удалить CCM-экземпляр из WMI.
  • Отслеживать логи установки ролей (mpcontrol.log, smsts.log и т.д.).

Оператор поддержки:

  • Проверить, нет ли ошибок диска и свободного места.
  • Проверить права доступа учетной записи, выполняющей установку.

Руководство по тестированию и критерии приёмки

Критерии приёмки

  • Установка роли Management Point завершается со статусом Success.
  • В логах нет записей о коде 102 или сообщениях семафора.
  • Службы Configuration Manager успешно инициализируются и принимают соединения от клиентов.

Тестовые кейсы

  • Восстановление счётчиков на тестовом сервере и повторная установка MP.
  • Проверка доступности WMI-классов до и после удаления CCM.
  • Симуляция повторной установки на чистой машине.

Диагностическая карта и потоки решений

flowchart TD
  A[Начало: при установке MP ошибка 102] --> B{lodctr /R прошёл успешно?}
  B -- Да --> C[Перезапустить установку MP]
  C --> D{Успех установки?}
  D -- Да --> E[Завершено]
  D -- Нет --> F[Проверить логи: rolesetup, mpcontrol, smsts]
  B -- Нет --> G[Удалить CCM из WMI и восстановить счётчики]
  G --> C
  F --> H[Провести глубокую диагностику: диск, права, совместимость]
  H --> I[Возможна переустановка роли или откат системы]
  I --> E

Часто встречающиеся ошибки и их причины

  • lodctr возвращает ошибки доступа — вероятна проблема прав учетной записи или антивирус/экран защиты блокирует изменения.
  • WBEMTest не показывает _NAMESPACE.name=”ccm” — возможно, вы смотрите не в том пространстве имён или WMI повреждён.
  • Установка продолжает падать с разными кодами — проверьте логи Configuration Manager для более точной причины.

Риски и рекомендации по смягчению

  • Риск: удаление неправильной записи в WMI может нарушить работу других ролей. Митигирование: делать бэкап WMI и реестра перед правками.
  • Риск: потеря кастомных счётчиков производительности. Митигирование: экспортировать текущие счётчики и иметь план восстановления.

Факты и заметки

  • ERROR_SEM_IS_SET — системный код 102. Он сигнализирует о невозможности закрытия семафора в ОС.
  • Частая причина в контексте SCCM — проблемы со счётчиками производительности и записями CCM в WMI.

Важно: перед изменением WMI всегда делайте резервные копии.

Короткий глоссарий

  • Семафор — механизм синхронизации для управления доступом к ресурсам.
  • WMI — Windows Management Instrumentation, интерфейс управления и получения информации о системе.
  • CCМ — клиент Configuration Manager, именованные записи в WMI связаны с установкой ролей.

Вопросы и обратная связь

Столкнулись с этой ошибкой? Оставьте в комментариях, как вы её решили: восстановлением счётчиков, удалением CCM, или другим способом.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро