On Error Resume Next

Set fso = CreateObject ("Scripting.FileSystemObject")

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly       = &h20

Set objWMIService = GetObject ("winmgmts:\\localhost\root\CIMV2")

Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_ComputerSystem", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem In colItems
  WScript.echo Filename

  WScript.Echo "System :"
  WScript.Echo "Name            : " & objItem.Name
  WScript.Echo "Manufacturer    : " & objItem.Manufacturer
  WScript.Echo "Physical Memory : " & objItem.TotalPhysicalMemory & " (" & round (objItem.TotalPhysicalMemory / 1024 / 1024) & " Mo)"
Next
WScript.Echo

Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_BaseBoard", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

WScript.Echo "MotherBoard :"
For Each objItem In colItems
  WScript.Echo "Manufacturer : " & objItem.Manufacturer
  WScript.Echo "Model        : " & objItem.Model
  WScript.Echo "Product      : " & objItem.Product
  WScript.Echo "Version      : " & objItem.Version
Next
WScript.Echo

Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_Processor", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

cpu = ""
WScript.Echo "Processor : "
For Each objItem In colItems
  if cpu <> objItem.Name then
    WScript.Echo "Name   : " & objItem.Name
    WScript.Echo "Clock  : " & round (objItem.CurrentClockSpeed / 1000, 1) & " Ghz (Max = " & round (objItem.CurrentClockSpeed / 1000, 1) & " Ghz)"
    WScript.Echo "Socket : " & objItem.SocketDesignation
    cpu = objItem.Name
  end if
Next
WScript.Echo


Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_PhysicalMemory", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

i = 0
WScript.Echo "Memory :"
For Each objItem In colItems
  WScript.Echo objItem.BankLabel & " : " & objItem.Capacity & " (" & Round (objItem.Capacity / (1024 * 1024)) & " MB)"
  i = i + objItem.Capacity
Next
WScript.Echo "Total = " & Round (i / 1024 / 1024) & " MB"
WScript.Echo


Set IPConfigSet = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration")

WScript.Echo "Network :"
For Each IPConfig in IPConfigSet
  If Not IsNull (IPConfig.IPAddress) Then
    WScript.Echo "Card  : " & IPConfig.Caption
    WScript.Echo "MAC   : " & IPConfig.MACAddress
    WScript.Echo "DHCP  : " & IPConfig.DHCPEnabled
    For i = LBound(IPConfig.IPAddress) to UBound (IPConfig.IPAddress)
      WScript.Echo "IP    : " & IPConfig.IPAddress (i)
    Next
    WScript.Echo "Sub   : " & IPConfig.IpSubNet
    WScript.Echo "GW    : " & IPConfig.DefaultIPGateway
    WScript.Echo "DNS   : " & IPConfig.DNSServerSearchOrder
  End If
Next
WScript.Echo


Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_DiskDrive", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

WScript.Echo "HDD :"
For Each objItem In colItems
  WScript.Echo "Caption : " & objItem.Caption
  WScript.Echo "Model   : " & objItem.Model
  WScript.Echo "Size    : " & objItem.Size & " (" & Round (objItem.Size / (1024 * 1024 * 1024), 1) & " GB)"
  WScript.Echo
Next


Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_DiskPartition", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

WScript.Echo "Partitions :"
For Each objItem In colItems
  WScript.Echo objItem.Caption & " = " & objItem.Size & " (" & Round (objItem.Size / (1024 * 1024 * 1024), 1) & " GB)" & " : " & objItem.Description
  'WScript.Echo "Caption     : " & objItem.Caption
  'WScript.Echo "Description : " & objItem.Description
  'WScript.Echo "Size        : " & objItem.Size & " (" & Round (objItem.Size / (1024 * 1024 * 1024), 1) & " Go)"
Next
WScript.Echo

Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_VideoController", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

WScript.Echo "Display :"
For Each objItem In colItems
  WScript.Echo "Caption    : " & objItem.Caption
  WScript.Echo "AdapterRAM : " & objItem.AdapterRAM & " (" & objItem.AdapterRAM \ (1024 * 1024) & " MB)"
  WScript.Echo "Resolution : " & _
  objItem.CurrentHorizontalResolution & " x " & _
  objItem.CurrentVerticalResolution & " (" & _
  objItem.CurrentBitsPerPixel & " bits) - " & _
  objItem.CurrentRefreshRate & " Hz"
  WScript.Echo
Next

Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_OperatingSystem", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

WScript.Echo "Operating System :"
For Each objItem In colItems
  WScript.Echo objItem.Caption & " " & objItem.CSDVersion & " " & objItem.Version
Next
WScript.Echo

'PROXY
Set colItems = objWMIService.ExecQuery ("SELECT * FROM Win32_Proxy", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

WScript.Echo "Proxy :"
For Each objItem In colItems
  WScript.Echo objItem.ProxyServer & " : " & objItem.ProxyPortNumber
Next
'WScript.Echo