"А зачем это делать из cmd?" - можете спросить вы.
А как еще остановить службу находясь под ограниченной учетной записью?
Просто запускаете командную строку в режиме "запустить от имени..." администратора и можете управлять службами даже под ограниченной учетной записью.
Для управление службами есть специальная утилита командной строки
SC:
Описание:
SC представляет собой программу командной строки, используемую
для связи со службами и диспетчером управления службами.
Использование:
sc <сервер> [команда] [имя службы] <параметр1> <параметр2>...
Параметр <сервер> задается в формате "\Имя_сервера".
Для получения справки о командах введите "sc [команда]"
Команды:
query-----------Запрос состояния службы или перечисление
состояний типов служб.
queryex---------Запрос расширенного состояния службы или
перечисление состояний типов служб.
start-----------Запуск службы.
pause-----------Отправка службе управляющего запроса PAUSE.
interrogate-----Отправка службе управляющего запроса INTERROGATE.
continue--------Отправка службе управляющего запроса CONTINUE.
stop------------Отправка службе запроса STOP.
config----------Изменение конфигурации службы (постоянное).
description-----Изменение описания службы.
failure---------Изменение действия, выполняемого службой при сбое.
failureflag-----Изменение флага действия, выполняемого службой при
сбое.
sidtype---------Изменение типа SID службы.
privs-----------Изменение привилегий, требуемых для службы.
qc--------------Запрос данных конфигурации для службы.
qdescription----Запрос описания службы.
qfailure--------Запрос действия, выполняемого службой при сбое.
qfailureflag----Запрос флага действия, выполняемого службой при сбое.
qsidtype--------Запрос типа SID службы.
qprivs----------Запрос привилегий, требуемых для службы.
qtriggerinfo----Запрос параметров службы.
qpreferrednode--Запрос предпочтительного узла NUMA службы.
delete----------Удаление службы (из реестра).
create----------Создание службы (добавление ее в реестр).
control---------Отправка службе управляющего сигнала.
sdshow----------Отображение дескриптора безопасности службы.
sdset-----------Установка дескриптора безопасности службы.
showsid---------Отображение строки SID службы, соответствующей
произвольному имени.
triggerinfo-----Настройка параметров триггеров службы.
preferrednode---Задание предпочтительного узла NUMA службы.
GetDisplayName--Получение параметра DisplayName для службы.
GetKeyName------Получение имени раздела для службы (ServiceKeyName).
EnumDepend------Перечисление зависимостей службы.
Следующие команды не требуют имени службы:
sc <сервер> <команда> <параметры>
boot------------(ok | bad) Показывает, требуется ли сохранить
последнюю загрузку в качестве последней удачной
конфигурации загрузки
Lock------------Блокировка базы данных служб
QueryLock-------Запрос состояния блокировки (LockStatus) базы данных
диспетчера управления службами (SCManager)
Пример:
sc start MyService
Например, нам потребовалось остановить Брандмауэр Windows.
Системное имя брандмауэра - SharedAccess
Проверим его состояние:
C:\>sc query SharedAccess
SERVICE_NAME: SharedAccess
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 4 RUNNING
(STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:\>
Видим, что состояние
STATE : 4 RUNNING - т.е. запущена.
Остановим ее:
C:\>sc stop SharedAccess
SERVICE_NAME: SharedAccess
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 3 STOP_PENDING
(STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:\>
Можно заменить, что состояние службы стало
STOP_PENDING = останавливается.
Проверим:
C:\>sc query SharedAccess
SERVICE_NAME: SharedAccess
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 1 STOPPED
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:\>
STATE : 1 STOPPED = остановлена
