Как перезапустить службу
Перейти к содержимому

Как перезапустить службу

Подойдёт службам, которые запускаются отдельным исполняемым файлом.

Запускаем services.msc и смотрим свойства интересующей службы. На вкладке «Общие» запоминаем команду запуска и имя исполняемого файла.

taskkill /f /im имя_исполняемого_файла команда_запуска

Имейте в виду, что в этом случае служба запустится от имени текущего пользователя.

Как вариант, можно указать автоматический перезапуск службы в случае любых сбоев — в том же окне свойств, на вкладке «Восстановление». При этом явный запуск службы не потребуется и будет произведён сразу после её остановки. С записью об ошибке в журнал.

Способ 2

net stop имя_службы net start имя_службы

Здесь имя_службы — это выводимое имя, то есть ровно то, что отображается в списке служб. Если имя на русском, например «Автоматическое обновление», то в команду тоже надо писать на русском. Имена с пробелами ограничиваются кавычками:

net stop «Автоматическое обновление» net start «Автоматическое обновление»

И будьте внимательны при написании скриптов: русскоязычные имена служб надо вводить в DOS-кодировке!

З.Ы. При чём тут «net» — непонятно, но это способ перезапуска от производителя.

Как перезапустить УТМ?

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

  1. Transport-Updater
  2. Transport
  3. Transport-Monitoring

Для остановки службы нажмите на строку службы правой кнопки мыши и выберите пункт «Остановить».

После остановки всех служб запустите их заново.

Автоматический перезапуск службы Windows

Автоматический перезапуск службы Windows

Службами в Windows называют программы, которые работают в фоновом режиме, и обычно не требуют никакого взаимодействия с пользователем. Чаще всего, в роли служб выступают какие-то важные программы, которым необходимо быть постоянно запущенными. Однако, поскольку никто не застрахован от каких-либо ошибок в работе аппаратных или программных средств компьютера, такая программа может завершить свою работу в самый неподходящий момент. Чтобы избежать столь неприятного поворота событий, в настройках служб Windows предусмотрена возможность настройки перезапуска служб, в случае её непредвиденного завершения работы.

Настройка перезапуска службы Windows

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

    Для выбора доступны следующие действия:
    • Не выполнять никаких действий — в таком случае, ничего не будет делаться.
    • Перезапуск службы — служба будет повторно запущена.
    • Запуск программы — можно запустить программу или скрипт, например скрипт для отправки оповещения по электронной почте.
    • Перезагрузка компьютера — как должно быть понятно из названия данного пункта, компьютер будет перезагружен.

Таким образом, для перезапуска службы в случае её завершения, достаточно выставить значение «Перезапуск службы» во всех трех пунктах.

Использование утилиты sc

Так же, подобную настройку можно выполнить при помощи утилиты SC. Узнать текущие настройки можно использовав параметр qfailure :

sc qfailure [ИМЯ СЛУЖБЫ]

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

sc failure [ИМЯ СЛУЖБЫ] [ПАРАМЕТРЫ]

Список параметров следующий:

  • reset — значение в миллисекундах, по достижению которого счетчик сбоев будет сброшен. Используется совместно с параметром actions.
  • reboot — сообщение, которое будет выведено при перезагрузке компьютера в том случае, если её выполнение указано в настройках восстановления службы.
  • command команда, которую следует выполнить при сбое.
  • actions — действия, выполняемые при сбое. Всего их три: run , restart , reboot .
    Данный параметр требует так же указание параметра reset.

Примеры

Для того, чтобы не выполнять никаких действий:

sc failure [ИМЯ СЛУЖБЫ] reset= 86400 actions= //

Для бесконечного перезапуска службы через 1 минуту:

sc failure [ИМЯ СЛУЖБЫ] reset= 86400 actions= restart/60000

Restart-Service

