Как я могу запустить службу, которая имеет статус "остановлен", используя сценарий cmd ?

4 ответа4

5

Вы можете использовать sc .

sc query

Перечисляет все запущенные службы, установленные на вашем компьютере.

sc query > c:\services.txt

Выводит список всех запущенных сервисов в файл с именем services.txt на C:.

sc query state= inactive

Перечисляет все остановленные службы, установленные на вашем компьютере.

sc query state= inactive > c:\dis_services.txt

Выводит список всех остановленных служб в файл с именем dis_services.txt в C:.

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.

1

Согласно ответу Ларссенда, просмотрите этот ответ с описанием SC : https://stackoverflow.com/a/133926/1776789. Для меня это работает нормально.

0

Вот образец партии (*.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 ServiceName .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .