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.