Донецкий техникум промышленной автоматики

Як видалити профілі непотрібних і небезпечних бездротових мереж в Windows - Вадим Стеркиной

  1. [+] Сьогодні в програмі
  2. Що говорить довідка Windows
  3. Де зберігаються профілі бездротових мереж
  4. Як виглядає профіль
  5. Видалення профілів за допомогою пошуку
  6. Бонус: видалення всіх відкритих бездротових мереж

У міру розвитку Windows в ній з'являються нові можливості і пропадають старі У міру розвитку 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 .

Обговорення завершено.

Але як відокремити мух від котлет, тобто 3 потрібних профілю від 30 непотрібних?
Ви вже здогадалися, яким шляхом?
А як би ви вирішували це завдання?
Що вам ближче - CMD, PowerShell, C #, сторонні утиліти або просто пошук?