1
+ '********** Part 1 Declaring and Defining Variables ******************
2
+
3
+ 'VBS wants this, so it gets it
4
+ Option Explicit
5
+ On Error Resume Next
6
+ 'Declaring vars beacause VBS says I must
7
+ Dim objWMIService, objItem, colItems, FSO, strComputer, File, oShell, user, comp, GB, report, mhz, TextOutput
8
+
9
+ TextOutput = ""
10
+ 'Setting up env vars
11
+ Set oShell = CreateObject( "WScript.Shell" )
12
+ user=oShell.ExpandEnvironmentStrings( "%UserProfile%" )
13
+ comp=oShell.ExpandEnvironmentStrings( "%ComputerName%" )
14
+
15
+ 'This is needed
16
+ strComputer = "localhost"
17
+
18
+ 'Setting things up to work with the WMI system
19
+ Set objWMIService = GetObject( "winmgmts:\\" & strComputer & "\root\cimv2" )
20
+
21
+ '********** Part 4 Computer Information ******************
22
+
23
+ 'Writes general info about the computer to html file
24
+ TextOutput = TextOutput + "General Information" & vbCrLf
25
+
26
+ 'Getting the right WMI object
27
+ Set colItems = objWMIService.ExecQuery( "Select * from Win32_ComputerSystem" )
28
+
29
+ For Each objItem in colItems
30
+ 'Trying to get a nice neat figure in gigabytes
31
+ GB = objItem.TotalPhysicalMemory
32
+ GB = GB / 1000000000
33
+ 'This bit is doing the actual work
34
+ TextOutput = TextOutput + "Manufacturer: " & objItem.Manufacturer & vbCrLfLf
35
+ TextOutput = TextOutput + "Model: " & objItem.Model & vbCrLf
36
+ TextOutput = TextOutput + "SystemType: " & objItem.SystemType & vbCrLf
37
+ TextOutput = TextOutput + "PCSystemType: " & objItem.PCSystemType & vbCrLf
38
+ TextOutput = TextOutput + "NumberOfProcessors: " & objItem.NumberOfProcessors & vbCrLf
39
+ TextOutput = TextOutput + "Total Ram in Bytes: " & objItem.TotalPhysicalMemory & vbCrLf
40
+ TextOutput = TextOutput + "Total Ram in GB: " & round(GB) & vbCrLf
41
+ TextOutput = TextOutput + "Note: If the second digit of the bytes number is 4 or 5, double check the memory size, as the GB figure may have been rounded incorrectly"
42
+ next
43
+
44
+ '********** Part 5 Disk Information ******************
45
+
46
+ 'Writes info about the disk to html file
47
+ TextOutput = TextOutput + vbCrLf & vbCrLf & "Disk Information" & vbCrLf
48
+ Set colItems = objWMIService.ExecQuery( "Select * from Win32_diskdrive" )
49
+ For Each objItem in colItems
50
+ 'Getting nice neat figure in gigabytes
51
+ GB = objItem.size
52
+ GB = GB / 1000000000
53
+ 'Writing to the file
54
+ TextOutput = TextOutput + "Manufacturer: " & objItem.Manufacturer & vbCrLf
55
+ TextOutput = TextOutput + "Model: " & objItem.Model & vbCrLf
56
+ TextOutput = TextOutput + "InterfaceType: " & objItem.InterfaceType & vbCrLf
57
+ TextOutput = TextOutput + "Health Status: " & objItem.status & vbCrLf
58
+ TextOutput = TextOutput + "Size in Bytes: " & objItem.size & vbCrLf
59
+ TextOutput = TextOutput + "Size in GB: " & GB & vbCrLf
60
+ TextOutput = TextOutput + "Serial Numbers: " & objItem.SerialNumber & vbCrLf
61
+ next
62
+
63
+ '********** Part 6 Video Information ******************
64
+
65
+ 'Writes info about the Video controller to html file
66
+ TextOutput = TextOutput + vbCrLf & "Video Chipset Information" & vbCrLf
67
+
68
+ Set colItems = objWMIService.ExecQuery( "Select * from Cim_PCvideoController" )
69
+ For Each objItem in colItems
70
+ TextOutput = TextOutput + "Video Card/Chipset: " & objItem.name & vbCrLf
71
+ next
72
+
73
+ '********** Part 7 CPU Information ******************
74
+
75
+ 'Writes info about the CPU to html file
76
+ TextOutput = TextOutput + vbCrLf & "CPU Information" & vbCrLf
77
+ Set colItems = objWMIService.ExecQuery( "Select * from Win32_Processor" )
78
+ For Each objItem in colItems
79
+ mhz = objItem.MaxClockSpeed
80
+ mhz = mhz / 1000
81
+ TextOutput = TextOutput + "CPU Name: " & objItem.name & vbCrLf
82
+ TextOutput = TextOutput + "Number of Cores: " & objItem.NumberOfCores & vbCrLf
83
+ TextOutput = TextOutput + "Number of Threads: " & objItem.NumberOfLogicalProcessors & vbCrLf
84
+ TextOutput = TextOutput + "Clock Speed: " & mhz & vbCrLf
85
+ next
86
+
87
+ '********** Part 8 Memory Configuration Info ******************
88
+
89
+ TextOutput = TextOutput + vbCrLf & "Memory Configuration" & vbCrLf
90
+ Set colItems = objWMIService.ExecQuery( "Select * from Win32_PhysicalMemory" )
91
+ For Each objItem in colItems
92
+ GB = objItem.Capacity
93
+ GB = GB / 1000000000
94
+ TextOutput = TextOutput + "Bank Label: " & objItem.BankLabel & vbCrLf
95
+ TextOutput = TextOutput + "Device Locator: " & objItem.DeviceLocator & vbCrLf
96
+ TextOutput = TextOutput + "Speed in Mhz: " & objItem.Speed & vbCrLf
97
+ TextOutput = TextOutput + "Size in Bytes: " & objItem.Capacity & vbCrLf
98
+ TextOutput = TextOutput + "Size in GB: " & GB & vbCrLf
99
+ next
100
+
101
+ '********** Part 9 Unique IDs Info ******************
102
+
103
+ TextOutput = TextOutput + vbCrLf & "Unique Ids" & vbCrLf
104
+
105
+ Set colItems = objWMIService.ExecQuery( "Select * from Win32_ComputerSystemproduct" )
106
+ For Each objItem in colItems
107
+ TextOutput = TextOutput + "Service Tag: " & objItem.IdentifyingNumber & vbCrLf
108
+ TextOutput = TextOutput + "SKUNumber: " & objItem.SKUNumber & vbCrLf
109
+ TextOutput = TextOutput + "UUID: " & objItem.UUID & vbCrLf
110
+ next
111
+
112
+ '********** Part 10 (Optitional)Battery Info ******************
113
+
114
+ TextOutput = TextOutput + vbCrLf & "Battery Info" & vbCrLf
115
+
116
+ Set colItems = objWMIService.ExecQuery( "Select * from Win32_battery" )
117
+
118
+ For Each objItem in colItems
119
+ TextOutput = TextOutput + "Caption: " & objItem.Caption & vbCrLf
120
+ TextOutput = TextOutput + "BatteryStatusNum: " & objItem.BatteryStatus & vbCrLf
121
+ TextOutput = TextOutput + "Chemistry: " & objItem.Chemistry & vbCrLf
122
+ TextOutput = TextOutput + "Health Status: " & objItem.status & vbCrLf
123
+ next
124
+ Wscript.Echo(TextOutput)
125
+ WSCript.Quit
0 commit comments