' ============================================================
' GetProcessorReport.vbs
'
' Reports Processor Info via WMI (Win32_Processor).
'
' Usage: cscript GetProcessorReport.vbs
' ============================================================

Option Explicit

Dim objWMIService, colItems, objItem, strOutput

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT Name, NumberOfCores, NumberOfLogicalProcessors, MaxClockSpeed FROM Win32_Processor")

strOutput = ""
For Each objItem In colItems
    strOutput = strOutput & "Name: " & objItem.Name & vbCrLf
    strOutput = strOutput & "NumberOfCores: " & objItem.NumberOfCores & vbCrLf
    strOutput = strOutput & "NumberOfLogicalProcessors: " & objItem.NumberOfLogicalProcessors & vbCrLf
    strOutput = strOutput & "MaxClockSpeed: " & objItem.MaxClockSpeed & vbCrLf
    strOutput = strOutput & String(40, "-") & vbCrLf
Next

If strOutput = "" Then
    WScript.Echo "No Processor Info found."
Else
    WScript.Echo strOutput
End If