html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Автозапуск подключения PPPoE без входа в учётную запись из песочницы tutorial

Я хотел бы поведать об одном трюке, который можно провернуть при помощи планировщика заданий в Windows.
У меня установлена Windows 7, а также есть PPPoE-подключение от нашего городского кабельного провайдера.
Задача состоит в том, чтобы включать это подключение сразу же после того, как в винде поднимается подключение к локальной сети, и пользователь может быть ещё даже не вошёл в свою учётную запись.
В большинстве своём инструкции, которые можно найти в рунете, сводятся к вынесению ярлыка подключения в автозапуск. Здесь же иной случай. Необходимо, чтобы подключение производилось ещё до входа в учётную запись пользователя.
Забегая вперёд, скажу, что таким же образом можно сделать выполнение любой другой команды, причём не только при подключении к какой-либо проводной сети, но и к Wi-Fi.
Я привожу полное описание, с кучей скриншотов, как для новичков.

Итак, что у нас есть:
• Windows, в которой есть несколько учётных записей (я создал ещё одну учётку, для наглядности), и Вы не хотите делать автовход в какую-либо из них.

• Подключение с использованием PPPoE, которое необходимо включать сразу после инициализации нужной сети.
• Отсутствует роутер, который на корню решил бы эту проблему, самостоятельно подключаясь и раздавая интернет компам в локальной сети. Ну или роутер не нужен в принципе.

Выясняем уникальный идентификатор подключения (GUID)


Идём в «Пуск» – «Панель управления» – «Система и безопасность» – внизу под «Администрированием» выбираем «Просмотр журналов событий».

В открывшемся окне слева идём по такому пути: «Журналы приложений и служб»/«Microsoft»/«Windows»/«Network Profile»/«Выполняется», находим там строчки с кодом события «10000».

Cреди них находим ту, что относится к нужной сети, у меня это «Сеть 2». Переключаемся на вкладку «Подробности», и вот он, нужный нам GUID.

Сразу можно включить «Режим XML», и просмотреть кусок XML-представления «<EventData>...</EventData>».

В качестве ещё одного варианта, Вы можете найти нужный GUID в реестре по следующему пути:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

Нужный мне GUID – «{80362A4A-DAFB-4B7E-B00C-22AC773E35A3}».
Пример XML-представления события:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
	<System>
		<Provider Name="Microsoft-Windows-NetworkProfile" Guid="{FBCFAC3F-8459-419F-8E48-1F0B49CDB85E}" /> 
		<EventID>10000</EventID> 
		<Version>0</Version> 
		<Level>4</Level> 
		<Task>0</Task> 
		<Opcode>0</Opcode> 
		<Keywords>0x4000200000000000</Keywords> 
		<TimeCreated SystemTime="2013-04-28T11:26:41.252839400Z" /> 
		<EventRecordID>157</EventRecordID> 
		<Correlation /> 
		<Execution ProcessID="572" ThreadID="1664" /> 
		<Channel>Microsoft-Windows-NetworkProfile/Operational</Channel> 
		<Computer>HWin7VM0-PC</Computer> 
		<Security UserID="S-1-5-19" /> 
	</System>
	<EventData>
		<Data Name="Name">Сеть 2</Data> 
		<Data Name="Description">Сеть</Data> 
		<Data Name="Guid">{80362A4A-DAFB-4B7E-B00C-22AC773E35A3}</Data> 
		<Data Name="Type">0</Data> 
		<Data Name="State">17</Data> 
		<Data Name="Category">1</Data> 
	</EventData>
</Event>

Здесь я вижу, что был подключен сетевой профиль «Сеть 2», и вижу его GUID в строке «<Data Name="Guid">{80362A4A-DAFB-4B7E-B00C-22AC773E35A3}</Data>».

Создаём .bat-файл


