Как запустить службу, имеющую статус «остановлена», с помощью cmd
скрипта?
решение1
Вы можете использовать sc
.
sc query
Список всех запущенных служб, установленных на вашем компьютере.
sc query > c:\services.txt
Сохраняет список всех запущенных служб в файл с именемуслуги.txtв С:.
sc query state= inactive
Список всех остановленных служб, установленных на вашем компьютере.
sc query state= inactive > c:\dis_services.txt
Сохраняет список всех остановленных служб в файл с именемdis_services.txtв С:.
sc start [service_name]
Запускает службу с именем [service_name], например:
sc start Spooler
Запускает службу диспетчера очереди печати.
sc stop [service_name]
Останавливает службу с именем [service_name], например:
sc stop Spooler
Останавливает службу диспетчера очереди печати.
решение2
Если вы используете Powershell, то вы можете использовать следующие команды:
get-service
start-service
stop-service
sc не работает в PowerShell сразу, так как она связана с командой set-content.
решение3
В соответствии сЛарссендответ просмотреть этот ответ сСКописание:https://stackoverflow.com/a/133926/1776789. У меня все отлично работает.
решение4
Вот пример пакетного файла (*.BAT), который я использую для запуска локальных экземпляров SQL Server (работающих как службы Windows):
@Echo Off
NET START MSSQLSERVER
NET START MSSQL$SECONDARY
NET START MSSQL$CMS
Аналогично, следующее останавливает их всех, одного за другим:
@Echo Off
NET STOP MSSQLSERVER
NET STOP MSSQL$SECONDARY
NET STOP MSSQL$CMS
Итак, используйтеNET START|STOP Имя_службыкоманда.