пятница, 20 апреля 2007 г.

Как обуздать Windows Service

По своей работе частенько приходиться ковыряться с самописными Windows Service на удаленных машинах.

Можно достаточно быстро и удобно это делать из командной строки:
Посмотреть статус сервиса - sc query <имя сервися>
Запустить сервис - net start <имя сервиса>
Остановить сервис - net stop <имя сервиса>

Есть так же возможность делать запуск/останов сервиса командами sc start <имя сервиса> и sc stop <имя сервиса>, но при этом команда отправляет сигнал сервису и сразу же возвращает управление консоли.

Мне лично такой вариант меньше подходит, потому как меня интересует синхронная команда. В случае с net start и net stop я вижу сколько приблизительно времени занимает операция запуска и останова сервиса и сразу же смогу обратить внимание на случаи, когда подобные операции с сервисом заканчиваются неудачей.

Можно так же удобно управлять удаленными Windows службами при наличии необходимых прав:
sc <имя компьютера> <команда> <имя сервиса>

Например мы хотим узнать статус службы dhcp (это служба "DHCP клиент") на компьютере с сетевым именем notebook :)
sc \\notebook query dhcp

Комментариев нет: