Как включить и запустить системную службу Windows: все способы в 2026 году | AdminWiki

Как включить и запустить системную службу Windows: все способы в 2026 году

18 сентября 2026 14 мин. чтения
Содержание статьи

Запустить службу Windows можно четырьмя штатными путями: кнопкой «Запустить» в оснастке services.msc, командой net start в командной строке, командлетом Start-Service в PowerShell и политикой в узле «Системные службы» для парка машин в домене. Все четыре способа обращаются к одному диспетчеру, Service Control Manager (SCM, процесс services.exe), поэтому результат один и тот же, различаются интерфейс и пригодность для скриптов и удалённых серверов.

Быстрее всего разовый пуск выполняется в services.msc: Win+R, команда services.msc, поиск службы по внутреннему имени, кнопка «Запустить». На сервере без графической оболочки или внутри скрипта используйте net start <имя> из консоли, открытой от имени администратора. Для автоматизации и работы с удалёнными машинами подходят Start-Service и Invoke-Command.

Одного запуска мало, если служба нужна после каждой перезагрузки: тогда меняют тип запуска на «Автоматически» или «Автоматически (отложенный запуск)». Делегирование прав непривилегированному оператору и автоматический перезапуск после падения настраиваются отдельно, через дескриптор безопасности sc sdset и вкладку «Восстановление».

Проверенный каталог источников проекта не содержит материалов по управлению службами Windows, поэтому синтаксис команд и пути в оснастках сверяйте с документацией вашей сборки Windows перед применением на продуктивных серверах. Сведения о поведении systemd в Linux подтверждены опубликованным руководством, ссылка на него дана в разделе о типах запуска.

Быстрый запуск службы через оснастку services.msc

Как открыть оснастку «Службы»

Оснастка открывается тремя путями:

  • Win+R, команда services.msc, Enter. Самый быстрый вариант.
  • Панель управления, Администрирование, Службы.
  • Правый клик по «Этот компьютер», Управление, Службы и приложения, Службы.

Смена типа запуска и правка свойств требуют прав администратора: в сессии без повышения кнопки «Запустить», «Остановить» и список типов запуска остаются неактивными. Открывайте оснастку через «Запуск от имени администратора». Службами другого хоста управляют из той же консоли: правый клик по корневому узлу «Службы (локальный компьютер)», «Подключиться к другому компьютеру».

Запуск и настройка типа запуска

Ищите службу по столбцу «Имя службы» (внутреннее имя, например Spooler), а не по «Отображаемому имени»: внутренние имена подставляются в net start, sc config и командлеты PowerShell. Столбец «Состояние» показывает «Выполняется», если служба работает, и остаётся пустым у остановленной. Столбец «Тип запуска» хранит текущий режим старта.

Порядок действий: правый клик по службе, «Запустить», затем проверка состояния. Кнопки «Остановить», «Перезапустить» и «Приостановить» доступны в зависимости от того, поддерживает ли служба паузу и повторный старт. Смена режима выполняется в свойствах, в списке «Тип запуска», с подтверждением кнопкой «Применить».

Четыре значения типа запуска: «Автоматически», «Автоматически (отложенный запуск)», «Вручную», «Отключена». Отложенный старт поднимает службу после того, как SCM запустит основные автоматические службы, что сглаживает пик нагрузки на диск в первые минуты после загрузки.

Два предупреждения. Если служба зависит от других, они должны быть запущены, иначе SCM вернёт ошибку 1068 (вкладка «Зависимости» покажет список). Перевод редкой службы в «Автоматически» удлиняет загрузку и расширяет поверхность атаки, поэтому для сервисов, которые нужны раз в месяц, оставляйте «Вручную».

Пример: после остановки печати служба Print Spooler не поднимается сама, пока вы не нажмёте «Запустить», а для постоянного старта переключите тип запуска на «Автоматически (отложенный запуск)». На сервере без печати эту службу часто отключают: снимается риск эксплуатации уязвимостей диспетчера печати, но перестают работать установка принтеров и приложения, обращающиеся к очереди печати. Как связаны служба и автозапуск прикладного ПО, разобрано в руководстве по развёртыванию Windows-приложения через MSI и EXE.

