Categories

root\wmi – ProcessorBiosInfo

The root\wmi namespace contains a massive number of classes. Unfortunately there appears to be very little documentation available for these classes. Another issue is that many of classes do not appear to return anything (at least on my Windows 7 system – further testing is required).

In this smalls series I intend to dig through some of these classes and see if we can find anything useful

There are a number of classes associated with the processor:

PS> Get-WmiObject -Namespace 'root\wmi' -List *Processor* | fw


ProcessorCStateEvent                ProcessorPerfStateEvent
ProcessorThrottleStateEvent         ProcessorAcpiCsdDependency
MSProcessorClass                    ProcessorBiosInfo
ProcessorBiosTStates                ProcessorStatus
ProcessorAcpiCsd                    ProcessorAcpiTsd
ProcessorBiosCStates                ProcessorAcpiCst
ProcessorAcpiXpss                   ProcessorAcpiTssState
ProcessorAcpiCstState               ProcessorAcpiTsdDependency
ProcessorPerformance                ProcessorAcpiXpssState
ProcessorAcpiTss

 

Out of this list the ProcessorBiosInfo works on Windows 7

PS> Get-WmiObject -Namespace 'root\wmi' -Class ProcessorBiosInfo


Active           : True
ApicId           : 0
InstanceName     : ACPI\AuthenticAMD_-_x86_Family_17_Model_3_-_AMD_Athlon_Dual-Core_QL-62\_0_0
NtNumber         : 0
PBlk             : 4112
PBlkLen          : 6
Pct              : System.Management.ManagementBaseObject
ProcessorId      : 0
Pss              : System.Management.ManagementBaseObject

 

Active and Instance name are obvious. The NtNumber is the OS processor Id

PBlk refers to the processor control block – address and length

 

The Pct and Pss objects can be drilled down into

 

$cpu = Get-WmiObject -Namespace 'root\wmi' -Class ProcessorBiosInfo
$cpu[0]
$cpu[0].Pct
$cpu[0].Pct.Control
$cpu[0].Pct.Status
$cpu[0].Pss
$cpu[0].Pss.State

Follow these through to see what may be useful.

We can see everything like this

001
002
003
004
005
006
007
008
009
010

Get-WmiObject -Namespace 'root\wmi' -Class ProcessorBiosInfo |
foreach {
 $_ | select * -ExcludeProperty __*
 
 $_.Pct.Control | select * -ExcludeProperty __*
 $_.Pct.Status | select * -ExcludeProperty __*
 
 $_.Pss.State | select * -ExcludeProperty __*

}

 

The class description just returns the following

ACPI Bios Processor Information

Leave a Reply