手机
当前位置:查字典教程网 >脚本专栏 >vbs >用VBScript收集系统信息并上传到ftp空间
用VBScript收集系统信息并上传到ftp空间
摘要:之前无聊整理出来了一份这个东西,因为在单位给新入职的员工配电脑时,需要登记一遍设备,可每次总要查感觉挺麻烦,结果下面的这份VBS脚本就诞生了...

之前无聊整理出来了一份这个东西,因为在单位给新入职的员工配电脑时,需要登记一遍设备,可每次总要查感觉挺麻烦,结果下面的这份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 & "rootcimv2")

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 & "rootcimv2")

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 & "rootcimv2")

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 & "rootcimv2")

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 & "rootcimv2")

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 & "rootcimv2")

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 & "rootcimv2")

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 & "rootcimv2")

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 & "rootcimv2")

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)

'#####自删除_结束#####

上传到ftp地址

open 192.168.0.254 2020

user iplog iplog

put info MDXY.csv

bye

【用VBScript收集系统信息并上传到ftp空间】相关文章:

校准系统时间的VBS代码

VBS教程:在 VBScript 中使用对象

用VBSrcipt判断是否是日期

VBScript 算一算你从出生到现在共计多少天

用vbscript来添加ip策略 自动封IP

VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP

利用WMI实现系统补丁检测分析

VBS监视网络连接与断开的代码

VBScript 剪贴板抓取URL并在浏览器中打开

用vbscript实现在文本文件中搜索两个项

精品推荐
分类导航