понедельник, 24 марта 2008 г.

Второй вопрос с запуска. Установление VPN соединения из скрипта.

Вопрос был о том, как в Vista автоматически (точнее из скрипта или .bat файла) соединиться с VPN сервером.
Многим этот вопрос покажется несерьезным, особенно по сравнению с запуском трех великолепных продуктов, однако:
1) вопрос был задан и требует ответа
2) а чем человек, задавший его хуже сисадмина большой распределенной сети - он тоже решает свою задачу и заслуживает в ней помощи
3) кто я такой, чтобы решать, что важно, а что нет =)
4) я не знал ответа на этот вопрос. ;)
и 5) когда я начал копать, то был крайне удивлен многобразию способов (а я еще не все нашел, наверняка) и тому, как много я забыл =)

Итак, есть как минимум два подхода для решения этой задачи:

  • настройка Dial-On-Demand соединения
  • скрипты.

Начнем, разнообразия ради, со второго метода. Тут все очень просто. Создадим, для примера, соединение "VPN_Connection". Введем пароль и пользователя, запомним их и, зайдя в параметры соединения. Там, на вкладке "Параметры" нужно снять галочки "Отображать ход подключения" и "Запрашивать имя, пароль, сертификат и т.д.".
options
Как нетрудно догадаться, эти нехитрые манипуляции позволяют нам сделать соединение устанавливаемым без излишних вопросов и прочих спецэффектов.

Теперь, собственно, нужно создать файлы, которыми мы будем стартовать соединение. Создадим папку c:\vpn и создадим там ярлык для этого соединения, скажем, для простоты "VPN_Connection.lnk". А теперь мы можем запускать этот ярлык как нам захочется:

1) можно поместить его в папку "Автозагрузка", тогда соединение, по идее, должно стартовать автоматически. Надо попробовать у себя дома, хтя я сомневаюсь, что на моем дохлом ноутбуке этот номер пройдет ;)

2) можно создать .bat файл следующего содержимого:

c:\vpn\vpn_connection.lnk

и запускать его откуда нам заблагорассудится.

3) наконец, можно создать какой-нибудь супер-пупер-мега-скрипт, в котором будет масса различных обработок ошибок и прочая безусловно нужная нам начинка. Я голосую за PowerShell. Там для этого можно использовать командлет

Invoke-Item c:\vpn\vpn_connection.lnk

А уж что прописывать в качестве дополнительных проверок и действий - решайте сами %)

Note: не забывайте брать в кавычки пулный путь к файлу, если он содержит пробелы. Как-то так, например:

Invoke-Item "c:\vpn Connection\Vpn Connection.lnk"

Теперь, поговорим о Demand Dial или Dial On Demand. Тут все еще проще. В дополнение к настройкам, произведенным во вкладке "Параметры" в начале разговора о предыдущем методе, нужно еще перейти на вкладку "Доступ" и поставить галочки "Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера" и "Устанавливать подключение при попытке доступа к Интернету".

share
В этом случае при любой попытке выйти в интернет должно автоматически устанавливаться соединение с VPN сервером. Однако, если у Вас есть второй интерфейс, включенный в какую-нибудь сеть и Вы невзначай поставите, что пользователи этой второй сети могут пользоваться Вашим соединением, то

а) они действительно при желании смогут это сделать

б) есть риск "схлопотать по шее" от админа этой сети =)

Заключение:

Собственно, как видно, в этой области мало что поменялось со времен чуть ли не Windows 98, а то и более старых версий (память она только у компьютеров с каждым годом улучшается =) ). Настолько мало изменилось, что я был очень удивлен, вспомнив про еще один способ: команду rasdial, с которой, впрочем, предоставлю читателю возможность разобраться самому - должно же быть в жизни место подвигу ;)

Надеюсь, что ответил на вопрос заданный на Запуске и даже больше.

Ответы, заданные на Launch 2008. Вопросы, подсмотренные у коллег...

В ходе Запуска, как я уже говорил, мне было поручено ответить в блоге на два вопроса, которые я не смог осветить на месте. Один из них, кстати, и был тот, на который я соврал: как запустить скрипт с повышенными привилегиями. Я сказал, что об этом было написано в статье Марка Русиновича в TechNet Magazine, но немного ошибся: в этой статье было написано лишь про UAC и как он работает (всего лишь, ага... =0) ). А ответ на вопрос был дан моим товарищем, MVP и просто хорошим человеком и специалистом Ильёй Сазоновым в его блоге.
Вкратце все сводится к трем вариантам:
1) Запустить скрипт из командной строки, которую уже запустили с повышенными привилегиями.
2) Запустить скрипт через scheduler под правами пользователя с административными полномочиями.
3) Запустить скрипт из-под встроенной учетной записи Administrator.
Источник, найденный Ильёй.
Я только хочу напомнить, что по умолчанию учетная запись, упомянутая в п.3 в Vista заблокирована из соображений безопасности. Будьте осторожны с ее включением.
UPD: только что товарищЬ Проничкин в комментариях напомнил мне четвертый способ, который я имел в виду на Запуске и забыл. Так что добро пожаловать в Комментарии ;)
P.S. Значит только одному товарищу соврал. Вспомнить бы еще в чем ;)

четверг, 20 марта 2008 г.

Launch прошел, {герои} остались.

Вчера думал, что не смогу встать с постели, настолько вымотался на запуске. Отвечать пришлось много (спасибо организаторам: на сей раз наша зона была практически в центре "караванных путей"). Не на все смог ответить, хотя отношение отвеченного к неотвеченному было высоким, как мне кажется. 5-6:1, если навскидку. Достаточно много, учитывая, что практического опыта у меня нет - только виртуалки и теория.
Одно но... Даже два... Я как минимум двум людям дал неверные ответы. По запарке. Понял это чуть позже, когда уже было поздно исправляться. И забыл, на какие вопросы соврал =(
Простите меня, ребята =)
Ну и плюс еще на два вопроса обещал дать ответы чуть позже в блоге - скоро отвечу.
Спасибо организаторам: были мелкие недочеты, о них я уже им сообщил (да, таки у меня будет репутация ворчуна =) ).
Отдельное спасибо товарищам Экспертам. Даже пытаться перечислять не буду - нас было около 40 человек только MVP, не говоря о сотрудниках MSFT.
И спасибо аудитории - без Вас просто этого праздника не случилось бы =)

понедельник, 17 марта 2008 г.

Герои среди {НАС}


Слегка запоздало (интересная работа это таки проклятие =) ), но все-таки...


Я буду присутствовать на запуске новых продуктов в секции "Спроси эксперта" среди других MVP и прочих специалистов. Время не помню, к сожалению, но по опыту предыдущего мероприятия это будет известно из раздаточных материалов. Впрочем, я не собираюсь надолго покидать означенную секцию, так что пообщаемся ;)