寻找一种方法来通知用户是否长时间与互联网断开连接


3

如标题所述,我正在寻找一种很好的方法,以在计算机长时间与互联网断开连接(14天以上)时向Windows用户发送通知。

这些是基本上在信息亭模式下长时间运行Win 10 LTSB的工业机器。我正在寻找一种方法来提示用户连接到互联网,并检查Windows更新(如果他们在过去两周内未这样做)。

目前,我的解决方案有些奇怪,但是可以解决。我使用计划的Powershell脚本来完成它。每次用户连接时,一个脚本记录日期,而每次断开连接时,另一个脚本记录日期。每小时运行三分之一,以比较两者和当前日期,如果距上次断开连接已有14天以上,则会向用户显示一条消息。

我想知道是否有更好的方法可以做到这一点。谢谢!

Answers:


2

我猜您正在将其作为由连接/断开连接上的网络事件触发的计划任务运行。但是,这将依赖于Event Logger,而对于永不重启的计算机,我将不依赖于它。

相反,为什么不继续以相同的方式运行,而是只运行1个powershell脚本。防爆。任务每天9Am运行一次。脚本ping google.com或8.8.8.8,如果成功,则将值“ 0”写入some.txt文件,如果ping失败->从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)

有关更多信息,请参见弹出方法

-编辑Powershell脚本执行策略
创建任务时,添加以下内容

程序/脚本: Powershell.exe

添加参数: -ExecutionPolicy Bypass C:\some\folder\test.ps1

在此处输入图片说明

如果那不起作用。然后在GroupPolicy上启用它,运行gpedit.msc

走这条路 \Windows Components\Windows PowerShell

双击“启用脚本执行 启用”>“允许所有脚本”

留出一些时间使更改生效。重新启动PC或等待几分钟,然后尝试右键单击并在Task Scheduler上手动运行该任务以进行验证。


谢谢,我会继续尝试。您知道如何在Power Shell中编写错误提示吗?因为我当前的方法似乎无法正常执行预定任务:{[System.Reflection.Assembly] :: LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox] :: Show('Your_Desired_Message','Your_Desired_Title')}
anthony stoico

检查上面,添加了2行。
JsEveryDay '17

我也尝试过这种方式!当我自己运行脚本时,效果很好,但作为计划任务,它不显示弹出窗口。也许我应该开始一个新线程。
安东尼·斯托科

让我检查一下...您正在以ps1的形式运行它吗?
JsEveryDay '12

是的,Windows 10中运行.ps1 powershell脚本的计划任务。我知道我运行脚本的设置是可以的,因为记录连接/断开连接的其他两个任务都可以正常工作
anthony stoico
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.