Windows脚本可做的3件事

大约一年前,我写了一篇关于Windows脚本的介绍,它显示了.wsf脚本比IT专业人员多年来编写和运行的老式批处理作业功能强大得多。 WSF为您提供了Visual Basic等结构化语言的功能。默认情况下,您可以在Windows上创建VBScript或JScript WSF文件,并且该文件可以正常运行。

除了那篇介绍性文章外,今天我想提供人们在专业IT中经常使用的三种典型工具。环境以及居家环境。这三个工具包括从文本文件读取输入,对网络上的各种设备执行ping操作以及通过脚本发送电子邮件。

Windows脚本编写的威力

学习这些较小的组件的方法要做的就是允许您将它们组合成一个更大的自动化脚本。我将逐步介绍一些小型脚本示例,您可以将它们组合成一个非常酷的自动化脚本。该脚本将要做的是从文本文件中获取输入的IP列表,对这些设备中的每一个执行ping操作,然后在这些设备中的任何一个出现故障时发送警报电子邮件。

此过程的第一步是学习如何从输入文本文件中读取和处理信息。在这种情况下,我创建了一个名为 IPlist.ini 的文本文件,该文件与脚本位于同一目录中。该文件包含我要检查的所有IP地址的列表。您可以使用以下脚本读取文本文件的每一行。

<job><script language="VBScript">Option ExplicitOn Error Resume Next
Dim strHostDim strCommandDim ReturnCodeDim strLineDim oFSO, sFile, oFile, sText
Set Shell = wscript.createObject("wscript.shell")Set oFSO = CreateObject("Scripting.FileSystemObject")sFile = "c:\users\owner\scripts\IPlist.ini"If oFSO.FileExists(sFile) ThenSet oFile = oFSO.OpenTextFile(sFile, 1)Do While Not oFile.AtEndOfStreamsText = oFile.ReadLineIf Trim(sText) <> - ThenstrCommand = sTextwscript.echo "IP Address is: " & sTextEnd IfLoopoFile.Close
ElseWScript.Echo "The file was not there."End IfWScript.Quit</script></job>

此代码的作用是使用Windows文件系统对象打开文件,然后一次读取一行文本,直到

现在您知道如何从文本文件中读取每个IP地址了,如何使用Windows脚本执行Ping操作?

与读取文本文件相比,Ping有点复杂,因为您必须使用Windows Management Instrumentation脚本(WMI)。看起来就是这样。

<job><script language="VBScript">Option ExplicitOn Error Resume Next
Dim colPingResults, objPingResult, strQueryDim strIPtextstrIPtext = "192.168.1.105"
' WMI querystrQuery = "SELECT * FROM Win32_PingStatus WHERE Address = '" & strIPtext & "'"
Set colPingResults = GetObject("winmgmts://./root/cimv2").ExecQuery( strQuery )
' Translate query results
For Each objPingResult In colPingResultsIf Not IsObject( objPingResult ) ThenPing = Falsewscript.echo strIPtext & " is not pingable"ElseIf objPingResult.StatusCode = 0 ThenPing = Truewscript.echo strIPtext & " is pingable"ElsePing = Falsewscript.echo strIPtext & " is not pingable"End IfNextSet colPingResults = NothingWScript.Quit</script></job>

看看这有多容易?当我运行它时,它会弹出一个弹出窗口,显示该IP是否可ping通。

在此脚本中,我仅ping通了一个IP地址,但您要做的就是嵌入从文本文件中读取每个IP地址后,便可以ping到上一个脚本,然后您可以ping列表中的每个IP地址。

最后,虽然可以运行一个脚本很不错会检查IP地址并弹出一个窗口,如果有任何错误,每天或每天多次运行脚本,并让它自动通过电子邮件发送问题不是很好吗?

要这样做那,您需要知道如何在脚本内发送电子邮件。如果您在网上进行调查,您会发现人们有数十种(或更多)方法来实现这一目标。到目前为止,最流行的方法是使用CDO方法。您可以修改参数以使用您喜欢的任何其他SMTP邮件服务器。

现在,您要做的就是将这三段代码放在一起。这样做时,脚本将读取每个IP地址列表,对每个IP地址执行ping操作,然后将该字符串作为消息正文发送到通知电子邮件。这就是电子邮件的样子。

您可以想象,这在IT世界中非常有用,因为您可以无休止地关注24小时的设备和服务器,在IT世界中那天。任何时候只要您拥有可以为您检查事情的自动化脚本,就都可以做。

尝试这些Windows脚本,看看它是否有助于您优化工作并提高效率。您是否知道可以使用Windows脚本执行任何其他有趣的操作?在下面的评论部分分享您的想法。

标签: