3

Как видно из названия, я ищу хороший способ отправить уведомление пользователю Windows, если машина была отключена от Интернета в течение длительного времени (более 14 дней).

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

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

Мне интересно, есть ли лучший способ сделать это. Спасибо!

1 ответ1

2

Я предполагаю, что вы выполняете это как запланированное задание, запускаемое сетевым событием при подключении / отключении. Однако это будет зависеть от Event Logger, который я бы не использовал для машины, которая никогда не перезапускается.

Вместо этого, почему бы вам не продолжить тот же путь, а запустить только 1 скрипт powershell. Ex. задание выполняется один раз в день в 9 утра. Скрипт пингует google.com или 8.8.8.8, если при успешном выполнении запишите значение "0" в файл some.txt, при сбое проверки -> прочитайте значение из some.txt и добавьте + 1. Таким образом, значение теперь стало бы 1, если значение было 4, теперь оно становится 5 и так далее. После добавления 1 проверьте, если новое значение больше 14, а затем уведомите пользователя (через сообщение об ошибке / оповещение или по электронной почте ..). Или запускайте его дважды в день, тогда последнее утверждение становится, если значение выше 28 делает это ... Или так часто, как вы предпочитаете.

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

- Редактировать Уведомить пользователя через всплывающее окно. Работает родной, сборок не требуется.

$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("Connect now! Use dailup AOL if you have to!",0,"Done",0x1)

Для получения дополнительной информации см. Popup Method

- Редактировать Powershell Script Execution Polixy
При создании задачи добавьте эти

Программа / скрипт: Powershell.exe

Добавить аргументы: -ExecutionPolicy Bypass C:\some\folder\test.ps1

Если это не сработает. Затем включите это на GroupPolicy, запустите gpedit.msc

Следуйте по этому пути \Windows Components\Windows PowerShell

Дважды щелкните « Включить выполнение сценария» > «Разрешить все сценарии».

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .