[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] VBS脚本怎样批量ping的电脑名称?

[分享] 批量PING计算机,返回不通的计算机列表
  1. lists = "SERVER;PENYAN;Caiwu;andysky"
  2. aMachines = split(lists,";")
  3. For Each machine in aMachines
  4.     Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
  5.         ExecQuery("select * from Win32_PingStatus where address = '"& machine & "'")
  6.     For Each objStatus in objPing
  7.         If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then ss = ss &vbcr&  machine
  8.     Next
  9. Next
  10. WScript.Echo("以下计算机PING不通:" & ss )
复制代码
其中lists = "SERVER;ENYAN;LIU-XIELI;andysky"表示四台电脑的名字,你可以将你的局域网中所有电脑名输入进去,执行后将罗列出所有PING不通的电脑名字

以上Ping实例,查出来是ping不通的电脑名称,那如果改成ping通的,应该怎么修改VBS里的内容啊,谢谢,研究了下弄不好,谢谢!
如果批量查出得结果,可以导出为EXCEl格式或者txt格式就好了!!因为查出来的很多,没法比对,因为我要知道是那些电脑没关机,核对起来太麻烦!!谢谢!非常感谢!!

  1. lists = "SERVER;PENYAN;Caiwu;andysky"
  2. aMachines = split(lists,";")
  3. For Each machine in aMachines
  4.     Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
  5.         ExecQuery("select * from Win32_PingStatus where address = '"& machine & "'")
  6.     For Each objStatus in objPing
  7.         If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
  8.           s1 = s1 &vbcr&  machine
  9.         Else
  10.           s2 = s2 &vbcr&  machine
  11.         End If
  12.     Next
  13. Next
  14. Set fso=CreateObject("Scripting.Filesystemobject")
  15. Set f=fso.CreateTextFile("d:\ping_log",True)
  16. f.Write "ping通:"&vbCrLf&s2
  17. f.close
  18. WScript.Echo("保存为d:\ping_log.txt")
复制代码
---学无止境---

TOP

非常感谢版主,谢谢!我先试试看,谢谢!

TOP

返回列表