标题: [问题求助] VBS脚本怎样批量ping的电脑名称? [打印本页]
作者: anbo2012 时间: 2012-6-11 20:53 标题: VBS脚本怎样批量ping的电脑名称?
[分享] 批量PING计算机,返回不通的计算机列表- lists = "SERVER;PENYAN;Caiwu;andysky"
- aMachines = split(lists,";")
- For Each machine in aMachines
- Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
- ExecQuery("select * from Win32_PingStatus where address = '"& machine & "'")
- For Each objStatus in objPing
- If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then ss = ss &vbcr& machine
- Next
- Next
- WScript.Echo("以下计算机PING不通:" & ss )
复制代码
其中lists = "SERVER;ENYAN;LIU-XIELI;andysky"表示四台电脑的名字,你可以将你的局域网中所有电脑名输入进去,执行后将罗列出所有PING不通的电脑名字
以上Ping实例,查出来是ping不通的电脑名称,那如果改成ping通的,应该怎么修改VBS里的内容啊,谢谢,研究了下弄不好,谢谢!
如果批量查出得结果,可以导出为EXCEl格式或者txt格式就好了!!因为查出来的很多,没法比对,因为我要知道是那些电脑没关机,核对起来太麻烦!!谢谢!非常感谢!!
作者: broly 时间: 2012-6-12 16:56
- lists = "SERVER;PENYAN;Caiwu;andysky"
- aMachines = split(lists,";")
- For Each machine in aMachines
- Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
- ExecQuery("select * from Win32_PingStatus where address = '"& machine & "'")
- For Each objStatus in objPing
- If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
- s1 = s1 &vbcr& machine
- Else
- s2 = s2 &vbcr& machine
- End If
- Next
- Next
-
- Set fso=CreateObject("Scripting.Filesystemobject")
- Set f=fso.CreateTextFile("d:\ping_log",True)
- f.Write "ping通:"&vbCrLf&s2
- f.close
-
-
- WScript.Echo("保存为d:\ping_log.txt")
复制代码
作者: anbo2012 时间: 2012-6-12 22:13
非常感谢版主,谢谢!我先试试看,谢谢!
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |