Динамически установить время ожидания блокировки экрана в зависимости от сетевого интерфейса

Нам необходимо настроить время ожидания блокировки экрана на наших портативных компьютерах таким образом, чтобы время бездействия динамически изменялось в зависимости от соединения: если ноутбук напрямую подключен к корпоративной сети через Ethernet, экран должен блокироваться через 15 минут, но при любых других обстоятельствах (Ноутбук или не подключен к какой-либо сети, или подключен, но через VPN) это время должно быть сокращено (скажем, до 5 минут)... Все клиентские машины работают на Windows 7 или 10 Enterprise.

Обратите внимание, что это не должно зависеть от параметров питания, и что время ожидания блокировки экрана может изменяться несколько раз в течение одного сеанса пользователя. Например, пользователь извлекает свой ноутбук из док-станции (время ожидания блокировки экрана изменяется с 15 мм на 5 минут), а затем выключается, загружается при отключении от сети (по-прежнему 5 минут ожидания блокировки экрана), работает в то время как через VPN (все еще 5 млн.), затем снова ставит его на док-станцию, и ноутбук снова подключается к корпоративной сети через Ethernet (тайм-аут блокировки экрана обратно до 15 м)...

Административные шаблоны GPO не позволяют настраивать блокировку экрана на основе сетевого подключения. Есть идеи о лучших способах реализации этого?

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

0 ответов

Один из способов сделать это - отслеживать идентификаторы событий NetworkProfile 10000 и 10001 и запускать сценарий после каждого экземпляра этих событий.

Чтобы установить 5-минутный тайм-аут экранной заставки, когда пользователь отключился от сети, создайте новую запланированную задачу, дайте ей соответствующее имя и для триггера выберите "При регистрации события". Затем укажите на следующем экране:

  • Журнал: Microsoft-Windows-NetworkProfile/Operational
  • Источник: NetworkProfile
  • Идентификатор события: 10001 (сеть отключена)

Для действия используйте сценарий PowerShell (или любой другой удобный вариант), чтобы установить период ожидания заставки.

Чтобы установить 15-минутный тайм-аут для доверенных сетей, вам нужно проделать немного больше работы, чтобы выяснить, достаточно ли у вас согласованных сетевых имен или диапазонов IP-адресов для идентификации в качестве доверенных сетей для целей этого сценария. Когда это событие запускается, вы можете проверить сетевое имя по самому последнему событию с ID 10000 и уменьшить время ожидания заставки, если сетевое имя является доверенным.

Конечно, и то, и другое не является надежным. Имя сети всегда можно подделать или случайно совпасть с именем вашей доверенной сети. Один из возможных способов прикрыть это - (1) проверить сетевое имя, которое соответствует имени вашего внутреннего домена, а затем (2) использовать командлет PowerShell Get-ADDomainController, чтобы узнать, можете ли вы связаться с контроллером домена и подтвердите, что вы действительно подключены к этой сети.

Могут быть другие / лучшие методы, включая, возможно, предпочтения групповой политики с таргетингом на уровень элементов. Опять же, существуют проблемы, связанные со временем (как часто он переоценивает и повторно применяет политики) и тем, как вы определяете текущее состояние сети. ILT с запросами WMI, вероятно, будет самым близким, но этот подход не будет таким "в реальном времени", как использование задач, запускаемых по зарегистрированным идентификаторам событий.

Здесь нет сценария для вас, но, надеюсь, это приведет к правильному развитию, если вы (или кто-то еще) все еще ищете решение.

Другие вопросы по тегам