Something a friend sent me. It does more than just memory. It wrote the information to a path on the network when the script was run on the client. Warning: vb script contained in this message. start script:
' ---- Debugging and error handling
Dim strDebug
strDebug = "off"
if strDebug = "on" then
On Error Goto 0
else
On Error Resume Next
end if
If Err > 1 then
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description & Chr(13) & "Close this message to continue."

Err.Clear ' Clear the error
end if
' -- Script timer for performance assesment
Dim intStart
intStart = Timer
Dim WSHShell, WSHNetwork, strUserName, strComputerName, CRLF, strf2, strf3
Dim fso, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10
Set WSHShell=WScript.CreateObject("WScript.Shell"

Set WSHNetwork = WScript.CreateObject("WScript.Network"

strUserName = UCase(WSHNetwork.UserName)
if Len(Trim(strUserName)) < 1 then
strUserName = WSHShell.RegRead("HKLM\System\Current Control Set\Control\Current User"

end if
strComputerName = WSHNetwork.ComputerName
CRLF = Chr(13) & CHR(10)
' -- Administrator supplied variables
Dim strDomain, strUDrive, strUShare, strUPath, strDPath
strDomain = "Domain-A"
strUDrive = "I:"
strUShare = "\\usnas1\users"
strUPath = strUdrive & "\" & strUserName & "\_IT\"
strDPath = "\\usnts5\asset$\"
strCheck = "No"
Set oDrives = WshNetwork.EnumNetworkDrives
For i = 0 to oDrives.Count -1
if UCase(Left(oDrives.Item(i), 2)) = strUDrive then strCheck = "Yes"
Next
if strCheck = "No" then WSHNetwork.MapNetworkDrive strUDrive, strUShare
Set fso = CreateObject("Scripting.FileSystemObject"

' -- Create folder for machine and user
FolderCreate(strDPath & strComputerName)
FolderCreate(strUPath)
' ---------- Run Asset Sub-routines
' Must run BaseInfo
if fso.FileExists(strDPath & "\" & strComputerName & "\user.txt"

then
BaseInfo
Processor
MemorySlots
' VideoAdapter
Storage
' IO
NIC
' Drives
' UserOS
' UserDesktop
' InstalledPrinters
Finish
else
BaseInfo
Processor
MemorySlots
VideoAdapter
Storage
IO
NIC
Drives
UserOS
UserDesktop
InstalledPrinters
Finish
end if
' ===========================================================================
' Asset Sub-Routines
' ===========================================================================
' ----------- User information
sub BaseInfo
Set f1 = fso.CreateTextFile(strUPath & strComputerName & ".txt", True)
Set objADNet = GetObject("WinNT://" & strDomain & "/" & strUserName & ",user"
' -- USER.TXT - ComputerName;UserName;FullName;Description
f1.WriteLine "Computer: " & strComputerName
f1.WriteLine "User Name: " & objADNet.Name
f1.WriteLine "Full Name: " & objADNet.FullName
f1.WriteLine "Description: " & objADNet.Description
strf2 = strComputerName & ";" & strUserName & ";" & objADNet.FullName & ";" & objADNet.Description
Set objADNet = Nothing
' ----------- System information
' -- SYSTEM.TXT - ComputerName;Description;Manufacturer;Model;BIOS;BIOSVersion;SMBIOSVersion;SystemType
f1.WriteLine "----- System"
Set BIOSSet = GetObject("winmgmts:"

.ExecQuery ("select * from Win32_BIOS where PrimaryBIOS=true"

For Each BIOS in BIOSSet
strBIOS = Trim(BIOS.Description)
strBIOSVerison = BIOS.Version
if BIOS.SMBIOSPresent = true then
strSMBIOSVersion = BIOS.SMBIOSBIOSVersion
else
strSMBIOSVersion = "SMBIOS not installed."
end if
Next
Set BIOSSet = Nothing
Set SystemSet = GetObject("winmgmts:"

.InstancesOf("Win32_ComputerSystem"

For Each System in SystemSet
f1.WriteLine "Description: " & System.Description
f1.WriteLine "Manufacturer: " & System.Manufacturer
f1.WriteLine "Model: " & System.Model
f1.WriteLine "BIOS: " & strBIOS
f1.WriteLine "Version: " & strBIOSVersion
f1.WriteLine "SMBIOS: " & strSMBIOSVersion
f1.WriteLine "Owner: " & System.PrimaryOwnerName
f1.WriteLine "System Type: " & System.SystemType
f1.WriteLine "Memory: " & Round((System.TotalPhysicalMemory+655360)/1048576,0) & "Mb"
strf3 = strComputerName & ";" & Trim(System.Description) & ";" & Trim(System.Manufacturer) &_
";" & Trim(System.Model) & ";" & strBIOS & ";" & strBIOSVersion & ";" & strSMBIOSVersion &_
";" & System.SystemType
Next
Set SystemSet = Nothing
end sub ' BaseInfo
' ----------- Processor information
sub Processor
' -- CPU.TXT - ComputerName;CPUClock;CPUName;Description;SlotType
Set f4 = fso.CreateTextFile(strDPath & strComputerName & "\CPU.txt", True)
f1.WriteLine "----- Processor(s)"
Set CPUSet = GetObject("winmgmts:"

.InstancesOf("Win32_Processor"

f1.WriteLine "Nmbr Proc: " & CPUSet.Count
For Each CPU in CPUSet
f1.WriteLine "CPU Speed: " & CPU.CurrentClockSpeed & " MHz"
f1.WriteLine "CPU Name: " & CPU.Name
f1.WriteLine "Description: " & CPU.Description
f1.WriteLine "Slot Type: " & ShowMethod(CPU.UpgradeMethod)
f4.WriteLine strComputerName & ";" & CPU.CurrentClockSpeed & ";" & Trim(CPU.Name) &_
";" & Trim(CPU.Description) & ";" & ShowMethod(CPU.UpgradeMethod)
Next
Set CPUSet = Nothing
f4.Close
Set f4 = Nothing
end sub ' Processor
' ----------- Memory information
sub MemorySlots
' -- MEMORY.TXT - ComputerName;Bank;Size;SlotType;MemoryType
' -- SYSTEM.TXT - Append ;Memory
f1.WriteLine "----- Memory"
Set f5 = fso.CreateTextFile(strDPath & strComputerName & "\Memory.txt", True)
Set MemorySet = GetObject("winmgmts:"

.InstancesOf("Win32_PhysicalMemory"

Dim intMemTotal
intMemTotal = 0
For Each Memory in MemorySet
f1.WriteLine "Bank: " & Memory.BankLabel
f1.WriteLine "Size: " & Round(Memory.Capacity/1048576,0) & "Mb " & ShowMemorySlotType(Memory.FormFactor)
if (Memory.TotalWidth - Memory.DataWidth) > 0 then
f1.WriteLine "Type: " & ShowMemoryType(Memory.MemoryType) & ", ECC"
f5.WriteLine strComputerName & ";" & Memory.BankLabel & ";" & Memory.Capacity &_
";" & ShowMemorySlotType(Memory.FormFactor) & ";" & ShowMemoryType(Memory.MemoryType) & ", ECC"
else
f1.WriteLine "Type: " & ShowMemoryType(Memory.MemoryType)
f5.WriteLine strComputerName & ";" & Memory.BankLabel & ";" & Memory.Capacity &_
";" & ShowMemorySlotType(Memory.FormFactor) & ";" & ShowMemoryType(Memory.MemoryType)
end if
intMemTotal = intMemTotal + Memory.Capacity
Next
strf3 = strf3 & ";" & intMemTotal
Set CPUSet = Nothing
f5.Close
Set f5 = Nothing
end sub ' MemorySlots
' ----------- Video Controller information
sub VideoAdapter
' -- VIDEO.TXT - append ;VideoAdapter;VideoRAM;Resolution
Set f11 = fso.CreateTextFile(strDPath & strComputerName & "\Video.txt", True)
f1.WriteLine "----- Display Adapter"
Set VideoSet = GetObject("winmgmts:"

.InstancesOf("Win32_VideoController"

For Each Video in VideoSet
f1.WriteLine "Description: " & Video.Description
f1.WriteLine "Memory: " & Video.AdapterRam
f1.WriteLine "Resolution: " & Video.VideoModeDescription
f11.WriteLine strComputerName & ";" & Trim(Video.Description) & ";" & Video.AdapterRam & ";" & Video.VideoModeDescription
Next
Set VideoSet = Nothing
f11.Close
Set f11 = Nothing
end sub 'VideoAdapter
' ----------- Storage Device information
sub Storage
' -- STORAGE.TXT - ComputerName;Description;Manufacturer;Interface;Capacity;Partitions
f1.WriteLine "----- Storage"
Set f6 = fso.CreateTextFile(strDPath & strComputerName & "\Storage.txt", True)
Set FloppySet = GetObject("winmgmts:"

.InstancesOf("Win32_FloppyDrive"

if FloppySet.Count = 0 then
f1.WriteLine "Description: FDD not detected"
f6.WriteLine strComputerName & ";" & "FDD not detected;;;;"
else
For Each Floppy in FloppySet
f1.WriteLine "Description: " & Floppy.Description
f1.WriteLine "Manufacturer: " & Floppy.Manufacturer
f1.WriteLine "Name: " & Floppy.Name
f6.WriteLine strComputerName & ";" & Trim(Floppy.Description) & ";" & Trim(Floppy.Manufacturer) & ";FDD Controller;;"
Next
end if
Set FloppySet = Nothing
Set DiskSet = GetObject("winmgmts:"

.InstancesOf("Win32_DiskDrive"

For Each Disk in DiskSet
f1.WriteLine "Description: " & Disk.Description
f1.WriteLine "Manufacturer: " & Disk.Manufacturer
if Disk.InterfaceType = "SCSI" then
f1.WriteLine "Interface: SCSI ID-" & Disk.SCSITargetId
strInterface = "SCSI ID-" & Disk.SCSITargetId
else
f1.WriteLine "Interface: " & Disk.InterfaceType
strInterface = Disk.InterfaceType
end if
if Not IsNull(Disk.Size) then
f1.WriteLine "Size: " & Round(Disk.Size/1048576,2) & " Mb"
f1.WriteLine "Partitions: " & Disk.Partitions
end if
f6.WriteLine strComputerName & ";" & Trim(Disk.Description) & ";" & Trim(Disk.Manufacturer) &_
";" & strInterface & ";" & Disk.Size & ";" & Disk.Partitions
Next
Set DiskSet = Nothing
Set CDROMSet = GetObject("winmgmts:"

.InstancesOf("Win32_CDROMDrive"

if CDROMSet.Count = 0 then
f1.WriteLine "Description: CD-ROM not detected"
f6.WriteLine strComputerName & ";" & "CD-ROM not detected;;;;"
else
Dim strCD, strCDInterface
For Each CDROM in CDROMSet
if CDROM.Description = "CD-ROM Drive" then
strCD = Trim(CDROM.Caption)
f1.WriteLine "Description: " & CDROM.Caption
else
strCD = Trim(CDROM.Description)
f1.WriteLine "Description: " & CDROM.Description
end if
f1.WriteLine "Manufacturer: " & CDROM.Manufacturer
if CDROM.SCSITargetId > 0 then
strCDInterface = "SCSI, ID-" & CDROM.SCSITargetId
f1.WriteLine "Interface: SCSI, ID-" & CDROM.SCSITargetId
else
strCDInterface = "IDE"
f1.WriteLine "Interface: IDE"
end if
f6.WriteLine strComputerName & ";" & strCD & ";" & Trim(CDROM.Manufacturer) & ";" & strCDInterface & ";;"
Next
end if
Set CDROMSet = Nothing
f6.Close
Set f6 = Nothing
end sub ' Storage
' ----------- Input/Output information
sub IO
' -- IO.TXT - ComputerName;Description;Type
Set f7 = fso.CreateTextFile(strDPath & strComputerName & "\IO.txt", True)
f1.WriteLine "----- Input/Output"
Set KBSet = GetObject("winmgmts:"

.InstancesOf("Win32_Keyboard"

For Each KB in KBSet
f1.WriteLine "Device: " & KB.Description
f1.WriteLine "Type: " & KB.Layout
f7.WriteLine strComputerName & ";" & Trim(KB.Description) & ";" & KB.Layout
Next
Set KBSet = Nothing
Set MouseSet = GetObject("winmgmts:"

.InstancesOf("Win32_PointingDevice"

if MouseSet.Count = 0 then
f1.WriteLine "Device: Pointing device not detected"
f1.WriteLine "Type:"
f7.WriteLine strComputerName & ";Pointing device not detected;"
else
For Each Mouse in MouseSet
f1.WriteLine "Device: " & Mouse.Description
f1.WriteLine "Type: " & ShowPointingDeviceType(Mouse.PointingType)
f7.WriteLine strComputerName & ";" & Trim(Mouse.Description) & ";" & ShowPointingDeviceType(Mouse.PointingType)
Next
end if
Set USBSet = Nothing
Set LPTSet = GetObject("winmgmts:"

.InstancesOf("Win32_ParallelPort"

if LPTSet.Count = 0 then
f1.WriteLine "Device: Parallel Port not detected"
f1.WriteLine "Type:"
f7.WriteLine strComputerName & ";Parallel Port not detected;"
else
For Each LPT in LPTSet
f1.WriteLine "Device: " & LPT.Description
f1.WriteLine "Type: " & ShowProtocolType(LPT.ProtocolSupported)
f7.WriteLine strComputerName & ";" & Trim(LPT.Description) & ";" & ShowProtocolType(LPT.ProtocolSupported)
Next
end if
Set LPTSet = Nothing
Set COMSet = GetObject("winmgmts:"

.InstancesOf("Win32_SerialPort"

if COMSet.Count = 0 then
f1.WriteLine "Device: Serial Port not detected"
f1.WriteLine "Type:"
f7.WriteLine strComputerName & ";Serial Port not detected;"
else
For Each COM in COMSet
8 strCom = COM.ProviderType
if strCom <> "" then
f1.WriteLine "Device: " & COM.Description
f1.WriteLine "Type: " & strCOM
f7.WriteLine strComputerName & ";" & Trim(COM.Description) & ";" & strCOM
end if
Next
end if
Set COMSet = Nothing
Set ModemSet = GetObject("winmgmts:"

.InstancesOf("Win32_POTSModem"

if ModemSet.Count > 0 then
For Each Modem in ModemSet
f1.WriteLine "Device: " & Modem.AttachedTo
f1.WriteLine "Type: " & Modem.ProviderName & ", " & Modem.Name
f7.WriteLine strComputerName & ";" & Modem.AttachedTo & ";" & Trim(Modem.Name)
Next
end if
Set COMSet = Nothing
Set USBSet = GetObject("winmgmts:"

.InstancesOf("Win32_USBController"

if USBSet.Count = 0 then
f1.WriteLine "Device: USB not detected"
f1.WriteLine "Type:"
f7.WriteLine strComputerName & ";USB not detected;"
else
For Each USB in USBSet
f1.WriteLine "Device: " & USB.Description
f1.WriteLine "Type: " & ShowProtocolType(USB.ProtocolSupported)
f7.WriteLine strComputerName & ";" & Trim(USB.Description) & ";" & ShowProtocolType(USB.ProtocolSupported)
Next
end if
Set USBSet = Nothing
f7.Close
Set f7 = Nothing
end Sub ' IO
' ----------- Adapter information
sub NIC
' -- NIC.TXT - ComputerName;Adapter;MACAddress;DHCP;IPAddress;SubnetMask;Gateway;DNS;WINS
Set f8 = fso.CreateTextFile(strDPath & strComputerName & "\NIC.txt", True)
f1.WriteLine "----- Network"
Set AdapterSet = GetObject("winmgmts:"

.ExecQuery("select * from Win32_NetworkAdapterConfiguration where IPEnabled=true"

for each Adapter in AdapterSet
strIPAddress = ""
strIPAddress = Adapter.IPAddress(0)
if strIPAddress <> "" then
f1.WriteLine "Adapter: " & Adapter.Description
f1.WriteLine "MAC: " & Adapter.MACAddress
if Adapter.DHCPEnabled = true then
f1.WriteLine "DHCP Enabled"
strDHCP = "Enabled"
else
f1.WriteLine "DHCP Disabled"
strDHCP = "Disabled"
end if
f1.WriteLine "IP: " & Adapter.IPAddress(0)
f1.WriteLine "SM: " & Adapter.IPSubnet(0)
f1.WriteLine "GW: " & Adapter.DefaultIPGateway(0)
f1.WriteLine "DNS: " & Adapter.DNSServerSearchOrder(0)
f1.WriteLine "WINS: " & Adapter.WINSPrimaryServer(0) & " " & Adapter.WINSSecondaryServer(0)
f8.WriteLine strComputerName & ";" & Trim(Adapter.Description) & ";" & Adapter.MACAddress & ";" & strDHCP &_
";" & Adapter.IPAddress(0) & ";" & Adapter.IPSubnet(0) & ";" & Adapter.DefaultIPGateway(0) &_
";" & Adapter.DNSServerSearchOrder(0) & ";" & Adapter.WINSPrimaryServer(0)
end if
next
Set AdapterSet = Nothing
f8.Close
Set f8 = Nothing
end sub ' NIC
' -------- Get logical disk information
sub Drives
' -- DRIVES.TXT - ComputerName;DeviceID;Description;FileSystem;Size;FreeSpace
f1.WriteLine "----- Disk Drives"
Set f9 = fso.CreateTextFile(strDPath & strComputerName & "\Drives.txt", True)
Set DiskSet = GetObject("winmgmts:"

.InstancesOf ("Win32_LogicalDisk"

for each Disk in DiskSet
if Not Disk.DriveType = 4 then
f1.WriteLine Disk.DeviceID & " " & Disk.Description
f1.WriteLine "" & Disk.FileSystem
if Not IsNull(Disk.Size) then
f1.WriteLine Round(Disk.Size/1048576,2) & "Mb total " & Round(Disk.FreeSpace/1048576,2) & "Mb free"
end if
f9.WriteLine strComputerName & ";" & Disk.DeviceID & ";" & Disk.Description & ";" & Disk.FileSystem &_
";" & Disk.Size & ";" & Disk.FreeSpace
else
f9.WriteLine strComputerName & ";" & Disk.DeviceID & ";" & Disk.ProviderName & ";" & Disk.FileSystem &_
";" & Disk.Size & ";" & Disk.FreeSpace
end if
next
Set DiskSet = Nothing
f9.Close
Set f9 = Nothing
end sub ' Drives
' -------- Operating system
sub UserOS
' -- USER.TXT - append ;OS;Version;PatchLevel;SerialNo;WinDir
f1.WriteLine "----- Operating System"
Set OSSet = GetObject("winmgmts:"

.InstancesOf ("Win32_OperatingSystem"

for each OS in OSSet
f1.WriteLine "Operating System: " & OS.Caption
f1.WriteLine "Version: " & OS.Version
f1.WriteLine "Patch Level: " & OS.CSDVersion
f1.WriteLine "Serial Number: " & OS.SerialNumber
f1.WriteLine "Windows Directory: " & OS.WindowsDirectory
strf2 = strf2 & ";" & OS.Caption & ";" & OS.Version & ";" & OS.CSDVersion & ";" & OS.SerialNumber &_
";" & OS.WindowsDirectory
next
Set OSSet = Nothing
end sub ' UserOS
' -------- Desktop
sub UserDesktop
' -- USER.TXT - append ;ScreenSaver;SSFile;SSSecured;Wallpaper
f1.WriteLine "----- Desktop"
Set DeskTopSet = GetObject("winmgmts:"

.InstancesOf ("Win32_Desktop"

For each Desktop in DesktopSet
if UCase(Desktop.Name) = UCase(strDomain & "\" & strUserName) then
f1.WriteLine "Screen Saver: " & Desktop.ScreenSaverActive
f1.WriteLine "File: " & Desktop.ScreenSaverExecutable
f1.WriteLine "Secured: " & Desktop.ScreenSaverSecure
f1.WriteLine "Wallpaper: " & Desktop.Wallpaper
strf2 = strf2 & ";" & Desktop.ScreenSaverActive & ";" & Desktop.ScreenSaverExecutable &_
";" & Desktop.ScreenSaverSecure & ";" & Desktop.Wallpaper
end if
Next
Set DesktopSet = Nothing
end sub ' UserDesktop
' -------- Printers
sub InstalledPrinters
' -- PRINTER.TXT - ComputerName;PrinterName;Driver;Resolution
f1.WriteLine "----- Printers"
Set f10 = fso.CreateTextFile(strDPath & strComputerName & "\Printer.txt", True)
Set PrinterSet = GetObject("winmgmts:"

.InstancesOf ("Win32_Printer"

If (PrinterSet.Count = 0 ) Then
f1.WriteLine "No printers installed"
f10.WriteLine strComputerName & ";" & "No printers installed;;"
else
for each Printer in PrinterSet
strIPAddress = ""
strIPAddress = WSHShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\HP JetDirect Port\Ports\" & Printer.PortName & "\HPNetworkPrinterID"

if strIPAddress <> "" then
strIPAddress = Replace(strIPAddress, "TCPIP,", ""

strIPAddress = Replace(strIPAddress, ",0", ""

else
strIPAddress = WSHShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\LPR Port\Ports\" & Printer.PortName & "\Server Name"

end if
f1.WriteLine "---------------------------------------------"
f1.WriteLine " Printer: " & Printer.Name
f1.WriteLine " Port Name: " & Printer.PortName
f1.WriteLine " IP Address: " & strIPAddress
f1.WriteLine " Share Name: " & Printer.ShareName
f1.WriteLine " Location: " & Printer.Location
f1.WriteLine "Description: " & WSHShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers\" & Printer.PortName & "\Description"

f1.WriteLine " Driver: " & Printer.DriverName
f1.WriteLine " Resolution: " & Printer.HorizontalResolution & " dpi"
f10.WriteLine strComputerName & ";" & Printer.Name & ";" & Printer.DriverName &_
";" & Printer.HorizontalResolution
next
end if
Set PrinterSet = Nothing
f10.Close
Set f10 = Nothing
end sub ' InstalledPrinters
' --------- Close the files
sub Finish
f1.Close ' Computer_Name.txt
Set f1 = Nothing
if strDebug = "on" then
' -- Running Notepad to display the file
WshShell.Run "Notepad.exe " & strUPath & strComputerName & ".txt"
WScript.Sleep 100
WshShell.AppActivate strComputerName & ".txt - Notepad"
end if
Set f2 = fso.CreateTextFile(strDPath & strComputerName & "\User.txt", True)
f2.WriteLine strf2
f2.Close ' User.txt
Set f2 = Nothing
Set f3 = fso.CreateTextFile(strDPath & strComputerName & "\System.txt", True)
f3.WriteLine strf3 & ";" & Round((Timer - intStart)*100,0)
f3.Close ' System.txt
Set f3 = Nothing
if strCheck = "No" then WshNetwork.RemoveNetworkDrive strUdrive
end sub ' Finish
' ===========================================================================
' Defined Functions
' ===========================================================================
Dim strTemp, strName
Function FolderCreate(strName)
strTemp = strName
If fso.FolderExists(strTemp) = FALSE Then
fso.CreateFolder(strTemp)
End If
strName = strTemp
End Function ' FolderCreate
' -- Processor Slot Types
Function ShowMethod(strName)
strTemp = strName
Select Case strTemp
Case "1" strTemp = "Other"
Case "2" strTemp = "Unknown"
Case "3" strTemp = "Daughter Board"
Case "4" strTemp = "ZIF Socket"
Case "5" strTemp = "Replacement/Piggy Back"
Case "6" strTemp = "None"
Case "7" strTemp = "LIF Socket"
Case "8" strTemp = "Slot 1"
Case "9" strTemp = "Slot 2"
Case "10" strTemp = "370 Pin Socket"
Case "11" strTemp = "Slot A"
Case "12" strTemp = "Slot M"
End Select
ShowMethod = strTemp
End Function ' ShowMethod
' -- I/O Device Protocol Types
Function ShowProtocolType(strName)
strTemp = strName
Select Case strTemp
Case "1" strTemp = "Other"
Case "2" strTemp = "Unknown"
Case "3" strTemp = "EISA"
Case "4" strTemp = "ISA"
Case "5" strTemp = "PCI"
Case "6" strTemp = "ATA/ATAPI"
Case "7" strTemp = "Flexible Diskette"
Case "8" strTemp = "1496"
Case "9" strTemp = "SCSI Parallel Interface"
Case "10" strTemp = "SCSI Fibre Channel Protocol"
Case "11" strTemp = "SCSI Serial Bus Protocol"
Case "12" strTemp = "SCSI Serial Bus Protocol-2 (1394)"
Case "13" strTemp = "SCSI Serial Storage Architecture"
Case "14" strTemp = "VESA"
Case "15" strTemp = "PCMCIA"
Case "16" strTemp = "Universal Serial Bus"
Case "17" strTemp = "Parallel Protocol"
Case "18" strTemp = "ESCON"
Case "19" strTemp = "Diagnostic"
Case "20" strTemp = "I2C"
Case "21" strTemp = "Power"
Case "22" strTemp = "HIPPI"
Case "23" strTemp = "MultiBus"
Case "24" strTemp = "VME"
Case "25" strTemp = "IPI"
Case "26" strTemp = "IEEE-488"
Case "27" strTemp = "RS232"
Case "28" strTemp = "IEEE 802.3 10BASE5"
Case "29" strTemp = "IEEE 802.3 10BASE2"
Case "30" strTemp = "IEEE 802.3 1BASE5"
Case "31" strTemp = "IEEE 802.3 10BROAD36"
Case "32" strTemp = "IEEE 802.3 100BASEVG"
Case "33" strTemp = "IEEE 802.5 Token-Ring"
Case "34" strTemp = "ANSI X3T9.5 FDDI"
Case "35" strTemp = "MCA"
Case "36" strTemp = "ESDI"
Case "37" strTemp = "IDE"
Case "38" strTemp = "CMD"
Case "39" strTemp = "ST506"
Case "40" strTemp = "DSSI"
Case "41" strTemp = "QIC2"
Case "42" strTemp = "Enhanced ATA/IDE"
Case "43" strTemp = "AGP"
Case "44" strTemp = "TWIRP (two-way infrared)"
Case "45" strTemp = "FIR (fast infrared)"
Case "46" strTemp = "SIR (serial infrared)"
Case "47" strTemp = "IrBus"
End Select
ShowProtocolType = strTemp
End Function ' ShowProtocolType
' -- Pointing Device Types
Function ShowPointingDeviceType(strName)
strTemp = strName
Select Case strTemp
Case "1" strTemp = "Other"
Case "2" strTemp = "Unknown"
Case "3" strTemp = "Mouse"
Case "4" strTemp = "Track Ball"
Case "5" strTemp = "Track Point"
Case "6" strTemp = "Glide Point"
Case "7" strTemp = "Touch Pad"
Case "8" strTemp = "Touch Screen"
End Select
ShowPointingDeviceType = strTemp
End Function ' ShowPointingDeviceType
' -- Memory Form Factor
Function ShowMemorySlotType(strName)
strTemp = strName
Select Case strTemp
Case "0" strTemp = "Unknown"
Case "1" strTemp = "Other"
Case "2" strTemp = "SIP"
Case "3" strTemp = "DIP"
Case "4" strTemp = "ZIP"
Case "5" strTemp = "SOJ"
Case "6" strTemp = "Proprietary"
Case "7" strTemp = "SIMM"
Case "8" strTemp = "DIMM"
Case "9" strTemp = "TSOP"
Case "10" strTemp = "PGA"
Case "11" strTemp = "RIMM"
Case "12" strTemp = "SODIMM"
End Select
ShowmemorySlotType = strTemp
End Function ' ShowMemorySlotType
' -- Memory Type
Function ShowMemoryType(strName)
strTemp = strName
Select Case strTemp
Case "1" strTemp = "Unknown"
Case "2" strTemp = "Other"
Case "3" strTemp = "DRAM"
Case "4" strTemp = "Synchronous DRAM"
Case "5" strTemp = "Cache DRAM"
Case "6" strTemp = "EDO"
Case "7" strTemp = "EDRAM"
Case "8" strTemp = "VRAM"
Case "9" strTemp = "SRAM"
Case "10" strTemp = "RAM"
Case "11" strTemp = "ROM"
Case "12" strTemp = "Flash"
Case "13" strTemp = "EEPROM"
Case "14" strTemp = "FEPROM"
Case "15" strTemp = "EPROM"
Case "16" strTemp = "CDRAM"
Case "17" strTemp = "3DRAM"
Case "18" strTemp = "SDRAM"
Case "19" strTemp = "SGRAM"
End Select
ShowmemoryType = strTemp
End Function ' ShowMemoryType