Запуск службы через командную строку: net start и sc config

Командная строка выручает на серверах без графической оболочки и в скриптах развёртывания. Консоль открывайте от имени администратора: без повышения net start вернёт ошибку 5 «Отказано в доступе», а sc config откажет в записи.

Синтаксис и примеры команд net start

net start
net start Spooler
net start "Print Spooler"
net start | findstr /i print
net stop Spooler

Без параметров net start печатает список работающих служб. С аргументом команда запускает службу по внутреннему (Spooler) или отображаемому (Print Spooler) имени; имена с пробелами берут в кавычки. Состояние отдельной службы удобнее проверять через sc query Spooler: вывод содержит STATE (RUNNING или STOPPED) и код выхода последнего запуска. Поиск по списку выполняют фильтром net start | findstr /i <часть_имени>.

Настройка автоматического старта через sc config

sc config Spooler start= auto
sc config W32Time start= delayed-auto
sc config Fax start= demand
sc config Spooler start= disabled
sc start Spooler

Параметр start= принимает значения auto (автоматически), delayed-auto (отложенный старт), demand (вручную, по запросу), disabled (отключена), а также boot и system для загрузочных драйверов. Синтаксическая ловушка: после start= обязателен пробел, запись start=auto вернёт ошибку 87 «Неверный параметр». Регистр в именах служб значения не имеет, но внутреннее имя должно совпадать с системным: уточнить его можно через sc query type= service state= all или в столбце «Имя службы» оснастки.

Удалённое управление выполняется с UNC-путём к машине:

sc \\SRV01 query Spooler
sc \\SRV01 start Spooler
sc \\SRV01 config Spooler start= auto

Для этого нужны права администратора на удалённом хосте и открытый доступ по SMB (порт 445). В сетях, где SMB между сегментами заблокирован, этот путь недоступен, и удалённые команды идут через PowerShell по WinRM.

Отдельное предупреждение: не переводите в auto службы, назначение которых вам неизвестно, и не отключайте службы, от которых зависят вход в систему, сеть и доступ к хранилищу. Перед правкой проверьте, не задан ли тип запуска групповой политикой, иначе значение вернётся при следующей её обработке.

Управление службами в PowerShell

Основные командлеты для запуска и настройки

Get-Service -Name Spooler
Get-Service -DisplayName "*print*"
Start-Service -Name Spooler
Stop-Service -Name Spooler
Restart-Service -Name Spooler
Get-Service -Name Spooler | Start-Service
Set-Service -Name W32Time -StartupType Automatic
Set-Service -Name Spooler -StartupType Disabled

Get-Service возвращает объекты с полями Status, Name, DisplayName и StartType, поэтому список фильтруется по состоянию или режиму: Get-Service | Where-Object StartType -eq Automatic. Start-Service, Stop-Service и Restart-Service принимают -Name (внутреннее имя), -DisplayName и массив имён: Start-Service -Name Spooler, W32Time. При ошибке командлет выбрасывает исключение, поэтому в скриптах используют -ErrorAction Stop и try/catch, а не проверку кода возврата.

Set-Service меняет тип запуска значениями Automatic, Manual и Disabled. Отложенный старт задаётся значением AutomaticDelayedStart там, где его поддерживает версия PowerShell; если командлет такое значение не принимает, примените sc config <имя> start= delayed-auto. Остановка чужих служб и смена типа запуска требуют повышенных прав, иначе появится сообщение об отказе в доступе при открытии службы.

Удалённое управление службами

У командлетов служб нет параметра -ComputerName, поэтому на другом сервере команда выполняется внутри Invoke-Command:

Invoke-Command -ComputerName SRV01 -ScriptBlock { Get-Service -Name Spooler }
Invoke-Command -ComputerName SRV01 -ScriptBlock { Start-Service -Name Spooler }
Invoke-Command -ComputerName SRV01 -ScriptBlock { Set-Service -Name W32Time -StartupType Automatic }

Условия работы: WinRM включён на целевой машине (Enable-PSRemoting -Force), учётная запись входит в группу администраторов удалённого хоста, открыты порты 5985 для HTTP или 5986 для HTTPS. Для парка машин список хостов передают массивом в -ComputerName, а локальные переменные попадают внутрь блока через префикс $using:. В домене подключение по умолчанию идёт через Kerberos; при обращении по IP потребуются явные учётные данные или CredSSP.

