Procurando uma maneira de notificar um usuário se ele tiver sido desconectado da Internet por longos períodos de tempo

3

como o título diz, eu estou procurando uma boa maneira de enviar uma notificação para um usuário do windows se a máquina tiver sido desconectada da internet por longos períodos de tempo (14+ dias).

Estas são máquinas industriais que executam o Win 10 LTSB basicamente no modo quiosque por longos períodos. Estou procurando uma maneira de solicitar ao usuário que se conecte à Internet e verifique se há atualizações do Windows, caso contrário, nas últimas duas semanas.

Atualmente, minha solução é um pouco instável, mas funciona. Eu uso scripts de powershell agendados para realizá-lo. Um script registra a data toda vez que um usuário se conecta e outro registra toda vez que se desconecta. Um terceiro é executado a cada hora para comparar os dois e a data atual e exibirá uma mensagem para o usuário se já passaram 14 dias desde a última desconexão.

Eu estou querendo saber se existe uma maneira melhor de fazer isso. Obrigado!

    
por anthony stoico 08.12.2017 / 18:26

1 resposta

2

Acho que você está executando isso como uma tarefa agendada acionada pelo evento de rede na conexão / desconexão. No entanto, isso dependeria do Event Logger, no qual eu não confiaria para uma máquina que nunca reinicia.

Em vez disso, por que você não continua da mesma maneira, mas executa apenas 1 script do powershell . Ex. tarefa executando uma vez todos os dias às 9:00. Script pings google.com ou 8.8.8.8 se o valor de gravação for "0" para algum arquivo.txt, se o ping falhar - > leia o valor de algum.txt e adicione + 1. Então, o valor agora se tornaria 1, se o valor fosse 4, agora se torna 5 e assim por diante. Depois de adicionar 1, verifique se o novo valor é maior que 14 e notifique o usuário (via promoter / alerta de erro ou email ..). Ou executá-lo duas vezes por dia, em seguida, a última declaração se torna se um valor maior que 28 fizer isso ... Ou quantas vezes você preferir.

Tenho certeza de que existem outros métodos ou softwares para fazer isso, mas acho que esse seria o modo mais confiável. Isso nunca falharia no uso a longo prazo.

- Editar Notificar usuário via pop-up. Funciona nativo, não requer assemblies.

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

Para obter mais informações, consulte o Método de pop-up

- Editar Polixy de Execução de Script do Powershell
Ao criar uma tarefa, adicione estes

Programa / script: Powershell.exe

Adicionar argumentos: -ExecutionPolicy Bypass C:\some\folder\test.ps1

Se isso não funcionar. Em seguida, habilite isso em GroupPolicy execute gpedit.msc

Siga este caminho \Windows Components\Windows PowerShell

Clique duas vezes Ativar a execução de scripts Ativar > Permitir todos os scripts

Aguarde algum tempo para que as alterações entrem em vigor. Reinicie o PC ou aguarde alguns minutos e tente clicar com o botão direito do mouse e executar a tarefa manualmente no Agendador de Tarefas para verificar.

    
por 08.12.2017 / 19:12