Вам следует убедиться, что PPPoE-соединение у вас настроено так, что его могут использовать все пользователи, если Вы хотите, чтобы подключение производилось от пользователя «Система» или от другой учётной записи. Это необходимо для случая, когда у учётной записи, которую Вы обычно используете, отсутствует пароль на вход. Позже я об этом напомню ещё раз.
Я предполагаю, что соединение у Вас уже настроено, единственное, что необходимо сделать – это создать .bat-файл, в котором нужно будет написать
rasdial MyDearProvider login password
где rasdial – консольное приложение, при помощи которого можно установить соединение, «MyDearProvider» — имя PPPoE подключения, которое необходимо подключить, а «login» и «password», соответственно, логин и пароль к подключению. Сразу в консоли можете проверить, выполняется ли подключение к интернету, запустив этот файл, или можно обойтись без консоли, в целях отладки поставив в следующей строке команду «pause» и запуская файл, но не забудьте убрать потом команду pause, когда добьётесь того, что запуск .bat-файла на выполнение приведёт к подключению к интернету.

Создаём задание в планировщике


Идём в «Пуск» – «Панель управления» – «Система и безопасность» – внизу под «Администрированием» выбираем «Расписание выполнения задач».

Запустится планировщик задач, где слева нужно выбрать «Библиотека планировщика задач», и в правой части окна нажать «Создать задачу…».

В открывшемся окне на вкладке «Общие» заполняем «Имя», например, «Autoconnect_MyDearProvider», ниже в «Параметрах безопасности» выбираем нужного пользователя, от кого будет выполняться подключение, затем «Выполнять вне зависимости от регистрации пользователя», однако, если у выбранного пользователя отсутствует пароль на вход в учётную запись, то подключение не будет производиться, если пользователь не вошёл в систему. В случае, если у вас отсутствует пароль для учётной записи, выберите в качестве пользователя «система». Наивысшие права для задачи не нужны.

На вкладке «Триггеры» будет самое интересное. Нажимаем кнопку «Создать», в открывшемся окне в выпадающем списке «Начать задачу:» выбираем «При событии».
В «Дополнительных параметрах» можно настроить отложенный запуск, я поставил 15 секунд, но потом менял это значение на 5 секунд, потому что надоело ждать, когда тестировал всё это.
В «Параметрах» выбираем «Настраиваемое», чуть правее нажимаем «Создать фильтр события».

Появится окно создания фильтра события. Можно заполнить каркас для фильтра средствами, представленными на вкладке «Фильтр», а потом перейти к XML-представлению созданного фильтра.
Выбираем в поле журналов событий следующее: «Журналы приложений и служб»/«Microsoft»/«Windows»/«Network Profile»/«Выполняется». Ставим возле «Выполняется» галку.

Затем в качестве источника событий выбираем «NetworkProfile».
Код события указываем «10000».
Выглядеть это должно вот так:

Переходим на вкладку «XML», и видим следующее:

Необходимо отредактировать это, иначе триггер будет срабатывать на подключение вообще любой сети, даже на подключение самого PPPoE-подключения.
Нажимаем на галку «Изменить запрос вручную».
Появится предупреждение, что в дальнейшем мы не сможем воспользоваться вкладкой «Фильтр» для настройки этого фильтра, соглашаемся продолжить, нажимая «Да». Получаем следующее:

В месте, где у меня находится курсор (прямо перед закрывающим тегом </Select>), необходимо добавить ещё одно условие.
Дописываем туда «and *[EventData[Data[@Name='Guid']='{80362A4A-DAFB-4B7E-B00C-22AC773E35A3}']]», поменяв мой GUID «{80362A4A-DAFB-4B7E-B00C-22AC773E35A3}» на какой-то свой.

Нажимаем ОК, чтобы закрыть окно настройки фильтра, и ещё раз ОК, чтобы закрыть настройки триггера. Можете выбрать вновь созданный триггер, нажать «Изменить…», и убедиться, что в дополнительных параметрах осталась включенной настройка «Отложить на:» с нужным количеством времени, у меня эта опция почему-то не сохранилась с первого раза.
На вкладке «Действия» нажимаем «Создать», в открывшемся окне выбираем «Запуск программы», затем нажимаем «Обзор…», и указываем, где находится наш .bat-файл. Кстати, вместо того, чтобы создавать .bat-файл, можно было просто написать в поле «Программа или сценарий» команду rasdial, а в поле с аргументами вписать «MyDearProvider login password», это было бы эквивалентно запуску .bat-файла. Однако, мне кажется, удобнее править текстовый файл, чем бродить по настройкам планировщика задач в поисках нужного поля.

