Запуск программы при подключении к определенной сети в Windows
В зависимости от сети, к которой вы подключены, вы можете запускать определенные задачи. Например, когда вы подключены к определенной сети - например, к домашней сети - вы можете назначить другой принтер по умолчанию, используя командную строку или скрипт. Это особенно необходимо в Windows 10, где была удалена функция «печати с учетом местоположения».
Либо вам может потребоваться запустить задачу резервного копирования, либо установить местоположение сохранения по умолчанию в приложениях Office для локальных документов вместо OneDrive при подключении к домашней сети. Некоторые пользователи хотели бы включить свое программное обеспечение VPN при подключении к определенной сети.
Windows позволяет вам выполнить задачу, используя триггер события и планировщик задач. При подключении к сети Windows регистрирует действие в журнале событий Microsoft-Windows-NetworkProfile/Operational
. Идентификатор события 10000
представляет «подключенное» событие, а 10001
представляет «отключенное» событие. Вот пример события.
Имя журнала: Microsoft-Windows-NetworkProfile / рабочий источник: Microsoft-Windows-NetworkProfile Дата: 30.07.2009 14:34:33 Идентификатор события: 10000 Категория задачи: нет Уровень: информационные ключевые слова: (35184372088832), (32) Пользователь: LOCAL SERVICE Компьютер: DESKTOP-JKJ4G5Q Описание: Имя, подключенное к сети: Ramesh Desc: Тип Ramesh: Неуправляемое состояние: Подключено Категория: Частное событие Xml: 10000 0 4 0 0 0x4000200000000020 3216 Microsoft-Windows-NetworkProfile / Operational DESKTOP-JKJ4G5Q Ramesh Ramesh {f6435db3-31b3-43ea-8d7f-4c28208a954d} 0 1 1
Выделенная жирная линия выше представляет сетевое соединение, в этом случае сетевым именем или SSID является Ramesh
.
Теперь давайте создадим триггер события для события с кодом 10000 Microsoft-Windows-NetworkProfile / Operational. Запланированное задание запуска события запустит программу или скрипт.
Вы можете использовать опцию Присоединить задачу к этому событию ... в контекстном меню события в окне просмотра событий, чтобы создать задачу триггера события. Кроме того, вы можете следовать этим шагам планировщика заданий.
Запустите программу или скрипт при подключении к определенной сети
- Откройте планировщик заданий и нажмите « Создать задание»
- Назначьте имя и описание для задачи.
- Выберите вкладку Triggers и нажмите New
- Выбрать на мероприятии
- В раскрывающемся списке Журнал: выберите Microsoft-Windows-NetworkProfile / Операционный
- В источнике: выберите NetworkProfile
- В поле Идентификатор события: введите
10000
и нажмите кнопку ОК. - На вкладке Действия нажмите Новый.
- В поле Имя программы / скрипта: введите имя файла программы или скрипта, который вы хотите запустить, когда ваше устройство подключается к определенной сети. Например, вы можете выбрать запуск собственного сценария VBScript, который выполняет некоторые команды при подключении к этой сети. Чтобы запустить VBScript, выберите
wscript.exe
в поле « Программа / сценарий:» и имя сценария (файл .vbs) в поле « Добавить аргументы:» . - Нажмите ОК.
- Выберите вкладку «Условия» и включите «Пуск», только если доступно следующее сетевое подключение.
- Выберите сеть или SSID из списка, чтобы запланированное задание запускалось при подключении к определенной сети.
- Если для правильной работы программы или сценария требуются права администратора, установите флажок Запускать с наивысшими привилегиями и нажмите кнопку «ОК».
- Нажмите ОК. Задача запуска события теперь создана.
Задача не вызвана состоянием сети в Windows 10?
В Windows 10 Anniversary Update и более поздних версиях задача может не запускаться, если в графическом интерфейсе задано условие сети. Эта ошибка все еще остается в Windows 10 v1903. В некоторых системах настройка состояния сети приводит к ошибке службы планировщика заданий недоступна. Планировщик заданий попытается подключиться к нему.
Чтобы обойти проблему, отключите все условия сети и используйте следующий пользовательский метод запуска.
- Дважды щелкните вновь созданную задачу.
- Выберите вкладку «Условия» и снимите флажок « Пуск», только если доступно следующее сетевое подключение .
- Выберите вкладку «Триггеры» и нажмите «Изменить».
- В диалоговом окне «Редактировать триггер» выберите «Пользовательский» и нажмите «Новый фильтр событий».
- В фильтре новых событий выберите вкладку XML и активируйте запрос редактирования вручную .
- Нажмите Да, когда увидите сообщение: Если вы решите вручную изменить запрос, вы больше не сможете изменить запрос, используя элементы управления на вкладке Фильтр. Желаете ли вы продолжить?
- Вставьте следующую пользовательскую разметку триггера XML в текстовое поле.
* [System [(EventID = 10000)]] и * [EventData [(Data [@ Name = "Name"] = " TYPE-YOUR-SSID ")]]
Если необходимо запустить задачу при подключении к сети домена активного каталога, используйте имя домена вместо SSID.
$config[ads_text6] not found - Нажмите ОК, ОК.
Точно так же вы можете создать другую запланированную задачу триггера событий, которая запускается при подключении к вашей офисной сети, которая, в свою очередь, запускает пользовательский сценарий VBScript, программу или пакетный файл.