用VBScript收集系统信息并上传到ftp空间
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
之前无聊整理出来了一份这个东西,因为在单位给新入职的员工配电脑时,需要登记一遍设备,可每次总要查感觉挺麻烦,结果下面的这份VBS脚本就诞生了,只可惜这个脚本做好了却没派上用场哎。。。 这个脚本的功能是运行后自动将查询到的计算机相关信息记录到一个文档中,然后在经过FTP将生成的文件上传至服务器保存,最后在清除运行脚本是生成的文件并删除自身。 下面是代码: 复制代码 代码如下: ''#####收集计算机信息_开始##### On Error Resume Next Set fso = CreateObject("Scripting.FileSystemObject") Set f1 = fso.CreateTextFile("info") strComputer = "." If Err.Description = "" Then ''收集本地计算机名称 Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem", , 48) J = 0 For Each objItem In colItems If J = 0 Then f1.write (Trim(objItem.Name)) Else f1.write (Trim(objItem.Name)) ''收集本地计算机名称 J = J + 1 Next ''收集计算机登录帐户 f1.write (chr(10)) f1.write (";") f1.write (chr(10)) Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem", , 48) J = 0 For Each objItem In colItems If J = 0 Then f1.write (Trim(objItem.UserName)) Else f1.write (Trim(objItem.UserName)) ''收集计算机登录帐户 J = J + 1 Next ''收集CPU信息 f1.write (chr(10)) f1.write (";") f1.write (chr(10)) Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor", , 48) J = 1 For Each objItem In colItems If J = 0 Then f1.write (Trim(objItem.Name)) Else f1.write (Trim(objItem.Name) & "||") J = J + 1 Next ''收集内存总容量 f1.write (chr(10)) f1.write (";") f1.write (chr(10)) Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem", , 48) J = 2 For Each objItem In colItems If J = 0 Then f1.write (Trim(objItem.TotalPhysicalMemory)/1024/1024 & " GB") Else f1.write (Trim(objItem.TotalPhysicalMemory)/1024/1024 & " GB" & "||") J = J + 1 Next ''收集显卡信息 f1.write (chr(10)) f1.write (";") f1.write (chr(10)) Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_VideoController", , 48) J = 4 For Each objItem In colItems If J = 0 Then f1.write (Trim(objItem.Caption) & (objItem.VideoModeDescription)) Else f1.write (Trim(objItem.Caption) & (objItem.VideoModeDescription) & "||") J = J + 1 Next ''收集硬盘基本信息 f1.write (chr(10)) f1.write (";") f1.write (chr(10)) Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive", , 48) J = 5 For Each objItem In colItems If J = 0 Then f1.write (Trim(objItem.Model) & (objItem.Size)/1024/1024/1024 & " GB" & (objItem.Partitions)) Else f1.write (Trim(objItem.Model) & "--" & (objItem.Size)/1024/1024/1024 & " GB" & "--" & (objItem.Partitions) & "||") J = J + 1 Next ''收集声卡信息 f1.write (chr(10)) f1.write (";") f1.write (chr(10)) Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_SoundDevice", , 48) J = 6 For Each objItem In colItems If J = 0 Then f1.write (Trim(objItem.ProductName)) Else f1.write (Trim(objItem.ProductName) & "||") J = J + 1 Next ''收集网卡信息 f1.write (chr(10)) f1.write (";") f1.write (chr(10)) Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter", , 48) J = 7 For Each objItem In colItems If J = 0 Then f1.write (Trim(objItem.NetConnectionID) & (objItem.Description) & (objItem.MACAddress) & (objItem.Manufacturer)) Else f1.write (Trim(objItem.NetConnectionID) & "--" & (objItem.ProductName) & "--" & (objItem.MACAddress) & "--" &(objItem.Manufacturer) & "||") J = J + 1 Next End If f1.Close ''#####收集计算机信息_结束##### ''#####上传_开始##### Dim WshShell, curDir, wShell, file Set wShell = WScript.CreateObject("Shell.Application") Set WshShell = WScript.CreateObject("WScript.Shell") Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject") Set OutPutFile = FileSystem.OpenTextFile("upload",2,True) Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem", , 48) J = 0 For Each objItem In colItems If J = 0 Then file = "info " & Trim(objItem.Name) & ".csv" Else file = "info " & Trim(objItem.Name) & ".csv" J = J + 1 Next OutPutFile.WriteLine "open 192.168.0.254 2020" OutPutFile.WriteLine "user iplog iplog" OutPutFile.WriteLine "put " & file OutPutFile.WriteLine "bye" OutPutFile.Close Wshshell.run "ftp -n -s:upload" Set wShell = Nothing Set WshShell = Nothing Set FileSystem = Nothing Set OutPutFile = Nothing ''#####上传_结束##### ''#####自删除_开始##### ''wscript.sleep 2000 ''Set obj = CreateObject("Scripting.FileSystemObject") ''obj.DeleteFile("upload") ''obj.DeleteFile("info") ''obj.DeleteFile(WScript.ScriptName) WScript.Quit(0) ''#####自删除_结束##### 上 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: excel2access vbs脚本下一篇: VBS调用WMI实现搜索硬盘mp3文件
关于用VBScript收集系统信息并上传到ftp空间的所有评论