2014-10-07 47 views
2

我必须编写一个脚本来尝试ping设备,然后如果此设备对X天没有响应......则会生成邮件,并且设备的X天计数器被重置。如何检查IP是否对X天无响应然后发送邮件

什么是最简单的方法来实现这一目标?我正在考虑一个CSV/XML文件,当设备响应时最后一天存储该文件,并且如果X天已过,则应该生成邮件并重置日期。

我是否错过了解决此问题的明显方法?我也在考虑做一个无限循环,我每运行一个ping命令,并且将所有设备保存在散列表中,但不知道运行无限循环的后果。

谢谢!

+0

这是一个更适合网络监控工具的任务,而不是本地长时间运行的脚本。 – alroc 2014-10-08 11:16:13

回答

0

如果您正确暂停脚本的执行(与Start-Sleep类似),则运行无限循环不成问题。唯一的缺点是在更改任何代码时重新启动脚本,但它也不是一个真正的问题。

因为你会需要序列化你的散列表文件(可能是一个CSV or XML,但there are different ways),你也可以运行你的代码,每隔一小时,其读取每次启动之前的数据Scheduled Task,执行ping设备,发送电子邮件,保存新的结果并停止。

如果您选择人性化的文件格式,您还可以编辑文件以便轻松添加或删除设备,除非您从其他位置填充散列表。

务必添加适当的日志记录和异常处理。另外,通过手动检查Powershell所看到的内容,确保从文件中读取your code handles DateTime and time differences correctly

0

我会创建一个计划任务,每晚运行并ping设备,然后记录成功或失败。每次运行时,都会记录日志中的失败次数。如果这是X次,请发送电子邮件。每天都要这样做直到成功,然后清除日志文件以重新开始。

相关问题