Массовые операции удобно строить на конвейере: список имён из CSV прогоняется через ForEach-Object, а результат каждого вызова сохраняется в журнал, чтобы после прогона видеть, где старт не удался.

Ручной запуск или автоматический старт: что выбрать

Типы запуска и их влияние на систему

Тип запуска задаёт момент старта, а не саму возможность запустить службу. Автоматическая служба поднимается при загрузке до появления экрана входа, служба с ручным типом спокойно запускается кнопкой или командой, но сама не стартует.

Тип запускаКогда стартуетКогда уместен
АвтоматическиПри загрузке системы, вместе с базовыми службамиDHCP Client, DNS Client, службы, без которых нет сети и входа
Автоматически (отложенный запуск)После того как SCM поднимет основные автоматические службы, обычно в течение пары минут после стартаW32Time, службы индексации и обновления, тяжёлые по дисковым операциям
ВручнуюПо запросу приложения, по триггеру или по команде администратораFax, службы развёртывания, сервисы, нужные периодически
ОтключенаНикогдаСлужбы, которые не используются и создают риск, например Print Spooler на сервере без печати

Практическое правило: «Автоматически» ставят только для того, без чего сервер теряет работоспособность сразу после загрузки. Остальное переводят в «Вручную»: это ускоряет старт и уменьшает число постоянно работающих процессов. Отложенный запуск выбирают для служб с длительной инициализацией, чтобы они не конкурировали за диск с загрузкой системы.

В Linux та же логика работает в systemd: ненужную службу отключают командой systemctl disable --now <имя>, что показано в руководстве по развёртыванию кластера Kubernetes на Ubuntu. Механизмы разные, принцип один: служба либо стартует при загрузке, либо ждёт явного запроса.

Зависимости служб и порядок запуска

Вкладка «Зависимости» делит связи на два блока: «Для работы этой службы необходимы следующие системные компоненты» и «Следующие системные компоненты зависят от этой службы». Если зависимость остановлена, SCM откажет в старте с ошибкой 1068. Примеры: Print Spooler опирается на «Удалённый вызов процедур (RPC)», SQL Server Agent не поднимется без SQL Server. Запускайте цепочку снизу вверх, от зависимостей к целевой службе; порядок автоматического старта SCM выстраивает сам по графу зависимостей, и ручное вмешательство в него ломает загрузку.

Служба с ручным типом может стартовать и без администратора: часть служб имеет триггеры запуска по событию, например по подключению устройства или обращению к сетевой папке. Триггеры видны командой sc qtriggerinfo <имя>.

Выдача прав на управление службой непривилегированному пользователю

Задача: оператор перезапускает один конкретный сервис, например агент резервного копирования, и при этом не входит в группу администраторов. Права на службу хранятся в её дескрипторе безопасности в формате SDDL, а меняются утилитой sc sdset. Графической вкладки «Безопасность» в свойствах службы на современных сборках Windows нет, поэтому работа идёт из командной строки или через групповую политику.

Получение текущего дескриптора безопасности

sc sdshow Spooler
sc sdshow Spooler > C:\temp\spooler_sddl.txt

Вывод содержит DACL службы, например: D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU). Расшифровка основных SID: SY - LocalSystem (S-1-5-18), BA - встроенные администраторы (S-1-5-32-544), IU - интерактивные пользователи (S-1-5-4), SU - служебные учётные записи (S-1-5-6). Сохраните вывод до правок: он понадобится для отката. В PowerShell вызывайте sc.exe явно, иначе сработает алиас sc для Set-Content и вывод уйдёт в файл вместо экрана.

Изменение прав через sc sdset

Сначала получают SID пользователя:

(New-Object System.Security.Principal.NTAccount("DOMAIN\\operator1")).Translate([System.Security.Principal.SecurityIdentifier]).Value

Затем к исходному дескриптору добавляют ACE с правами RP (запуск службы) и WP (остановка):

sc sdset Spooler "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWP;;;S-1-5-21-1111111111-2222222222-3333333333-1105)"

