Saturday, October 3, 2009

Автоматическое подключение к беспроводной сети в Windows Vista, Windows 7

Проблема.
В Windows XP можно было подключаться к беспроводной adhoc сети автоматически. Начиная с Windows Vista, такая возможность была отрезана. Намерения, возможно, были благими (безопасность), однако покупать точку доступа для сети из 2 - 3-х компьютеров все же не хочется.

Кроме того, что теперь приходится подключаться к сети вручную, стало невозможным пользоваться сервисами для удаленной работы с компьютерами такой сети, например, удаленное управление рабочим столом. Проблема заключается в том, что мы не можем подключиться к такому компьютеру, потому как его подключение к сети происходит в ручном режиме.

Решение.
Написать задание для планировщика. Коротко, это делается так: создаем задание; добавляем триггер: при входе в систему, на всякий случай включаем паузу в несколько секунд; указываем действие: запуск программы netsh с параметрами wlan connect name=имя_сети.

Этого будет достаточно для подключения к сети на компьютере-владельце этой сети. Для того, чтобы смогли подключиться остальные компьютеры, понадобится выполнить еще одну операцию.

Дело в том, что теперь, начиная с Vista, операционная система не сохраняет профиль временной сети, а именно таковой является adhoc сеть и выполнение планировщиком назначенной задачи не принесет положительных результатов. Если вы попытаетесь ввести ту же команду в командной строке, то узнаете почему: "Указанный профиль сети не назначен интерфейсу". Это и означает, что профиль не сохраняется. Эту проблему мы решим, добавив профиль вручную. Автоматически сделать это не получится, так как профиль сохранен будет до первой перезагрузки.

Итак, нам нужно достать XML файл профиля подключения к сети. Создать его самостоятельно не получится, так как будет не возможным задать хеш-код входа в сеть. Поэтому делаем так: подключаемся к сети вручную, как обычно. И находим этот файл в папке "c:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces". Если будут какие-то проблемы с нахождением файла, дам совет: просто устройте поиск по диску xml файлов, содержащих имя вашей сети. После того, как файл будет найден, скопируйте его в удобную для вас папку, поменяв заодно имя файла на более вменяемое.

Этот файл нужно будет поправить в двух местах. Во-первых, поменять тип сети с ESS (infrastructure) на IBSS (adhoc). И, во-вторых, тип подключения с auto на manual: manual. Сохраняем файл.

И, наконец, последняя операция: добавление профиля сети к интерфейсу. Для этого в командной строке вводим netsh wlan add profile filename="путь к xml файлу".

Все, теперь подключение к сети будет происходить автоматически :).

p.s. Либо воспользуйтесь программами типа Maxidix Wifi Suite (http://www.maxidix.com/products/wifi-suite). Она позволяет легко настроить автоматическое подключение к сетям компьютер-компьютер, выводит информацию о подключении и окружающих сетях, предоставляет геолокацию по беспроводным сетям и много чего еще.

6 comments:

Unknown said...

пишет ошибку "Не удалось добавить профиль к интерфейсу "Беспроводное сетевое соединение". Оши
ка 0x80010: Невозможно задать автопереключение для сети компьютер-компьютер."

Dmitry Korotkov said...

Спасибо за пост. Всё понятно с windows 7. Есть хороший повод ее снести :)

Anonymous said...

Отличный пост! Большое спасибо, всё настроил!

Unknown said...

Спасибо за информацию получилось! Только в начале выдавало ошибку: 0x80010: Невозможно задать автопереключение для сети компьютер-компьютер. После чего я поменял параметр в xml файле true на false и всё получилось

Unknown said...

А у меня нет xml-файла вообще нигде при подключенной сети..и при отключенной тоже..Что делать?

idxDmitry said...

Два варианта:
1) Воссоздать точную копию сети у себя стандартными средствами на этом компьютере
2) Воспользуйтесь программой указанной в посте. Подключитесь к вашей сети с помощью Wifi Suite - она создаст профиль сети, затем с ее же помощью вы этот профиль можете экспортировать в файл. Программа платная, но за 15 дней триала вы успеете это сделать.