По мере развития Windows в ней появляются новые возможности и пропадают старые. Однако некоторые из них не исчезают бесследно из операционной системы, а лишь исключаются из графического интерфейса. Сегодняшняя заметка из той же серии, что и рассказы о предыдущих версиях файлов и резервном копировании по расписанию.
Читатель Анатолий спросил в почте, как удалить беспроводные сети, к которым его планшет когда-либо подключался. Моя ссылка на справку породила второй вопрос, на который я пообещал ответить в блоге в соответствии с его девизом.
[+] Сегодня в программе
История вопроса
Когда вы подключаетесь к сети Wi-Fi, Windows запоминает ее профиль — SSID (имя сети), ключ и параметры аутентификации, чтобы в следующий раз не задавать лишних вопросов. В Windows 7 до окна «Управление беспроводными сетями» можно добраться из центра управления сетями или поиском.
Однако в Windows 8 этот элемент панели управления заблокировали. Забыть отдельную сеть из текущего радиуса действия Wi-Fi можно было в контекстном меню.
В Windows 8.1 можно быстро забыть сеть, когда к ней удается подключиться. А управление сетями появилось в современной же панели управления: Параметры ПК — Сеть — Подключения — WiFi -Управление известными сетями (спасибо читателю Niks).
Причем список беспроводных сетей синхронизируется между всеми устройствами, в которые вы входите с учетной записью Microsoft, в том числе и на Windows Phone.
В панели управления можно удалять сети только по одной. Я покажу вам прием массового удаления сетей, который можно применять для решения других задач во всех современных ОС Windows.
Что говорит справка Windows
Там до сих пор написано, что нужно использовать командную строку (такое редко встречается в справке для домашних пользователей :) Действительно, можно посмотреть список профилей и удалить ненужные.
netsh wlan show profiles netsh wlan delete profile name="Здесь имя профиля"
У меня сетей немного…
… но Анатолий поинтересовался, нельзя ли как-то упростить процесс, т.к. у него их штук 30, а нужно оставить всего 3-4. У команды есть параметр name, допускающий подстановочные знаки (например, * в качестве любого символа), но я не увидел, как это поможет решить задачу.
Здесь гуру CMD-скриптов, наверное, расчехлил бы команду FOR, но мне это не зубам. Мы пойдем другим путем ©
Где хранятся профили беспроводных сетей
С помощью Process Monitor я быстро выяснил, что Windows хранит профили сетей Wi-Fi в папке
%ProgramData%\Microsoft\Wlansvc\Profiles\Interfaces
Здесь каждому интерфейсу соответствует папка, именем которой является идентификатор сетевого адаптера (GUID), в чем можно убедиться в командной строке:
netsh wlan show interface
или в PowerShell 4.0 и выше:
Get-NetAdapter | fl name,interfaceguid
Как выглядит профиль
Открыв папку GUID, вы увидите XML-файлы, каждый из которых является профилем (его имя указано в узле Name).
Удаление файла эквивалентно удалению профиля!
Но как отделить мух от котлет, т.е. 3 нужных профиля от 30 ненужных? Здесь гуру PowerShell, наверное, расчехлил бы командлеты dir и foreach, обработал XML и удалил ненужные файлы командлетом del. Я мог бы такое провернуть… за несколько часов :) Поэтому мы пойдем… вы уже догадались, каким путем?
Удаление профилей с помощью поиска
Первая команда в статье дает список всех профилей, поэтому вы точно знаете имена тех, которые хотите сохранить.
Остается лишь найти все нежелательные профили одним махом, т.е. составить поисковый запрос, исключающий нужные имена.
Но тут есть один нюанс. Папка ProgramData не индексируется автоматически, поэтому содержимое файлов не попадает в индекс. Однако для такого поиска есть специальный фильтр содержимое (content), который решает задачу.
Пример исключения одной сети:
содержимое: -vad
Пример исключения двух сетей:
содержимое: -(roku OR radar)
Оператор «минус» исключает из результатов поиска файлы, в тексте которых содержатся указанные имена.
Все найденные файлы можно удалить! Убедиться в результате позволяет команда netsh (если изменений не видно, перезагрузитесь). Обратите внимание, что при большом количестве сетей даже в Windows 7 этот способ ведет к цели быстрее, чем удаление каждой сети в панели управления.
Бонус: удаление всех открытых беспроводных сетей
Сохраненные профили открытых беспроводных сетей теоретически небезопасны тем, что злоумышленники могут создать поддельную сеть с таким же именем, и ваш ПК подключится к ней автоматически. Программист, наверное, расчехлил бы C# и написал утилиту для удаления таких сетей, как это сделал Скотт Хансельман :)
Но вы уже знаете простое решение — ведь в XML-файле открытой сети в узле authentication написано open. Все открытые сети находятся так:
содержимое: "open<"
Включать в запрос символ < (фрагмент тега XML) необязательно, но это страхует от случайного удаления сетей, содержащих в имени слово open.
Если вы часто удаляете профили, вам пригодится кнопка «Сохранить условия поиска» на панели проводника. Но да, желающим поставить дело на поток планировщика заданий не обойтись без скрипта PowerShell или сторонней утилиты.
А как бы вы решали эту задачу? Что вам ближе — CMD, PowerShell, C#, сторонние утилиты или просто поиск? :)
Это была реклама «стандартного функционала», который «находится на виду», и конкурса фишек Windows.
Димка
Добрый день! Читаю ваш блог, так как готовлюсь стать обладателем лицензионной вин 8,1 ))
Скажите пж как вам этот девайс — Asus Transformer Book T100TA 64GB
стоит брать как как второй мобильный компьютер? (ноутбук для работы у меня есть)
Просто меня сомнения терзают — вин 8,1 на карте памяти 20 гиг…
Vadim Sterkin
Спасибо, что читаете мой блог. Однако ваш вопрос никак не связан с темой записи. Да и вообще, непонятно, какой от меня ожидается ответ.
Вадим
Здравствуйте Вадим,
в случае удаления одного профиля командной строкой у Вас «затесались» лишняя пара ковычек («»Здесь» имя профиля»)
Vadim Sterkin
Спасибо, исправил (издержки плагина).
NikolayHAOS
Vadim Sterkin
Спасибо за обзор, очень познавательно, буду знать.
Задачу из вопроса не решаю, ибо самой задачи нет. Использую другую ОС.
З.Ы.Повторюсь, у вас отличный блог, узнаю много нового для себя, и мне очень нравится ваш способ подачи информации, он — прост и понятен.
Vadim Sterkin
Спасибо за отклик.
Димка
никак не связан с темой записи
—
связан с темой блога
непонятно, какой от меня ожидается ответ
—-
что вы думаете по поводу вин 8,1 работающей на 64 гиговой eMMC
Vadim Sterkin
Димка, жаль, что вы не поняли прозрачного намека не разводить оффтоп… Ответ на последний вопрос вы найдете поиском в блоге по eMMC.
Димка
Vadim Sterkin,
ну почему же жаль, жизнь любит все и не сожалеет ни о чем ;-)
спасибо, нашел пару статей.
Андрей
Вадим, спасибо.
Такого не попадалось ещё.
Может делал не то, но удалял ненужное подключение, через свойства адаптера.
Путь точно не опишу, пишу с WP.
Сергей Стасенко
Здравствуйте Вадим!
А что ж тогда удаляется при нажатии в панели задач на иконку «сети«? Там в всплывающем окне есть кнопка «беспроводная сеть» ОТКЛ. Или она просто удаляет список этих сетей из выпадающего меню?
Спасибо!
Vadim Sterkin
Сергей, гм… я не понял вопрос, поясните скриншотом.
Алексей Г
Name=* ;-)
Недавно постигло меня такое задание, пошел искать сразу на TechNet. Там все нашёл решение — Командная строка.
Vadim Sterkin
Алексей, так Name=* удалит все профили, разве нет? А по условиям задачи некоторые нужны.
Валерий
=Однако в Windows 8 этот элемент панели управления заблокировали.=
А есть-ли возможность его просто разблокировать и не будет ли это проще ?
Vadim Sterkin
Валерий, проще, чем что? Один поисковый запрос? :)
Роман
Я иногда удивляюсь от выкрутасов технического прогресса.
логичнее наоборот ))). приходится пользователям прилаживать костыль, писать поисковые запросы. Нагляднее может и не проще, но как то более дружественно, а вдруг я такой уникум, хочу из 30 открытых сетей 1 оставить, а если сетей 100, а хочу оставить 50, например — 25 закрытых и 25 открытых, остальные 50 штук открытых и закрытых удалить )))) вы представляете себе строку запроса )))
я конечно утрирую, но даже такую ситуацию разработчик не должен превращать в насилование мозга пользователя. Наверно в Консерватории надо что то подправить.
Vadim Sterkin
Роман, не надо утрировать и представлять себя уникумом, тогда все станет на свои места. Функции ОС делаются в расчете на большинство пользователей. Но если вы действительно уникум, вы найдете обходные пути, в заметке их достаточно.
Роман
Vadim Sterkin, как бы то ни было, но в предыдущей системе это сделано нагляднее, а значит удобнее.
Vadim Sterkin
Роман, ваше сравнение некорректно, потому что в предыдущей системе был элемент панели управления, в этой — нет. А показанный мной способ работает одинаково в обоих.
А вообще, нагляднее ≠ удобнее. В поставленной читателем задаче из панели управления пришлось бы по одной удалить 27 сетей, подтверждая удаление каждой. Так что если не утрировать, удобнее-то как раз удалить поиском :)
Виталий К. ©
Именно поэтому удивляет рекомендация использовать командную строку, хотя раньше был понятный интерфейс.
У меня её нет)) В смысле нет вайфая на ПК, нет проблемы. А на телефоне такой фигни нет.
Vadim Sterkin
Виталий, значит, понятным интерфейсом мало кто пользовался, а те кто делал это, скрывали сей факт от Microsoft…
Виталий К. ©
Мне просто не понятно, почему удаляют такую мелочь. Файл, обеспечивающий подобный функционал, должен весить меньше 200 кб, если не пихать картинок в десять мегабайт.
Я понимаю, когда удаляют произвольную сортировку- «оптимизация», так как эта функция постоянно обращается к реестру при открытии папок. Но тут я в недоумении.
Vadim Sterkin
Виталий, мне тоже непонятно, чем она мешала. Так что, чем богаты :)
Роман
Раз такое дело, нет ли каких-то идей у по возвращению затемнения экрана в 8.1, раньше можно было задать время, после которого экран тускнеет, сейчас зачем-то он тускнеет за 15 секунд до отключения. Я конечно понимаю, что это новая концепция и дизайн, но это не радует.
(что за дурацкая константа в 15 секунд, чтобы пользователь, увидя, что экран потускнел, успел добежать с дивана до компьютера и дёрнуть мышкой?))
Konstantin
Здравствуйте! Я перелопатил много ваших статей, но подходящую для моего вопроса не нашёл, поэтому спрошу в относительно свежей.
А интересует меня такая, с позволения сказать, проблемка: буквально пару дней назад установил Windows 8.1 Pro x64 и заметил, что в трее постоянно «висит» иконка «Безопасное извлечение устройств и дисков» независимо от того, подключено какое-либо устройство или нет! Меня интересует вопрос, можно ли эту иконку как-то убрать/скрыть?
Материнская плата P5G41T-M LX (чипсет Intel G41 /ICH7). На Win7 такого не наблюдалось. На скриншоте видно, что никаких устройств не подключено…
http://s43.radikal.ru/i101/1312/53/bf6f43193f8b.jpg
Если Вы знаете ответ или ресурс, куда можно обратиться — помогите, пожалуйста! :)
btw: статьи отличные! Пишите грамотно и в то же время не сложно и интересно! Удачи!
Vadim Sterkin
Константин, для решения проблем есть форумы. Загуглите свой вопрос, в том числе поиском по форуму OSZone.
Konstantin
Google — это первое, куда я обратился! :)
Что ж, спрошу свой вопрос на oszone. Спасибо!
Илья
А ссылочку на статистику можно? Очень интересно посмотреть во сколько раз тех, кто пользовался «не понятным инструментом», больше других…
Vadim Sterkin
Илья, какую вам ссылочку-то? На телеметрию Майкрософт? Это же закрытая информация, а в процитированном вами фрагменте есть пример случая, когда компания ее раскрывает, объясняя свое решение.
bumarcl
Я работаю супортом, по этому и открою тайну Вадим многие люди просто банально и не знают эту опцию я сталкивался с этим и не раз надеюсь что в 8.1 если сть поменяла пароль он не будет веселит с крестиком , хотя и сам отвечу кнопка забыть эту сеть. Просто новый виндовса посчитаны так если ты чайник то и пользуйся все что есть визуально а что нет то для ИТ даже вы Вадим в одной статик это писали.
За блог спасибо
bumarcl
Извеняюсь за ошибки с мобилки и в транспорте писал
Спасибо
Vadim Sterkin
Да вы и не с мобилки с ошибками пишете :)
Илья
Понятно. Я просто подумал, что, возможно, раскрыли и в этот раз, а я просто плохо искал… Честно говоря, удивило решение заблокировать этот элемент управления, т.к. теперь нужно делать куда больше телодвижений. Поспрашивал у знакомых, подумал сам… Вы знаете, никогда не возникало потребности удалять сразу много профилей. Гораздо проще, не разводить бардак в самом начале, тогда и то, что описано в статье, делать не придётся. Только если раньше это(не разводить бардак) было проще (согласитесь, удалить однин-два-три профиля удобнее через графический интерфейс, чем городить то, что описано в статье), то теперь, да, проще накопить их а уж потом попытаться разобраться.
Нет, я понимаю, консоль — штука нужная. Это, своего рода, защита от дурака. Непонимающий, даже если и залезет туда, то, возможно, ничего не сможет сделать. Но зачем туда пихать управление профилями влан — убейте, не пойму. Ну вроде не является это важной административной функцией. Ну давайте всю панель управления туда всунем. Зачем пользователю удобное графическое управление службами, дисками, брандмауэром, системными параметрами(типа виртуальной памяти, способами загрузки, etc…)? Хотя в этих параметрах, он реально может испоганить систему. Нет, надо было удобный инструмент убрать. Всё таки, склоняюсь к тому, что МС — «не натуралы», как писали в одном блоге… :)
Простите за оффтоп, накипело… Столкнулся с этим недавно… Нужно было срочно настроить несколько точек, но перед этим нужно было посмотреть сохранённые пароли и настроить профили (тип шифрования определялся неправильно), а тут вот… Наткнулся на вашу статью и подумал: «однозначно поиск!». Вы же в курсе про баг, который отключает один из языков при использовании поиска в проводнике? Я, вот, был не в курсе… Этим языком оказался английский… Трудно передать моё состояние на тот момент, «наверное так и выглядит ад» — подумал я:)
В общем, по теме: поиск бажный, с PowerShell я не так близко знаком, значит либо CMD, либо сторонний утилиты.
З.Ы.
Кстати, не подскажите эти самые утилиты? PROSet от Intel много ресурсов ест, хотелось бы что-то полегче…
З.Ы.Ы.
А может быть существует графическая утилита имеющая весь функционал консольного netsh?
З.Ы.Ы.Ы.
Ещё хотелось бы узнать, как всё-таки стандартными средствами посмотреть сохранённый пароль профиля…
Vadim Sterkin
Вы все свое накипевшее выплеснули? Будем надеяться… Ибо чтение потоков ненависти мне положительных эмоций не доставляет.
Я в курсе бага с исчезновением метода ввода, но все никак не могу найти время открыть инцидент поддержки. Причина не в поиске, кстати, просто он проявляется и там тоже.
Федор
Тотал Коммандером. В одной панели список сетей, в другой просмотр текста. Просто, быстро, удобно.
http://iceimg.com/GURWdCQI/img564246fb713125f59ad59be68e0782d9.png
Vadim Sterkin
Федор, искать можно чем угодно. Особенно, когда вы узнали, где и что искать.
Андрей
Удалять обязательно? просто отключение не пойдёть?
Vadim Sterkin
Андрей,
1. Нет
2. Не применимо
Человеческое имя
%ProgramData\Microsoft\Wlansvc\Profiles\Interfaces
опечатка с %%
Владимир из Ульяновска
Здравствуйте Вадим !
Я свой комментарий, который я Вам днём написал поместил на форум. Подредактировал, поместил скрины. Теперь буду ждать помощь форумчан. Всего Вам хорошего !
Sergey
Добрый день.
netsh wlan delete profile name=»Здесь имя профиля»
Удалил таким образом свою домашнюю сеть (думал так избавиться от устаревшего пароля). А новый пароль после этого не запоминается (каждый раз после перезагрузки приходится вводить пароль заново).
Как это можно исправить? Спасибо.
Vadim Sterkin
Без понятия
Сашок
Здравствуйте, уважаемый Вадим. Спасибо Вам за статью. У меня затесалась такая проблема — ОС (конкретно Win7 x64) не позволяет изменить ни один профиль сети. Нажимаю значок сети — Центр управления сетями и общим доступом — управление беспроводными сетями — щёлкаю по любой из них — дзинь! — «произошла ошибка при сохранении профиля беспроводной связи. Специфическая ошибка: не удаётся найти файл». Я отключал/подключал wifi адаптер в диспетчере устройств, удалял его и обратно устанавливал; после Вашей статьи залез по адресу Program Data/Microsoft/Wlansvc/Profiles/Interfaces, нашёл там указанные Вами и папки, и файлы. И удалять пытался (типа Windows новые создаст с нуля) , и откатывать к прежним версиям («Семёрка» же позволяет делать такое) , даже грешным делом права на доступ к папке Interfaces и подпапкам проверил, попытался в неё файлы скопировать — всё копируется…
Не могу понять в чём дело, но проблема осталась — любая созданная сеть «замораживается» раз и навсегда. Её можно удалить, но нельзя изменить; нельзя настроить на подключение к скрытой сети; нельзя снять галочку «автоподключение», в общем ничего сделать не удаётся. Что нашёл в поиске сетей — то и можно добавить, как добавилась — больше поменять ничего нельзя; то что не нашлось само в списке сетей — вручную добавить можно, но опять-таки свойства потом изменить не удаётся. Как создалась — так создалась; как получилась — так получилась. Это довольно-таки неудобно. Не подскажете — что можно ещё придумать в этой ситуации?
Спасибо большое
С уважением
Сашок
Vadim Sterkin
Я бы начал с sfc /scannow, а в случае дальнейших проблем смотрел бы лог Process Monitor во время ошибки.
alex
добрый день поскажите
как быть с этим?
C:\Users\user>netsh lan show interfaces
The Wired AutoConfig Service (dot3svc) is not running.
Vadim Sterkin
Алекс, службу надо запустить (и, возможно, разбираться, почему она не работает :)
alex
У вас запускается?
Vadim Sterkin
Да. Возможно, у вас просто нет беспроводных адаптеров. С проблемой на форум обращайтесь, плиз.
alex
Собственно проблем особенных нет.
только netsh lan show interfaces
не срабатывает.
и Это по проводным подключениям.
Запустив dot3svc всё отображается.
Я смотрел на всех компьютерах ОСь сервер или 7ка 8ка она отключена.
Тарас
Спасибо за статю !
Получилась коротко и ясно. Если быть конечным пользователем, это правду не удобно ну а если для ИТ то как раз что надо, потому что рабочие не могут копировать пароли для своих мобильных устройств. Как было просто в w7
Все не могу собраться и из ваших статей сделать, как справочник.
Да но на счет проги , пусть и портативную ,для быстрой роботы с несколькими компьютерами , не хватает.
Vadim Sterkin
Тарас, большинству конечных пользователей на этот список наплевать. А если его нет, то нет и повода для беспокойства. Статья для тех, кто обеспокоен :)
Справочник из моих статей не нужен, я считаю, ибо материалы довольно регулярно обновляются, даже если это и неочевидно (походите по статьям, сравнивая дату обновления с датой первого комментария).
strafer
Я бы сделал с помощью http://unxutils.sourceforge.net/ . Сейчас их уже не применяю, но, пока на работе стояла винда, пользовался. Удалит все конфиги кроме roku и radar:
grep -L -E «roku|radar» *.xml | xargs rm
Niks
Прошу прощения, Вадим, но вы, похоже, не нашли в настройках системы эту возможность. Апплет этот из панели управления перенесли в Параметры ПК. — Сеть — Подключения, там в разделе «WiFi» есть пункт «Управление известными сетями», там перечислены все сети, к которым устройство когда-либо подключалось. Также в этот раздел можно попасть нажав «Просмотр параметров подключения» после вызова списка сетей с панели задач.
Vadim Sterkin
Точно, спасибо! У меня запись, как обычно, валялась в черновиках еще со времен 8, а к выходу 8.1 я даже не копался в панели управления, только удаление сетей в пределах радиуса заметил. Зашлите ссылку на скриншот списка, плиз, я добавлю в статью (у меня везде англ. сейчас).
Niks
Да, сейчас:
http://i67.fastpic.ru/big/2014/0714/47/ba878a8a7181b21f170605a8cc240f47.png
http://i67.fastpic.ru/big/2014/0714/9c/2db725dfbce97fdda2ddb00df77e219c.png
Кстати, вы моё имя в статье неправильно написали :)
Vadim Sterkin
Спасибо. Кстати, это и не имя вовсе :)
Виталий
Такой вопрос, может оффтоп, но ответа пока не нашел. Есть сеть с именем LORA. При подключении к ней, написано что подключено к сети LORA 2. Скриншот здесь http://clip2net.com/s/iTKsLu Откуда цифра 2? Просто часто бывает что я не могу подключиться к своей сети, и требуется перезагрузка роутера. И у меня подозрение что все из-за этой цифры. В беспроводных сетях только LORA. Роутер новый TP-Link WR941ND
Sorez
Доброго Всем!
Вопрос такой: обновился только до Windows 10 (1511, сборка 10586.164).
Результат: система «забыла» (кстати ЗАЧЕМ?) все сети Wi-Fi к которым когда-либо подключалась, а их там штук-так ***-надцать.
И все, понятное дело, нужные.
Файлов xml старых сетей просто нЭт.
Бэкап паролей сетей с помощью утилиты от NirSoft в своё время был не сделан (сам виноват, согласен).
В «старой» версии винды, сохранённой после обновления (по пути c:\Windows.old\ProgramData\Microsoft\Wlansvc\) вообще пусто.
Что делать?
Vadim Sterkin
Кусать локти
Sorez
Развёрнуто! :)))
Откат назад, я так понимаю, не решит вопроса?
Vadim Sterkin
Если в windows.old ничего нет, то вряд ли решит. Там иногда жесткие ссылки на новую windows, но в таком случае исход будет тот же.
Sorez
Ясно. Печально.
Большое спасибо за оперативный ответ.
Что ж… Windows такая Windows…
Sorez
Однако нет, случилось «чудо». Объяснения не нахожу.
Я уже и не надеялся ни на что, но каким-то образом все сети «возвернулись».
Все двадцать две штучки проявились своими файлами по пути С:\Windows.old\ProgramData\Microsoft\Wlansvc\.
Что повлияло не знаю.
Что делал (без конкретного умысла):
1) очистка системного диска (штатно), но без удаления системных файлов предыдущей версии Windows;
2) очистка Cleaner-ом, +прошёлся им же и по реестру (не ругайте! :))) );
3) перегрузился, а вкладка в файловом менеджере была открыта ещё «та» и вдруг! О, чудо: двадцать два файла откуда ни возьмись!!! Я «в них»— да они, сети мои позабытые.
Как-то так.
Кстати в windows.old так ничего и не появилось.
Далее: NirSoft=>бэкап всех ключей.
Vadim Sterkin
Да пусть будет чудо :)