Нажимаем ОК, и затем переходим на вкладку «Условия».
Здесь убираем галку «Запускать только при питании от электросети», если это не нужно. Устанавливаем опцию «Запускать только при подключении к следующей сети:» — ставим ту сеть, которую только что настраивали. В этом нет необходимости, так как фильтр, настроенный ранее, уже содержит в себе это условие, однако, мало ли что может пойти не так, я решил оставить эту настройку включенной.

И, наконец, вкладка «Параметры». Здесь можно оставить включенными «Разрешать выполнение задачи по требованию» и «Принудительная остановка задачи, если она не останавливается по запросу». Нужно снять галку с «Останавливать задачу, выполняемую дольше:».
Для того, чтобы избежать такого случая, как «невозможно подключение с первого раза», можно включить галку «При сбое выполнения перезапускать через:», и выставить какой-то период ожидания, например, 1 минуту. Количество попыток перезапуска я поставил 6. Думаю уж за 6 минут-то должно подключиться.

Наконец, нажимаем «Ок», и получаем необходимое.

Справа нужно нажать на надпись «Включить журнал всех заданий», это поможет при отладке выполнения задачи. После настройки журнал можно отключить.
Переходим в «Центр управления сетями и общим доступом».

Cлева нажимаем «Изменение параметров адаптера», и попадаем в «Сетевые подключения». Выбираем «Подключение по локальной сети», отключаем его. Затем заново включаем и ждём 15 секунд (или столько, сколько настроили в триггере). Под названием PPPoE-подключения через некоторое время должен измениться статус подключения, а в журнале планировщика задач более-менее описаны происходящие события.
Далее Вы можете проверить, как компьютер ведёт себя, перезагрузив его, и дождавшись, когда появится приглашение выбрать пользователя. Если подождать некоторое время, не выбирая пользователя, винда всё равно должна подключиться к PPPoE, даже если ни один пользователь не вошёл в систему. Если у вас статический IP-адрес, тогда проверить, что компьютер подключен к интернету, легче. В моём же случае IP-адрес выдаётся динамически, поэтому я использую DDNS-сервис.
Итак, засекаем, сколько сейчас времени, чтобы потом знать, откуда смотреть логи в журнале задания, и перезагружаем компьютер.
К сожалению, в случае, когда задание выполняется от системы или от другого пользователя, отключить PPPoE-соединение будет возможно только выполнив команду «rasdial MyDearProvider /disconnect» от администратора.

Заключение


Для чего Вам это нужно – решайте сами. Мне, например, это было нужно, чтобы заходить по VNC на комп и иметь возможность перезагрузить его в случае необходимости.
Для тех, кто хочет поэкспериментировать с WiFi-подключением – необходимый журнал находится здесь: «Журналы приложений и служб»/«Microsoft»/«Windows»/«WLAN-AutoConfig»/«Operational». Там можно отловить подключение к какой-то WiFi-сети по её SSID.
UPD: Здесь кроется одно «но»: в журнал NetworkProfile не записывается код 10000 в случае, если Windows выходит из режима гибернации. Однако Windows 7 записывает событие с номером 300 в журнал Microsoft-Windows-Diagnostics-Performance. Вы можете просто добавить ещё один триггер для включения задачи. Это вполне применимо, если компьютер стационарный.

Материалы, которые были использованы в этом топике:


superuser.com/questions/262799/how-to-launch-a-command-on-network-connection-disconnection — описание создания задачи с собственным фильтром.
social.technet.microsoft.com/Forums/en-US/winservergen/thread/fac16f3c-d088-4d66-83d8-7139261dea83/ — Как выполнить трассировку сети при возникновении ошибки. Примерно то же самое, что и по предыдущей ссылке, только описания чуть поболее.
superuser.com/questions/92414/how-to-run-a-program-when-connecting-to-a-specific-network-in-windows-7 — случай с WiFi-подключением.
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

2

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции