Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Event ID 1063 Windows Server, AD и Роли

Event ID 1063 Service Control Manager: connect to service controller

Обновлено: 28.08.2026 · Официальная документация ↗

Симптомы ошибки Event ID 1063 (Service Control Manager)

В журнале System регистрируется ошибка инициализации системной службы Event ID 1063:

The service process could not connect to the service controller. (Service: MyCustomApp / Error: 0x80070427).

Характерные признаки проблемы:

  • Служба мгновенно завершается при попытке запуска с ошибкой «Не удалось запустить службу на Локальный компьютер».
  • Исполняемый файл службы (.exe) запускается при двойном клике мышью, но не работает как фоновая служба Windows.
  • Приложение не регистрирует свою главную точку входа диспетчера служб через системный вызов StartServiceCtrlDispatcher.
  • Сбои в работе самописного ПО, микросервисов и агентов мониторинга.

Причина сбоя для разработчиков и сисадминов: Каждая программа, работающая как служба Windows, обязана в течение первых 30 секунд после старта вызвать специальную системную функцию StartServiceCtrlDispatcher(), которая связывает процесс с диспетчером SCM (services.exe). Если запустить обычный консольный EXE-файл как службу, он упадет с ошибкой Event ID 1063.

Пошаговое устранение сбоя Event ID 1063

  1. Использование сервисной обертки (NSSM) для обычных консольных программ

    Если вам нужно запустить обычный скрипт (Python, Node.js, BAT) или консольный EXE в качестве службы, используйте утилиту-обертку NSSM (Non-Sucking Service Manager):

    # Установка и привязка консольного приложения через NSSM:
    nssm install MyService "C:\App\app.exe"
    nssm set MyService AppDirectory "C:\App"
    nssm start MyService
  2. Проверка пути к исполняемому файлу (ImagePath) и кавычек

    Если путь к файлу службы содержит пробелы и не заключен в кавычки в реестре, система не может правильно передать аргументы:

    # Проверка правильности кавычек в пути реестра:
    Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\MyService" | Select-Object ImagePath

    Правильный формат пути: "C:\Program Files\My App\service.exe" (в кавычках!).

  3. Проверка прав сервисного пользователя на запуск бинарного файла

    Убедитесь, что учетная запись, от имени которой стартует служба, имеет права на чтение и выполнение в целевой папке:

    icacls "C:\Program Files\My App" /grant "NT SERVICE\MyService:(OI)(CI)RX"
  4. Проверка целостности системных библиотек C++ Runtime

    Установите актуальные пакеты распространяемых библиотек Visual C++ Redistributable (x64 и x86), отсутствие которых часто ломает инициализацию точки входа служб.

💡 Практика специалистов: Ошибка Event ID 1063 — классический маркер так называемой уязвимости Unquoted Service Path (путь к службе без кавычек с пробелами). Если служба установлена как C:\Program Files\App\service.exe без кавычек, Windows сначала пытается выполнить C:\Program.exe. Заключение всех ImagePath в реестре в строгие кавычки решает проблему запуска и закрывает брешь безопасности.

Частые вопросы (FAQ)

Что такое StartServiceCtrlDispatcher?

Это базовая функция Win32 API, которая соединяет главный поток процесса службы с диспетчером управления службами (SCM) для приема команд пуска, останова и паузы.

Почему программа работает из консоли, но не работает как служба?

Обычные консольные программы ожидают интерактивный рабочий стол и пользовательский ввод. Служба Windows работает в изолированной Сессии 0 (Session 0 Isolation) без доступа к GUI.

Как исправить путь ImagePath без кавычек (Unquoted Service Path)?

Откройте реестр regedit, перейдите в ветку HKLM\SYSTEM\CurrentControlSet\Services\имя_службы и заключите значение параметра ImagePath в двойные кавычки.

Что делать, если антивирус блокирует исполняемый файл службы?

Проверьте журнал антивируса или Defender. Эвристический анализатор может блокировать попытку процесса зарегистрировать управляющий пайп в SCM.

Полезные материалы
Рекомендуем