Как управлять службами в Windows
Что такое службы
Службы — это вид программ, которые работают в фоне и не требуют действий пользователя.
Службы могут как относиться к операционной системе Windows, так и быть сторонними приложениями. Примеры служб, которые может установить сам пользователь: веб-сервер, удалённый рабочий стол VNC, SSH служба, служба СУБД MySQL.
Управлять службами можно:
- в графическом интерфейсе
- командной строке
- в PowerShell
Настройка служб в графическом интерфейсе
Чтобы открыть менеджер служб, введите в поиск «Службы» и нажмите Enter:
Ещё один способ открыть это окно, нажать Win+r и ввести:
Здесь, в столбце «Имя», вы увидите список служб, работающих в вашей системе, вместе с их Описанием. Вы также сможете увидеть их Статус — независимо от того, запущены они или остановлены, а также Типы запуска и Вход от имени.
Типы запуска служб Windows
Windows 10 предлагает четыре типа запуска:
- Автоматически
- Автоматически (отложенный запуск)
- Вручную
- Отключена
Запуск, остановка, отключение служб Windows
Чтобы запустить, остановить, приостановить, возобновить или перезапустить любую службу Windows, выберите службу и щёлкните её правой кнопкой мыши. Вам будут предложены эти варианты.
Если вы хотите управлять дополнительными опциями, дважды щёлкните Сервис, чтобы открыть окно его свойств.
Здесь, в раскрывающемся меню Тип запуска, вы сможете выбрать тип запуска для Сервиса.
В разделе «Состояние службы» вы увидите кнопки «Запустить», «Остановить», «Приостановить», «Продолжить».
В окне «Свойства» вы также увидите другие вкладки, такие как «Вход в систему», «Восстановление» и «Зависимости», которые предлагают дополнительные параметры и информацию.
После внесения изменений вам нужно будет нажать «Применить».
Управление службами с помощью командной строки
Вы также можете использовать командную строку для запуска, остановки, приостановки, возобновления обслуживания. Чтобы использовать консоль, откройте командную строку или PowerShell с правами администратора и выполните одну из следующих команд.
Чтобы запустить службу:
Например, для запуска службы mysql:
Чтобы остановить службу:
Например, для остановки службы mysql:
Чтобы приостановить службу (не все службы возможно поставить на паузу!):
Чтобы возобновить службу:
Для отключения автозапуска службы:
Например, для отключения последующих запусков службы mysql:
Для включения автозапуска службы:
Например, для включения автозапуска службы mysql:
Перечисление состояний активных служб и драйверов
Перечисление только служб Win32
Для просмотра состояния определённой службы:
Например, чтобы увидеть состояние службы Apache2.4:
Управление службами Windows с помощью PowerShell
PowerShell — это среда автоматизации задач и управления конфигурацией от Microsoft. В этом разделе мы познакомим вас с тем, как управлять службами Windows через PowerShell, поскольку это намного быстрее и эффективнее, чем другие методы.
Как вы, возможно, знаете, одной из наиболее важных частей каждой операционной системы является служба, которая проходит через неё, и в целом можно сказать, что каждая часть операционной системы, которая запускается, имеет определённую службу, которой можно управлять и контролировать.
Вот подробное руководство по использованию PowerShell для управления службами Windows.
Запустите терминал PowerShell с правами администратора. Для этого нажмите Win+x и выберите Windows PowerShell (администратор):
Сначала вы должны получить список доступных служб, используя следующую команду:
Это образец вывода, который вы получите.
В выводе по умолчанию вы увидите 3 основных раздела: Status (Статус), Name (Имя) и DisplayName (Отображаемое имя). Теперь, если вы хотите найти и перечислить конкретный сервис, вы можете отфильтровать любой из параметров.
Показать все службы, названия которых начинаются с wi:
Показать все службы, отображаемые имена которых начинаются с win:
Примечание: если вы хотите получить доступ к другому компьютеру через сеть, вы можете просмотреть список служб для этой системы с помощью этой команды:
Важной частью управления услугами является управление зависимыми службами.
Чтобы получить доступ к списку DependentServices для конкретной службы, мы можем использовать следующую команду:
Вы также можете использовать параметр RequiredServices, чтобы получить список предварительных условий обслуживания.
Таким образом, с помощью приведённых выше команд мы можем найти название службы, которая вам нужна, увидеть статус и связанные службы или их предварительные условия. Теперь рассмотрим команды управления службами.
Для остановки службы с помощью PowerShell вы можете использовать следующую команду:
Последующие примеры будут показываться на службе Apache2.4. То есть в следующих командах замените «Apache2.4» на имя интересующей вас службы.
Для запуска службы в PowerShell вы можете использовать эту команду:
Одной из наиболее часто используемых команд для работы со службами является команда перезапуска службы. Структура команды перезапуска службы такова:
И наконец, следующая команда используется для временного приостановления службы.
Для изменения режима запуска службы используйте команду вида:
В качестве ТИП_ЗАПУСКА могут быть:
- Automatic — служба будет запущена или была запущена операционной системой при запуске системы. Если автоматически запускаемая служба зависит от запускаемой вручную службы, запускаемая вручную служба также запускается автоматически при запуске системы.
- AutomaticDelayedStart — запускается вскоре после загрузки системы.
- Disabled — служба отключена и не может быть запущена пользователем или приложением.
- InvalidValue — не имеет никакого эффекта. Командлет не возвращает ошибку, но StartupType службы не изменяется.
- Manual — служба запускается только вручную, пользователем, с помощью диспетчера управления службами или приложением.
Это наиболее часто используемые команды для управления службами в PowerShell. Для получения дополнительной информации о командах PowerShell и о том, как они работают, используйте команду Get-Help.
Как в Windows 10 изменить имя службы
В операционной системе Windows имеется порядка двух сотен служб, из которых в активном состоянии обычно находится как минимум третья их часть. У каждой службы есть свой исполняемый файл, идентификатор, английское имя и русское описание, которое русскоязычными пользователями воспринимается точно так же, как англоязычными имя. Так это выглядит в Диспетчере задач, если же открыть оснастку «Службы», то в качестве имен служб там как раз используется описание.
При желании или необходимости вы можете его изменить. Зачем это может понадобится? Например, с целью замаскировать службу от других пользователей или чисто для собственного удобства. Правда, сразу оговоримся, что такое переименование способно изменить лишь имя-описание службы, а не подлинное ее имя, соответствующее названию исполняемого файла и используемого в командах для запуска, остановки и изменения состояния службы.
Как вы, наверное, уже догадались, имена служб и их описания хранятся в системном реестре. Чтобы изменить имя-описание нужной вам службы, придется лезть в реестр, впрочем, с таким же успехом вы можете воспользоваться штатной консольной утилитой sc.exe , запустив ее из командной строки и соответствующими параметрами. Изменим для примера имя службы Windows Search, отвечающей за индексирование контента на дисках. Первым делом определяем истинное имя службы, указанное в соответствующей колонке Диспетчера задач или оснастки управления службами. Это WSearch.
Если служба в данный момент активна, останавливаем ее из оснастки управления службами или командной строки, выполнив команду sc stop WSearch .
Затем открываем редактор реестра и разворачиваем ветку HKLM\SYSTEM\CurrentControlSet\Services\WSearch . Справа находим параметр DisplayName и изменяем его ткущее значение на свое.
В новом описании можно использовать как латиницу, так и кириллицу.
Изменения вступят в силу после перезагрузки компьютера.
Те же самые результаты можно получить, выполнив в запущенной от имени администратора командной строке команду sc config «WSearch» displayname= «Создание индекса» .
После выполнения команды запускаем остановленную службу следующей командой sc start WSearch .
Этот способ хорош тем, что не требует перезагрузки компьютера, чтобы увидеть изменения, достаточно просто закрыть и заново открыть Диспетчер задач или оснастку «Службы».
Аналогичным образом изменяются имена и других служб.
Как изменить имя службы Windows после ее создания
Я создал службу Windows для сервера tomcat, и она работает хорошо, но теперь я хочу изменить имя службы, не удаляя ее.
, есть ли какие-либо шаги cmd \ GUI для изменения имени службы?
2 ответа
@ Ответ bfhd будет работать, если вы просто хотите изменить отображаемое имя (это то, что показано в списке в Services.msc , но не является «реальным» именем службы (которое является именем раздела реестра, содержащего служебную информацию, и используется в API, например OpenService ) . Раздел Замечания этой статьи в MSDN . о именах служб или именах дисплеев немного больше.
К сожалению, нет официального способа изменить имя службы. Однако, возможно, возможно, если вы абсолютно должны переименовать службу, а не просто переустанавливать ее под новым именем по какой-либо причине. Выполните следующие действия:
- Остановить службу. Вероятно, вы будете путать диспетчер управления сервисом, если вы сделаете это на текущей службе. (Вы можете смутить его, так или иначе, это очень хаки.)
- Откройте regedit.exe (Редактор реестра).
- Перейдите к HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services и найдите подраздел с именем своей службы.
- Щелкните правой кнопкой мыши по клавише, который вы нашли на шаге №3, и выберите «Переименовать». Введите новое имя для службы.
- Перезагрузите компьютер. Services.exe , процесс, в котором размещается диспетчер управления службами, не увидит изменения, если только вы это сделаете; попытки запустить переименованный процесс (или вообще не взаимодействовать с ним вообще) не удастся.
Я не обещаю этой работы. Однако, вероятно, стоит попробовать, если по какой-то причине просто переустановка службы под новым именем настолько неприемлема.
Если вы должны сделать это программно, там может существует функция RegRenameKey , которая может выполнить четвертый шаг выше для вас. Я подчеркиваю may , потому что, насколько я могу судить, эта функция является полностью неофициальной; это не в MSDN, и об этом мало информации. Единственное, что я нашел, кроме заголовков Windows (которые имеют прототип и указывает, что это только на Vista — NT6.0 — и новее), — это Сообщение форума Sysinternals , в котором указано, что он вызывает NTSC (также недокументированный). Прототип функции, от WinReg.h ,
Программа командной строки Windows для изменения служб — «sc».
Чтобы изменить отображаемое имя службы, которую вы можете запустить:
Чтобы изменить исполняемый файл, вы можете запустить:
Для обеих этих команд убедитесь, что у вас есть пробел между = и новым именем (т.е. displayname= «New Name» , НЕ displayname=»New Name» )