Как автоматически заблокировать (Win + L) компьютер, если кабель Ethernet удален или пропал сигнал Ethernet

501
user968737

Я хочу, чтобы моя система автоматически блокировалась всякий раз, когда я отсоединяю кабель Ethernet, или мои сигналы локальной сети падают. Любой сценарий PowerShell или любая идея службы я могу запустить? Я использую Windows 7 и Windows 10.

0
Добро пожаловать в Супер пользователя! Обратите внимание, что мы не занимаемся написанием кода, и вопросы, связанные с рекомендациями по продукту, не относятся к теме. Вместо этого опубликуйте конкретные проблемы, которые у вас возникают, например, с помощью сценария, и люди могут помочь с этим. Ура! bertieb 6 лет назад 0
Кроме того, просто предположив гипотетически, что это произошло в корпоративной среде, в которой вы хотели применить что-то подобное, вам может быть лучше следовать * нетехническим * подходам. bertieb 6 лет назад 0

1 ответ на вопрос

0
User025

Согласно этому ответу: https://superuser.com/a/225251/950764 будет создано событие, когда ваши соединения будут разорваны. Идентификатор будет 27, а источник зависит от вашей сетевой карты. (в ответе упоминается «e1yexpress», но для меня это «e1dexpress»).

Это позволяет вам создавать и планировать события в планировщике задач, которые будут выполняться при разрыве ваших соединений.

  1. Откройте «Просмотр событий» и отфильтруйте события с идентификатором 27 и уровнем «Предупреждение» в разделе «Журналы Windows -> Система».
  2. Теперь вы должны увидеть события с упоминанием имени вашей сетевой карты и текстом «Сетевая ссылка отключена» (при условии, что это имело место до сих пор). Самое главное, что теперь вы будете знать источник событий, который вам нужно использовать для запланированного задания.
  3. Откройте планировщик заданий и создайте новое задание.
  4. В открывшемся окне свойств укажите имя задачи.
  5. На вкладке «Триггер» создайте новый триггер и выберите «О новом событии». Установите для параметра «Журнал» значение «Система», в качестве источника укажите имя, полученное из средства просмотра событий, а для идентификатора события - значение 27. Нажмите кнопку «ОК».
  6. Теперь перейдите на вкладку Действия и создайте новое действие. В открывшихся окнах выберите «Запустить программу» и введите в rundll32.exeкачестве пути к программе и в user32.dll,LockWorkStationкачестве аргументов.
  7. Возможно, вы захотите настроить задачу немного дальше, например, отключив тот факт, что задача будет запускаться только при включенном питании на вкладке «Условия» (в основном это касается ноутбуков).

    После этого я рекомендую отсоединить сетевой кабель, чтобы проверить, все ли работает. как и ожидалось.
Я попробую. Спасибо за очень информативный / применимый ответ. user968737 6 лет назад 0
Он работал на моем домашнем компьютере. Я хочу реализовать это в моем офисе. Я использую Windows Server 2008 в качестве сервера, и я хочу развернуть эту задачу для всех пользователей моего домена. Поскольку каждая система имеет свою собственную сетевую карту и источник будет отличаться для каждого компьютера. Можно ли в любом случае указать универсальное имя источника для отключения от сети или мне нужно перейти на каждый компьютер, чтобы создать эту задачу? user968737 6 лет назад 0
В этом случае вы можете переключить триггер с Basic на Custom. Если вы нажмете новый фильтр событий и переключитесь на «По источнику», вы можете выбрать несколько источников. Если у вас очень мало моделей компьютеров, вы можете проверить там журналы событий и посмотреть, как вызывается источник, и добавить их все. User025 6 лет назад 0