Як запустити команду про підключення / відключення мережі?


59

У мене є з'єднання Wi-Fi, яке вимагає підтвердити автентифікацію за допомогою веб-форми після встановлення бездротового зв’язку. Я знаю, як автоматизувати автентифікацію за допомогою сценарію, який використовує curl/ curlIE .

Але як я можу попросити Windows викликати мій сценарій кожного разу, коли я підключаюсь до певного мережевого з'єднання?

Мені також було б цікаво отримати ім'я бездротового профілю або ESSID у командному рядку мого сценарію.


1
Напевно, марно, але я знайшов це через гуглінг. Це, мабуть, перераховує ваші з'єднання і може надати щось, що ви можете запитувати за допомогою сценарію, щоб визначити, коли адаптер підключається / відключається. msdn.microsoft.com/en-us/library/ms739931%28v=VS.85%29.aspx
CreeDorofl

Мені не хочеться кожні кілька секунд перевіряти стан. Повідомлення про поінформованість про мережу є цікавими, але я не бачу простого способу використовувати його лише за допомогою сценаріїв.
долмен

dolmen - чи є спосіб ви також опублікувати написаний сценарій для аутентифікації. це питання було б набагато повніше з ним у ньому.
квест49

@ quest49 Я розумію, що мій сценарій може вас зацікавити, але це питання не має значення.
долмен

Ви коли-небудь отримували відповідь на це, що задовольнило ваше запитання?
Менашех

Відповіді:


80

У Windows Vista та пізніших версіях ви можете це зробити, використовуючи заплановане завдання з тригером журналу подій. Перша подія буде ініційована підключенням до мережі, і ви вкажете, до якої мережі потрібно підключитися, щоб вона запустилася. Друга подія буде ініційована при відключенні від будь-якої мережі. Кожна подія виконуватиме конкретне завдання, яке ви вказали; швидше за все, написані вами сценарії.

Встановлення події для підключення до мережі:

  1. Відкрийте Планувальник завдань. Ви можете знайти його, ввівши Task Schedulerв поле пошуку меню "Пуск" або під Programs | Accessories | System Tools.
  2. У бібліотеці планувальників завдань створіть нове завдання, натиснувши Create Taskна панель «Дії» праворуч.

    додати завдання

  3. Дайте завдання назву на кшталт "виявити підключення до мережі" або що завгодно

  4. На Triggersвкладці клацніть New...та виберіть On an Eventу спадному вікні.

    спусковий тригер

  5. Виберіть наступні налаштування:

    • Журнал: Microsoft-Windows-NetworkProfile/Operational
    • Джерело: NetworkProfile
    • Ідентифікатор події: 10000
  6. Клацніть OK, потім перейдіть на Conditionsвкладку.
  7. Поставте прапорець Start only if the following network connection is availableі виберіть мережу, з якою ви хочете запустити сценарій
  8. На Actionsвкладці натисніть New...і виберіть Start a program. Введіть розташування файлу сценарію, який потрібно запустити, а потім натисніть кнопку OK.
  9. Встановіть будь-які інші налаштування завдання, а потім натисніть кнопку OK.

Встановлення події для відключення від мережі:

  1. Виконайте кроки 2-4 вище
  2. Використовуйте наступні настройки тригера події:
    • Журнал: Microsoft-Windows-NetworkProfile/Operational
    • Джерело: NetworkProfile
    • Ідентифікатор події: 10001
  3. Пропустіть кроки 6-7, оскільки ви більше не будете приєднані до будь-якої мережі. Отже, ця подія запускатиметься кожного разу, коли ви від'єднаєтесь від будь-якої мережі.
  4. Виконайте кроки 8–9 ще раз

1
Чудово! Дякую за детальну відповідь! Це набагато більше, ніж я очікував. Я дізнався, що я навіть можу використовувати умову назви мережевого з'єднання, тому можу запустити команду лише для певного профілю WLAN.
долмен

Звідки ви отримали значення, отримані на кроці 5? Опрацювати їх можна за допомогою проб і помилок у журналі подій, але мені цікаво, чи є кращий спосіб визначити конкретну подію, наприклад, через деяку документацію.
Адам Міллерчіп

1
@AdamMillerchip Я щойно відкрив переглядач подій, відключив / знову підключив, а потім озирнувся.
nhinkle

1
Дивно, я спробував це і нічого ....
Менелаос Бакопулос,

1
Для запису мені довелося вказати як "джерело" Microsoft-Windows-NetworkProfile(W10 1709)
Йоріл

11

Здається, Start only if the following network connection is availableце зламано після оновлення Windows 10-річчя. Використовуйте замість цього спеціальний тригер:

<QueryList>
  <Query Id="0" Path="System">
    <Select Path="Microsoft-Windows-NetworkProfile/Operational">
     *[System[(EventID=10000)]] and *[EventData[(Data[@Name="Name"]="YOUR-SSID-HERE")]]
    </Select>
  </Query>
</QueryList>

У корпоративних мережах використовують ім'я домену замість SSID. У цьому випадку категорія події буде "Завірена на домен", а не "Приватна".


Start only if the following network connection is availableздається, зламаний справді. Якщо встановити цю опцію і виконати завдання на вимогу я отримую цю помилку: Task Scheduler Service is not available. Task scheduler will attempt to reconnect to it.
Федеріко Дестефаніс

4

Якщо ви користуєтеся Thinkpad, ви можете скористатися підключенням для доступу ThinkVantage, доступним для Windows 7, Vista та XP.

ThinkVantage Access Connection - це програмне забезпечення менеджера мережевих з'єднань, що постачається разом із ThinkPad, якщо це не так, завантажувати їх з сайту підтримки. Коли ви створюєте новий профіль для свого місцезнаходження, з'являється майстер, який запитує, чи хочете ви налаштувати список програм для запуску, коли це місцезнаходження підключено. Він пропонує вбити програму і тоді, коли мережа вимкнеться.

Зауважте, що це програмне забезпечення можна налаштувати так, щоб він взагалі не мав профілю розташування, і це, мабуть, початковий статус - у такому випадку немає можливості налаштувати список програм, який запускатиметься після підключення Wi-Fi: потрібно створити з'єднання профіль, щоб містити список.

На мій власний досвід я намагаюся уникати використання програмного забезпечення - це потребує набагато більше часу, щоб підключитися, ніж без нього, а іноді не вдається встановити нове з'єднання під час завантаження (це можна виправити шляхом відновлення вручну).

Програмне забезпечення працює лише з драйвером WIFI, що постачається разом із мисливською панеллю.

З іншого боку, це програмне забезпечення пропонує встановити з'єднання перед тим, як користувач увійде в систему, як варіант при створенні профілю. Я не знаю, чи можливо це без цього.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.