Недавно понадобилось перезапустить на удаленных машинах NT-сервисы (NT-services). Сразу вопрос - почему это не делать локально?
- Сложно администрировать. Вам надо что-то настроить на каждой машине (их было 30).
- Если поменяется удаленный компьютер, то надо соответствующим образом настраивать новый компьютер (снова трата времени)
- Мне в принципе надо было останавливать сервис (и потом запускать его) в определенных случаях.
Решение достаточно простое. В винде есть утилита, которая работать играть с сервисами - sc.exe (Service Control).
Синтаксис
command - команда. Их там много, ask g00gle. Нас интересует start и stop.
service_name - название сервиса. NB! Название сервиса, это не то что показано в Services.msc (Это display_name)
Для получения имя сервиса, используйте параметр query или queryex
Смотрим Service_name - имя сервиса (то что нам надо)
Ну и далее sc.exe stop "wlankeeper"
Ну или так sc.exe \\10.1.1.112 stop "wlankeeper"
Получаем ответ
SERVICE_NAME: wlankeeper- Сложно администрировать. Вам надо что-то настроить на каждой машине (их было 30).
- Если поменяется удаленный компьютер, то надо соответствующим образом настраивать новый компьютер (снова трата времени)
- Мне в принципе надо было останавливать сервис (и потом запускать его) в определенных случаях.
Решение достаточно простое. В винде есть утилита, которая работать играть с сервисами - sc.exe (Service Control).
Синтаксис
SC [\\server] [command] [service_name] [Options]\\server - путь к машине, где находится сервис. Для локальных сервисов параметр пропускаем.
command - команда. Их там много, ask g00gle. Нас интересует start и stop.
service_name - название сервиса. NB! Название сервиса, это не то что показано в Services.msc (Это display_name)
Для получения имя сервиса, используйте параметр query или queryex
Смотрим Service_name - имя сервиса (то что нам надо)
Ну и далее sc.exe stop "wlankeeper"
Ну или так sc.exe \\10.1.1.112 stop "wlankeeper"
Получаем ответ
TYPE : 110 WIN32_OWN_PROCESS (interactive)
STATE : 3 STOP_PENDING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN))
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
Теперь о правах. У вас должны быть соответствующие привилегии для управления сервисами (удаленный комп в домейне, sc.exe запущен с соответствующими правами и под правильным пользователем) .
Если прав нет, ничего не случится. Вам об этом конечно сообщат:
FAILED 5: Access is denied
Кстати, может так получится, что права на остановку сервиса у вас есть, а на запуск нет (что на одной машине и произошло) :)
FAILED 5: Access is denied
Кстати, может так получится, что права на остановку сервиса у вас есть, а на запуск нет (что на одной машине и произошло) :)
No comments:
Post a Comment