VBS收集电脑配置信息

以下是VBS代码收集电脑硬件配置信息的代码(CSV列表生成的形式):

ON ERROR RESUME NEXT
Temp = 0
Set WSHNetwork = WScript.CreateObject("WScript.Network")
UserName =InputBox("本次为IT收集公司电脑资产,不涉及其他信息收集,请输入此电脑所属人员,如已收集,请点击取消!如有疑问,请联系IT", "输入")
TempFiles ="\\sec.infiled.ad\Public\公共文件\电脑配置信息收集\市场部\"& UserName &".csv"
set wshshell=wscript.createobject("wscript.shell")
wshshell.run ("%comspec% /c regsvr32 /s scrrun.dll"),0,True
wshshell.run ("%comspec% /c sc config  winmgmt start= auto"),0,True
wshshell.run ("%comspec% /c net start winmgmt"),0
Set WshNetwork = WScript.Createobject("WScript.Network")
computername=WshNetwork.ComputerName

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TempFile = FSO.CreateTextFile(TempFiles)
strComputer = "."
Set objWMIService = Getobject("winmgmts:\\" & strComputer & "\root\cimv2")
 
Set CPU = objWMIService.ExecQuery("Select * From Win32_Processor")
For Each Item In CPU
CPU2 = "CPU:" & Item.Name
Next
 
Set Board = objWMIService.ExecQuery("Select * From Win32_BaseBoard")
For Each Item In Board
Board2 = "主板: " & Item.Manufacturer & Item.Product
Next
 
Set colItems = objWMIService.ExecQuery("Select * From Win32_PhysicalMemory")
For Each objItem In colItems
A = objItem.Capacity/1073741824
Temp = temp+objItem.Capacity
N = N+1
Next
Memory = Temp/1073741824
If N = 1 Then
Memory2 = "内存: " & N & "条" & A & "G"
Else
Memory2 = "内存: " & N & "条" & A & "G" &" 总计" & Memory & "G"
End If

Set Disk = objWMIService.ExecQuery("Select * From Win32_DiskDrive")
For Each Item In Disk
Disk2 = Disk2 & Item.Model & "("& Round(Item.Size/1000000000) & "G)   "
Next
Disk3 = "硬盘: " & Trim(Disk2)

Function GetIPMAC(ComputerName) 
Dim objWMIService,colItems,objItem,objAddress
Set objWMIService = GetObject("winmgmts://" & ComputerName & "/root/cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each objItem in colItems
 For Each objAddress in objItem.IPAddress
  If objAddress <> "" then
  GetIPMAC = objAddress & ",MAC:" & objItem.MACAddress
  Exit For
 End If  
 Next
 Exit For
Next
End Function

Set os = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") 
For Each Item in os
os= "OS: " & Item.Caption
Next
Set colItems = objWMIService.ExecQuery("Select * from Win32_VideoController", , 48)
 J = 0
    For Each objItem In colItems
     If J = 0 Then video2 =   (Trim(objItem.Caption) & (objItem.VideoModeDescription)) Else video3 =    (Trim(objItem.Caption) & (objItem.VideoModeDescription))
    J = J + 1
	Video2 = "显卡: " & Item.Description
Next

TempFile.WriteLine("UserName,Computername,OS,CPU,内存,硬盘,IP地址,MAC地址,显卡,主板")
TempFile.WriteLine(UserName&","&computername&","&os&","&CPU2&","&Memory2&","&Disk3&","&GetIPMAC(".")&","&Video2&video3&","&Board2)
TempFile.Close

猜你喜欢

转载自blog.csdn.net/qq_35209305/article/details/84225359