Коды прав в SDDL, которые нужны чаще всего:

КодПравоЧто разрешает
RPSERVICE_STARTЗапуск службы
WPSERVICE_STOPОстановка службы
DTSERVICE_PAUSE_CONTINUEПауза и продолжение работы
CCSERVICE_QUERY_CONFIGЧтение конфигурации
LCSERVICE_QUERY_STATUSЧтение состояния
SWSERVICE_ENUMERATE_DEPENDENTSПросмотр зависимостей
DCSERVICE_CHANGE_CONFIGИзменение конфигурации службы
RCREAD_CONTROLЧтение дескриптора безопасности
WDWRITE_DACИзменение прав
WOWRITE_OWNERСмена владельца

Связка RP и WP даёт только запуск и остановку: поменять конфигурацию, удалить службу или переписать её дескриптор оператор не сможет.

sc sdset перезаписывает DACL целиком, а не добавляет запись. Если передать только новую ACE, системные права потеряются, и служба не запустится даже под LocalSystem. Поэтому новый дескриптор собирают из вывода sc sdshow, дописав одну ACE перед закрывающей скобкой. Откат выполнятся той же командой с сохранённым исходным DACL. Правку проверяйте на тестовом стенде: неверный SDDL приводит к отказу службы в запуске, а восстанавливать её придётся из сохранённой копии дескриптора или точки восстановления системы.

Пользователю, который управляет службой с удалённой машины, нужны ещё права на сетевой доступ к серверу и разрешение на вход, иначе RP и WP не дадут результата. Второй путь для домена описан ниже, в разделе про групповые политики, и там права раскладываются централизованно и без ручной сборки SDDL.

Восстановление службы после сбоя

Настройка действий при сбое

Вкладка «Восстановление» в свойствах службы задаёт реакцию SCM на неожиданное завершение процесса. Доступны три уровня: «Первое действие», «Второе действие», «Последующие действия» со значениями «Не выполнять действия», «Перезапуск службы», «Запуск программы», «Перезагрузка компьютера». Рядом настраивают задержку перезапуска и период «Сброс счётчика отказов через», по умолчанию одни сутки. Действие «Перезагрузка компьютера» выбирайте только для служб, без которых узел бесполезен: при ошибке в конфигурации цикл перезагрузок выведет сервер из строя.

Те же параметры задаются из командной строки:

sc failure Spooler reset= 86400 actions= restart/60000/restart/60000/restart/60000
sc failure Spooler reset= 86400 actions= restart/60000/restart/60000/run/60000 command= C:\scripts\svc_alert.cmd

reset= указывается в секундах, 86400 соответствует суткам и обнуляет счётчик отказов. В actions= идут пары «действие/задержка в миллисекундах»: restart/60000 означает перезапуск через минуту. Действие run требует параметра command= с путём к программе или скрипту. Счётчик растёт только при сбоях, обычная остановка администратором в него не попадает.

Диагностика причин сбоя

Основной источник сведений - журнал событий: eventvwr.msc, «Журналы Windows», «Система», фильтр по источнику Service Control Manager. События 7031 и 7034 фиксируют неожиданное завершение службы, 7000 и 7001 указывают на ошибки старта и проблему зависимостей, 7009 и 7011 означают истечение тайм-аута ожидания отклика, 7024 сообщает о завершении службы с ошибкой и приводит её код.

Быстрая проверка без журнала: sc query Spooler показывает состояние, sc queryex добавляет PID процесса. Дальше проверяют три вещи: целостность файлов (sfc /scannow и DISM /Online /Cleanup-Image /RestoreHealth), учётную запись службы и её пароль на вкладке «Вход», права этой учётной записи на «Вход в систему как служба» (secpol.msc, «Локальные политики», «Назначение прав пользователя»). Если приложение ведёт собственный лог, сопоставьте метку времени падения со своими записями: часто служба падает не из-за SCM, а из-за недоступного ресурса, файла конфигурации, порта или сетевой папки.

Централизованное управление через групповые политики

Настройка типа запуска через GPO

