- ·上一篇文章:VBS脚本,删除某些类型文件+磁盘空间报告
- ·下一篇文章:批量修改快捷方式路径的VBS脚本
- ·百度中搜索更多的关于“根据IP扫描进程是否存在的VBS脚本,记录扫描结果”相关内容
- ·谷歌中搜索更多的关于“根据IP扫描进程是否存在的VBS脚本,记录扫描结果”相关内容
- ******申明******
- 本站文章内容有部分为收录网络中其他网友内容,DOS资源站不保证所有的代码都适合你使用。
- 由于编辑匆忙,有可能造成某些脚本文件出现丢失代码或代码无法运行的情况,请网友根据情况自行修改。
- 如果能将出错部分反馈给我,那就更好了。
根据IP扫描进程是否存在的VBS脚本,记录扫描结果
Option Explicit
'On Error Resume Next
Dim intStartingAddress,intEndingAddress,strSubnet,strComputer,ProName
Dim objShell,strCommand,objExecObject,strText
intStartingAddress = 1 '设置起始IP
intEndingAddress = 100 '设置结束IP
strSubnet = "192.168.0." '设置IP段前缀
ProName = "SMENU.exe" '你要检查的进程名,注意大小写
Dim Wsh,fso,logfile
Set Wsh = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set logfile = fso.OpenTextFile("扫描记录.txt",2,True)
logfile.Writeline time&" 开始扫描"
logfile.WriteBlankLines(1)
Dim i
For i = intStartingAddress to intEndingAddress
strComputer = strSubnet & i
Set objShell = CreateObject("WScript.Shell")
strCommand = "%comspec% /c ping -n 2 -w 500 " & strComputer & ""
Set objExecObject = objShell.Exec(strCommand)
Do While Not objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadAll()
If Instr(strText, "Reply") > 0 Then
If Not CheckPro(strComputer,ProName) Then
Doit(strComputer)
End If
End If
Loop
Next
logfile.WriteBlankLines(1)
logfile.Writeline time&" 扫描结束"
logfile.close
Msgbox "扫描结束",64,"扫描结束"
WScript.quit
Function CheckPro(strComputer,ProName)
Dim objWMIService,colProcesses,objProcess
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")
CheckPro = False
For Each objProcess in colProcesses
If objProcess.Name = ProName Then
CheckPro = True
Exit For
End If
Next
End Function
Sub Doit(strComputer)
logfile.Writeline "注意 "&strComputer&" 状态异常 "&time
Wsh.popup "注意 "&strComputer&" 状态异常",5
End Sub

