This script is used to gather system information and mail to a specified
email address. Information sent including:
- OS information
- Display information
- Desktop wallpaper
- Time Zone
- Physical memory
- BIOS version
- Processor
- Complete network information: all network cards, IP address, MAC address
and DHCP Server
Download SendSysInfo (vbs file)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Option Explicit
- On Error Resume Next
- Dim WshShell, objNet, objWMIService, strSubject, strBody
- Set WshShell = WScript.CreateObject ("WScript.Shell")
- Set objNet = WScript.CreateObject ("WScript.Network")
- strSubject = "Analysis of " & objNet.ComputerName & "."
- strBody = OS & vbNewLine & NicInfo
- SendMail "gogogadgetscott@hotmail.com", "gogogadgetscott@hotmail.com", strSubject, strBody
- Set objNet = Nothing
- Set WshShell = Nothing
- Sub SendMail(strTo, StrFrom, strSubject, strBody)
- Dim iMsg, olApp
- Set olApp = Wscript.CreateObject ("Outlook.Application")
- Set iMsg = olApp.CreateItem(0)
- With iMsg
- .Recipients.Add(strTo)
- .Subject = strSubject
- .Body = strBody
- .Display
- End With
- End Sub
- Function OS()
- Dim strComputer, colSettings, objOperatingSystem, objItem, objComputer, objBIOS, objProcessor
- strComputer = "."
- Set objWMIService = GetObject ("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
- Set colSettings = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
- OS = vbNewLine & "================ Operating System ================="
- For Each objOperatingSystem In colSettings
- OS = OS & vbNewLine & "OS Name: " & objOperatingSystem.Name
- OS = OS & vbNewLine & "Version: " & objOperatingSystem.Version
- OS = OS & vbNewLine & "Service Pack: " & objOperatingSystem.ServicePackMajorVersion & "." & objOperatingSystem.ServicePackMinorVersion
- OS = OS & vbNewLine & "OS Manufacturer: " & objOperatingSystem.Manufacturer
- OS = OS & vbNewLine & "Windows Directory: " & objOperatingSystem.WindowsDirectory
- OS = OS & vbNewLine & "Locale: " & objOperatingSystem.Locale
- OS = OS & vbNewLine & "Available Physical Memory: " & objOperatingSystem.FreePhysicalMemory
- OS = OS & vbNewLine & "Total Virtual Memory: " & objOperatingSystem.TotalVirtualMemorySize
- OS = OS & vbNewLine & "Available Virtual Memory: " & objOperatingSystem.FreeVirtualMemory
- OS = OS & vbNewLine & "OS Name: " & objOperatingSystem.SizeStoredInPagingFiles
- Next
- Set colSettings = objWMIService.ExecQuery("Select * from Win32_DisplayConfiguration",,48)
- OS = OS & vbNewLine & vbNewLine & "============== Display Configuration =============="
- For Each objItem In colSettings
- OS = OS & vbNewLine & "BitsPerPel: " & objItem.BitsPerPel
- OS = OS & vbNewLine & "Caption: " & objItem.Caption
- OS = OS & vbNewLine & "Description: " & objItem.Description
- OS = OS & vbNewLine & "DeviceName: " & objItem.DeviceName
- OS = OS & vbNewLine & "DisplayFlags: " & objItem.DisplayFlags
- OS = OS & vbNewLine & "DisplayFrequency: " & objItem.DisplayFrequency
- OS = OS & vbNewLine & "DitherType: " & objItem.DitherType
- OS = OS & vbNewLine & "DriverVersion: " & objItem.DriverVersion
- OS = OS & vbNewLine & "ICMIntent: " & objItem.ICMIntent
- OS = OS & vbNewLine & "ICMMethod: " & objItem.ICMMethod
- OS = OS & vbNewLine & "LogPixels: " & objItem.LogPixels
- OS = OS & vbNewLine & "PelsHeight: " & objItem.PelsHeight
- OS = OS & vbNewLine & "PelsWidth: " & objItem.PelsWidth
- OS = OS & vbNewLine & "SettingID: " & objItem.SettingID
- OS = OS & vbNewLine & "SpecificationVersion: " & objItem.SpecificationVersion
- Next
- OS = OS & vbNewLine & "Desktop Wallpaper: " & WshShell.RegRead("HKCU\Control Panel\Desktop\Wallpaper")
- Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
- OS = OS & vbNewLine & vbNewLine & "================= Computer System ================="
- For Each objComputer In colSettings
- OS = OS & vbNewLine & "System Name: " & objComputer.Name
- OS = OS & vbNewLine & "System Manufacturer: " & objComputer.Manufacturer
- OS = OS & vbNewLine & "System Model: " & objComputer.Model
- OS = OS & vbNewLine & "Time Zone: " & objComputer.CurrentTimeZone
- OS = OS & vbNewLine & "Total Physical Memory: " & objComputer.TotalPhysicalMemory
- Next
- Set colSettings = objWMIService.ExecQuery ("Select * from Win32_BIOS")
- For Each objBIOS In colSettings
- OS = OS & vbNewLine & "BIOS Version: " & objBIOS.Version
- Next
- Set colSettings = objWMIService.ExecQuery ("Select * from Win32_Processor")
- OS = OS & vbNewLine & vbNewLine & "==================== Processor ===================="
- For Each objProcessor In colSettings
- OS = OS & vbNewLine & "System Type : " & objProcessor.Architecture
- OS = OS & vbNewLine & "Processor: " & objProcessor.Description
- Next
- End Function
- Function NicInfo()
- Dim j, NIC1, Nic, StrNic, lngCount, StrIP, i
-
- Set NIC1 = GetObject ("winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
-
- For Each Nic In NIC1
-
- StrNIC = Nic.Description
-
- If Nic.IPEnabled Then
- lngCount=UBound (Nic.IPAddress)
- For i=0 To lngCount
- If i >= 0 Then
- NicInfo = vbNewLine & "======= Network Adapter Configuration ============="
- NicInfo = NicInfo & vbNewLine & StrNic & vbNewLine
- StrIP = vbTab & Nic.IPAddress(i)
- If StrIP <> "" Then
- NicInfo = NicInfo & vbNewLine & vbTab & "IP Address = " & StrIP
- NicInfo = NicInfo & vbNewLine & vbTab & "MAC Address = " & Nic.MACAddress
- NicInfo = NicInfo & vbNewLine & vbTab & "NIC Service (Short) Name = " & Nic.ServiceName
- NicInfo = NicInfo & vbNewLine & vbTab & "IP Subnet(s): "
- For j = 0 To UBound (Nic.IPSubnet)
- NicInfo = NicInfo & vbNewLine & vbTab & vbTab & Nic.IPSubnet(j)
- Next
- NicInfo = NicInfo & vbNewLine & vbTab & "Internet Database Files Path = " & Nic.DatabasePath
- NicInfo = NicInfo & vbNewLine & vbTab & "Dead Gateway Detection = " & Nic.DeadGWDetectEnabled
- NicInfo = NicInfo & vbNewLine & vbTab & "IP Gateway(s): "
- If IsArray (Nic.DefaultIPGateway) Then
- For j = 0 To UBound (Nic.DefaultIPGateway)
- NicInfo = NicInfo & vbNewLine & vbTab & vbTab & Nic.DefaultIPGateway(j)
- Next
- End If
- If Nic.DHCPEnabled Then
- NicInfo = NicInfo & vbNewLine & vbTab & "DHCP Assigned IP address = " & Nic.DHCPEnabled
- NicInfo = NicInfo & vbNewLine & vbTab & "DHCP Server = " & Nic.DHCPServer
- End If
- NicInfo = NicInfo & vbNewLine & vbTab & "DNS For WINS Resolution Enabled = " & Nic.DNSEnabledforWINSResolution
- NicInfo = NicInfo & vbNewLine & vbTab & "DNS Host Name = " & Nic.DNSHostName
- NicInfo = NicInfo & vbNewLine & vbTab & "DNS Servers:"
- If IsArray (Nic.DNSServerSearchOrder) Then
- For j=0 To UBound (Nic.DNSServerSearchOrder)
- NicInfo = NicInfo & vbNewLine & vbTab & vbTab & Nic.DNSServerSearchOrder(j)
- Next
- End If
- NicInfo = NicInfo & vbNewLine & vbTab & "IP Port Filtering Enabled = " & Nic.IPFilterSecurityEnabled
- If Nic.IPFilterSecurityEnabled Then
- NicInfo = NicInfo & vbNewLine & vbTab & "IP Filtering Enabled."
- If Nic.IPSecPermitIPProtocols <> 0 Then
- For j=0 To UBound (Nic.IPSecPermitIPProtocols)
- NicInfo = NicInfo & vbNewLine & vbTab & vbTab & "Protocol: " & Nic.IPSecPermitIPProtocols(j)
- Next
- Else
- NicInfo = NicInfo & vbNewLine & vbTab & vbTab & "No Protocols Filtered"
- End If
- If Nic.IPSecPermitTCPPorts <> 0 Then
- For j=0 To UBound (Nic.IPSecPermitTCPPorts)
- NicInfo = NicInfo & vbNewLine & vbTab & vbTab & "TCP Port: " & Nic.IPSecPermitTCPPorts(j)
- Next
- Else
- NicInfo = NicInfo & vbNewLine & vbTab & vbTab & "No TCP Ports Filtered"
- End If
- If Nic.IPSecPermitUDPPorts <> 0 Then
- For j=0 To UBound (Nic.IPSecPermitUDPPorts)
- NicInfo = NicInfo & vbNewLine & vbTab & vbTab & "UDP Port: " & Nic.IPSecPermitUDPPorts(j)
- Next
- Else
- NicInfo = NicInfo & vbNewLine & vbTab & vbTab & "No UDP Ports Filtered"
- End If
- End If
- NicInfo = NicInfo & vbNewLine & vbTab & "LMHOSTS Lookup Enabled = " & Nic.WINSEnableLMHostsLookup
- NicInfo = NicInfo & vbNewLine & vbTab & "WINS Lookup File = " & Nic.WINSHostLookupFile
- NicInfo = NicInfo & vbNewLine & vbTab & "Primary WINS Server = " & Nic.WINSPrimaryServer
- NicInfo = NicInfo & vbNewLine & vbTab & "Secondary WINS Server = " & Nic.WINSSecondaryServer
- NicInfo = NicInfo & vbNewLine & vbTab & "WINS Scope ID = " & Nic.WINSScopeID
- End If
- End If
- Next
- End If
- Next
- End Function
Download SendSysInfo (vbs file)