Для одной машины политику правят в gpedit.msc, для домена в gpmc.msc. Путь одинаков: Конфигурация компьютера, Политики, Конфигурация Windows, Параметры безопасности, Системные службы. В узле перечислены службы с текущим режимом; двойной клик открывает выбор «Автоматически», «Вручную» или «Отключена». Значения «Автоматически (отложенный запуск)» здесь нет, поэтому отложенный старт задают локально или командой sc config ... start= delayed-auto.

Настройка применяется при загрузке компьютера, принудительное обновление выполняется командой gpupdate /force. Политика имеет приоритет над локальными изменениями: если в GPO служба помечена как «Вручную», администратор запустит её вручную, но при следующем применении политики тип запуска вернётся к значению из GPO и служба перестанет стартовать при загрузке. Результат удобно проверять отчётом gpresult /h report.html.

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

Делегирование прав через GPO

В том же узле кнопка «Изменить безопасность» открывает DACL службы и позволяет добавить пользователя или группу с правами «Запуск», «Остановка и приостановка», «Чтение», «Полный доступ». Это централизованный аналог sc sdset: права расходятся по всем машинам, на которые действует политика, а локальные правки дескриптора политика перезапишет при следующей обработке. Отдельная выгода в том, что SDDL не собирается вручную, а значит меньше риск сломать дескриптор.

Ограничение: список узла «Системные службы» привязан к шаблону операционной системы, на базе которого создана политика. Для службы, установленной сторонним приложением, записи может не быть, и тогда права выдают на этапе установки пакета или скриптом с sc sdset, а затем фиксируют в документации. Если служба есть только на части машин, настройка на остальные не повлияет.

Типовые ошибки при запуске служб и их решение

Коды появляются в диалоге оснастки и в выводе net start, а расшифровка с причиной и действиями собрана в таблице.

Код и сообщениеПричинаЧто делать
1053, служба не ответила на запрос своевременноИнициализация не уложилась в тайм-аут SCM (по умолчанию 30 000 мс) или служба ждёт внешний ресурсПроверить зависимости, доступность базы, сетевых папок и портов, убрать лишние зависимости; при объективно медленном старте тайм-аут увеличивают через параметр реестра ServicesPipeTimeout и перезагрузку
1067, процесс был неожиданно завершёнСлужба падает при старте: права, целостность файлов, ошибка в конфигурацииНайти запись по источнику Service Control Manager в журнале событий, проверить права учётной записи, выполнить sfc /scannow и DISM /Online /Cleanup-Image /RestoreHealth, запустить исполняемый файл службы вручную, чтобы увидеть текст ошибки
1069, служба не была запущена из-за ошибки входа в системуНеверный пароль учётной записи службы или снято право «Вход в систему как служба»Заново задать пароль на вкладке «Вход» и проверить назначение прав в secpol.msc; для групповых управляемых учётных записей убедиться, что хост входит в разрешённую группу
1079, учётная запись службы отличается от учётной записи других служб на компьютереСлужбы одного продукта работают под разными учётными записями и мешают друг другу при доступе к общим файлам или базеПривести службы продукта к одной учётной записи с нужными правами
1068, служба или группа зависимостей не удалось запуститьОстановлена служба, от которой зависит запускаемаяОткрыть вкладку «Зависимости» и запустить зависимости по цепочке
1058, служба не может быть запущена, так как она отключенаТип запуска стоит «Отключена»Вернуть «Вручную» или «Автоматически» и только потом запускать

Порядок разбора: sc query <имя> для состояния, eventvwr.msc для причины, вкладки «Вход» и «Зависимости» для конфигурации. Если служба нормально работает сразу после правки и перестаёт стартовать после перезагрузки, ищите причину в групповой политике или в задании планировщика, которое меняет параметры.

Когда внешние симптомы касаются сети, а не самой службы, проверьте состояние DHCP Client, DNS Client и стека TCP/IP по руководству о восстановлении сетевых настроек Windows. Отключать службы, назначение которых вам неизвестно, не стоит: цена ошибки выше нескольких секунд экономии при загрузке.

Рабочий порядок для типового случая: уточните внутреннее имя службы через sc query или оснастку, проверьте зависимости, запустите её, задайте нужный тип запуска и, если сервис критичен, настройте действия при сбое и сохраните исходный дескриптор безопасности.

Поделиться:
Сохранить гайд? В закладки браузера