Командлет Restart-Service отправляет сообщение остановки, а затем начальное сообщение контроллеру службы Windows для указанной службы. Если служба уже остановлена, она запускается без уведомления об ошибке. Службы можно указать по их именам служб или отображаемым именам, а также можно использовать параметр InputObject для передачи объекта, представляющего каждую службу, которую требуется перезапустить.

Примеры

Пример 1. Перезапуск службы на локальном компьютере

PS C:\> Restart-Service -Name winmgmt

Эта команда перезапускает службу инструментария управления Windows (WinMgmt) на локальном компьютере.

Пример 2. Исключение службы

PS C:\> Restart-Service -DisplayName "net*" -Exclude "net logon"

Эта команда перезапускает службы с отображаемым именем, которое начинается с Net, за исключением службы Net Logon.

Пример 3. Запуск всех остановленных сетевых служб

PS C:\> Get-Service -Name "net*" | Where-Object | Restart-Service

Эта команда запускает все остановленные сетевые службы на компьютере.

Эта команда использует Get-Service командлет для получения объектов, представляющих службы, имя службы которых начинается с net. Оператор конвейера ( | ) отправляет объект Where-Object служб командлету, который выбирает только службы, имеющие состояние остановленного. Другой оператор конвейера отправляет выбранные службы Restart-Service в .

На практике можно использовать параметр WhatIf для определения эффекта от команды, перед тем как выполнять ее.

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Type: SwitchParameter
Aliases: cf
Position: Named
Default value: False
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-DisplayName

Указывает отображаемые имена перезапускаемых служб. Можно использовать подстановочные знаки.

Type: String [ ]
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: True

-Exclude

Указывает службы, которые пропускает этот командлет. Значение этого параметра определяет значение параметра Name. Введите часть имени или шаблон, например «s*». Можно использовать подстановочные знаки.

Type: String [ ]
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: True

-Force

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

Type: SwitchParameter
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Include

Указывает службы, которые этот командлет перезапускает. Значение этого параметра определяет значение параметра Name. Введите часть имени или шаблон, например «s*». Можно использовать подстановочные знаки.

Type: String [ ]
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: True

-InputObject

Указывает объекты ServiceController, представляющие службы для перезапуска. Введите переменную, которая содержит объекты, или команду или выражение, которое возвращает объекты.

Type: ServiceController [ ]
Position: 0
Default value: None
Required: True
Accept pipeline input: True
Accept wildcard characters: False

-Name

Указывает имена перезапускаемых служб.

Type: String [ ]
Aliases: ServiceName
Position: 0
Default value: None
Required: True
Accept pipeline input: True
Accept wildcard characters: True

-PassThru

Возвращает объект, представляющий службу. По умолчанию этот командлет не создает выходные данные.

Type: SwitchParameter
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Type: SwitchParameter
Aliases: wi
Position: Named
Default value: False
Required: False
Accept pipeline input: False
Accept wildcard characters: False

Входные данные

Объект службы можно передать в этот командлет.

Можно передать строку, содержащую имя службы в этот командлет.

Выходные данные

None

По умолчанию этот командлет не возвращает выходные данные.

При использовании параметра PassThru этот командлет возвращает объект ServiceController , представляющий перезапущенную службу.

Примечания

Этот командлет доступен только на платформах Windows.

  • Restart-Service может управлять службами только в том случае, если у текущего пользователя есть разрешение на это. Если команда работает неправильно, возможно, у вас нет необходимых разрешений.
  • Чтобы найти имена служб и отображаемые имена служб в системе, введите Get-Service «. Имена служб отображаются в столбце Name, а отображаемые имена — в столбце DisplayName.

Связанные ссылки

  • Get-Service
  • New-Service
  • Resume-Service
  • Set-Service
  • Start-Service
  • Stop-Service
  • Suspend-Service
  • Remove-Service

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

PowerShell is an open source project. Select a link to provide feedback:

Обратная связь

Отправить и просмотреть отзыв по

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *