пятница, 30 января 2015 г.

Серия "В один клик" : включить-отключить подключение Kerio VPN

"Бытие определяет сознание". Это я к чему? Первые мои комьютеры были настолько дохлыми, что на всю жизнь осталась привычка – отключать всё ненужное! 

Например, зачем будет болтаться служба Kerio VPN, а уж тем более агент в трее? Не нужен! И чтобы включался-отключался в один клик, конечно.

Итак, задача:



иногда я пользуюсь клиентом VPN для синхронизации с удалённым сервером. В остальное время этот VPN мне не нужен. Так что хочу: кликнул, всё включилось, синхронизировал, кликнул – всё выключилось.
Код (мой "любимый" cmd) очень простой:


@ECHO OFF
sc query KVPNCSvc | find "RUNNING"
if %ERRORLEVEL%==1 (
     net start KVPNCSvc
     start "" "C:\progs\kerioVPN\VPN Client\kvpncgui.exe" /tray
) else (
     TASKKILL /F /t /IM kvpncgui.exe
     net stop KVPNCSvc
)


Что здесь есть нового (чего не было в посте про bluetooth, например)?
Во-первых, "sc".
"SC" – это такая полезная команда Windows, говоря просто – консольный аналог окна "Управление - Службы". Команда умеет много чего, хорошо про неё написано здесь: http://www.windowsfaq.ru/content/view/84/57/
Нам пригодится, прежде всего, запрос статуса службы, что мы и делаем командой "sc query KVPNCSvc".
Во-вторых, 
start "" "C:\progs\kerioVPN\VPN Client\kvpncgui.exe" /tray
Зачем там две кавычки? Дело в том, что если сделать просто start, то командный файл повиснет. Клиент Керио ничего не возвращает запускающему его процессу, и бедный cmd будет бесконечно висеть в ожидании и не перейдёт к следующей команде.

В выводе команды мы ищем строку "RUNNING", если находим – выключаем всё, если не находим – соответственно, включаем. Просто и удобно, в один клик.


P.S. Не забудь сохранить логин и пароль в клиенте Керио и поставить галку "подключаться автоматически". Режим командной строки у этого продукта Керио на сегодняшний день не работает, к сожалению.

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

Отправить комментарий