Как отключить и включить сетевой интерфейс, пока Windows 7 заблокирована

1279
nixda

Исходная ситуация

Я работаю с несколькими рабочими станциями в домене, где мне не разрешено менять заставки или параметры энергосбережения, что очень часто встречается в настоящее время. Мне часто приходится переключаться между компьютерами, и они блокируются после 10 минут простоя. Какой ужас.

В настоящее время я использую кофеин для предотвращения заставки и блокировки системы. Но это приводит к тому, что мои компьютеры постоянно подключены к сети 24/7. Даже ночью, когда я вручную заблокировал все свои рабочие станции с помощью Win+ L.

Чего я хочу достичь

Моя идея состоит в том, чтобы автоматизировать эти четыре задачи с помощью AutoIt или AutoHotKey и удалить все стороннее программное обеспечение.

  1. Отключите определенный сетевой интерфейс один раз, когда система заблокирована, и время между 8 вечера и 6 утра.
  2. Повторно включите определенный сетевой интерфейс, когда система разблокирована
  3. Пропингуйте конкретный IP-адрес, когда система не заблокирована (для сохранения открытого брандмауэра)
  4. Имитируйте нажатие клавиши каждую минуту, чтобы система не блокировала экран и не активировала заставку

Что я пробовал до сих пор

Поскольку SU не о Дайте мне код, я начал искать в поисках безопасного пути, если Windows заблокирована . Оказывается, использование WinExist("A")недостаточно надежно, и я застрял.

Во-вторых, я знаю, что могу имитировать нажатие клавиш в цикле, но я не знаю, какую клавишу мне следует использовать, чтобы она случайно не открывалась или не выполнялась.

0
Во-вторых, я знаю, что могу имитировать нажатие клавиш в цикле, но я не знаю, какую клавишу мне следует использовать ._ Попробуйте эмулировать ScrollLock. Я не могу думать ни о каком программном обеспечении Windows, использующем это в настоящее время. Vladimir Tsuverkalov 10 лет назад 0
обратитесь к этому ответу для включения / выключения сценариев вашего адаптера. http://superuser.com/a/526272/179299 кредиты @nixda Lorenzo Von Matterhorn 10 лет назад 1
Что вы подразумеваете под «Подключен к сети»? Кроме того, почему это плохо? Даже если ваша машина не использует кофеин, она все еще подключена к сети, когда машина заблокирована и / или работает заставка. MDMoore313 10 лет назад 0
@ MDMoore313 Вы меня не так поняли: кофеин не для отключения сетевого адаптера, он просто для предотвращения заставки + блокировки. Я просто хочу автоматически отключить сетевой адаптер, пока я вручную заблокировал систему nixda 10 лет назад 0
Я так понимаю, просто любопытно, чего ты хотел добиться? Вы не можете планировать задачи? Если можешь щ. задачи, у вас есть разрешения на отключение сетевого адаптера вручную? Если нет, то никакое автоматизированное решение не поможет :-( MDMoore313 10 лет назад 0
@ MDMoore313 Я могу планировать задачи и вручную отключить адаптер. Вы и Лоренцо думаете, что запланированное задание было бы лучше автоматизировать эти 4 задания? (отключить адаптер, когда заблокирован, включить при разблокировке, пинговать, когда разблокирован / адаптер включен, нажать клавишу при разблокировке) nixda 10 лет назад 0
на самом деле, я рассматривал факт запланированного задания только в тех случаях, когда QA точно знает, что он может отключить адаптер ... в данное время. (например, после графика работы он отключит адаптер, за 15 минут до начала графика работы он включит его.) Lorenzo Von Matterhorn 10 лет назад 0
Итак, ваш вопрос, как отключить адаптер с помощью программного процесса или определить, заблокированы ли окна? Colyn1337 10 лет назад 0
@ Colyn1337 Я получил ответ о том, как определить, заблокированы ли окна из [этого SO-ответа] (http://stackoverflow.com/a/19090497/935614). Создание остальной части сценария зависит от меня :) nixda 10 лет назад 0

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

1
MDMoore313

Я бы использовал скрипт powershell для автоматизации этого, используя запланированное задание для запуска скрипта. Вы могли бы иметь

1) Отдельный скрипт для каждого события (вход / выход из системы, блокировка / разблокировка) 2) Передача одного скрипта различных параметров в зависимости от события (например, auto.ps1 / unlock)

Лично мне нравится № 2, немного больше работы заранее, но проще в управлении. Вы, вероятно, хотите посмотреть в журналах событий, чтобы соответствовать событию, на котором вы хотите запустить запланированное задание, я не верю, что в sch есть действие. настройки задач для всех 4 из этих событий, хотя я могу ошибаться.

Наконец, убедитесь, что ваш компьютер может выполнять сценарии powershell напрямую или вызовите powershell.exe с соответствующими параметрами:

powershell.exe -noprofile -executionpolicy bypass -file C:\autoping.ps1 
Я думаю, что этот ответ - путь. Максимум это будет два сценария. Lee Harrison 10 лет назад 1