![]() |
The following steps describe how to retrieve processor information.
1. Find the instance of CIM_ComputerSystem representing the managed host, as described in Discovering CIM_ComputerSystem.
2. From CIM_ComputerSystem instance, traverse the CIM_SystemDevice association class to find the instances of CIM_Processor and examine each object:
3. For each object examine:
a. CIM_Processor.DeviceID to see the address or other identifying information to uniquely name the LogicalDevice.
b. CIM_Processor.Stepping to see the free-form string that indicates the revision level of the Processor within the Processor.Family.
c. CIM_Processor.MaxClockSpeed to see the maximum speed (in MHz) of this Processor.
d. CIM_Processor.CPUStatus to see the current status of the Processor.
e. CIM_Processor.Role to see the free-form string that describes the role of the Processor.
f. CIM_Processor.Family to see the Processor family type.
|
Starting with Release 7.0, if the BIOS sets the processor family to Other (1), Intel AMT will return a value of Unknown (2) to maintain DASH compatibility. |
g. CIM_Processor.UpgradeMethod to see the CPU socket information that includes data on how this Processor can be upgraded (if upgrades are supported).
Click here for a snippet demonstrating this step
You can execute this snippet by inserting it into the execution template found here.
# Create reference to the CIM_ComputerSystem instance.
$computerSystemRef =$wsmanConnectionObject.NewReference("Select * FROM CIM_ComputerSystem WHERE Name='ManagedSystem'")
$systemDeviceRef =$wsmanConnectionObject.NewReference("CIM_SystemDevice")
$systemDeviceRef.AddSelector("GroupComponent",$computerSystemRef)
# Traverse to the CIM_SystemDevice instances that are connected to CIM_ComputerSystem.
foreach($systemDeviceItem in$systemDeviceRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter",$null))
{
# For each instance, check if it is associated to the CIM_Processor instance.
if($systemDeviceItem.Object.GetProperty("PartComponent").IsA("CIM_Processor"))
{
# Get the CIM_Processor object using its EPR.
$processorInstance =$systemDeviceItem.Object.GetProperty("PartComponent").Ref.Get()
$deviceID =$processorInstance.GetProperty("DeviceID")
$stepping =$processorInstance.GetProperty("Stepping")
$maxClockSpeed =$processorInstance.GetProperty("MaxClockSpeed")
$cpuStatus =$processorInstance.GetProperty("CPUStatus")
$role =$processorInstance.GetProperty("Role")
$family =$processorInstance.GetProperty("Family")
$upgradeMethod =$processorInstance.GetProperty("UpgradeMethod")
}
}
4. Enumerate instances of CIM_Chip and examine each object:
5. For each object examine:
a. CIM_Chip.Manufacturer to see the name of the organization responsible for producing the Physical Element.
b. CIM_Chip.Version to see the version of the Physical Element.
Click here for a snippet demonstrating this step
You can execute this snippet by inserting it into the execution template found here.
# Create reference to the CIM_ComputerSystem instance.
$computerSystemRef =$wsmanConnectionObject.NewReference("SELECT * FROM CIM_ComputerSystem WHERE Name='ManagedSystem'")
$systemDeviceRef =$wsmanConnectionObject.NewReference("CIM_SystemDevice")
$systemDeviceRef.AddSelector("GroupComponent",$computerSystemRef)
# Traverse to the CIM_SystemDevice instances that are connected to CIM_ComputerSystem instance.
foreach($systemDeviceItem in$systemDeviceRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter",$null))
{
# For each instance, check if it is associated to the CIM_Processor instance.
if($systemDeviceItem.Object.GetProperty("PartComponent").IsA("CIM_Processor"))
{
# Create reference to the CIM_Processor instance.
$processorRef =$systemDeviceItem.Object.GetProperty("PartComponent").Ref
$realizesRef =$wsmanConnectionObject.NewReference("CIM_Realizes")
$realizesRef.AddSelector("Dependent",$processorRef)
# Traverse to the CIM_Realizes instances that are connected to the CIM_Processor instance.
foreach($realizesItem in$realizesRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter",$null))
{
# For each instance, check if it is associated to the CIM_Chip instance.
if($realizesItem.Object.GetProperty("Antecedent").IsA("CIM_Chip"))
{
# Get the CIM_Chip object using its EPR.
$chipInstance =$realizesItem.Object.GetProperty("Antecedent").Ref.Get()
$manufacturer =$chipInstance.GetProperty("Manufacturer")
$version =$chipInstance.GetProperty("Version")
}
}
}
}
6. Enumerate instances of CIM_Location and examine each object:
7. For each object examine CIM_Location.PhysicalPosition to see the free-form string that indicates the placement of a Physical Element.
Click here for a snippet demonstrating this step
You can execute this snippet by inserting it into the execution template found here.
# Create reference to the CIM_ComputerSystem instance.
$computerSystemRef =$wsmanConnectionObject.NewReference("SELECT * FROM CIM_ComputerSystem WHERE Name='ManagedSystem'")
$systemDeviceRef =$wsmanConnectionObject.NewReference("CIM_SystemDevice")
$systemDeviceRef.AddSelector("GroupComponent",$computerSystemRef)
# Traverse to the CIM_SystemDevice instances that are connected to CIM_ComputerSystem instance.
foreach($systemDeviceItem in$systemDeviceRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter",$null))
{
# For each instance, check if it is associated to the CIM_Processor instance.
if($systemDeviceItem.Object.GetProperty("PartComponent").IsA("CIM_Processor"))
{
# Create reference to the CIM_Processor instance.
$processorRef =$systemDeviceItem.Object.GetProperty("PartComponent").Ref
$realizesRef =$wsmanConnectionObject.NewReference("CIM_Realizes")
$realizesRef.AddSelector("Dependent",$processorRef)
# Traverse to the CIM_Realizes instances that are connected to the CIM_Processor instance.
foreach($realizesItem in$realizesRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter",$null))
{
# For each instance, check if it is associated to the CIM_Chip instance.
if($realizesItem.Object.GetProperty("Antecedent").IsA("CIM_Chip"))
{
# Create reference to the CIM_Chip instance.
$chipRef =$realizesItem.Object.GetProperty("Antecedent").Ref
$physicalElementLocationRef =$wsmanConnectionObject.NewReference("CIM_PhysicalElementLocation")
$physicalElementLocationRef.AddSelector("Element",$chipRef)
# Traverse to the CIM_PhysicalElementLocation instances that are connected to the CIM_Chip instance.
foreach($physicalElementLocationItem in$physicalElementLocationRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter",$null))
{
# For each instance, check if it is associated to the CIM_Location instance.
if($physicalElementLocationItem.Object.GetProperty("PhysicalLocation").IsA("CIM_Location"))
{
# Get the CIM_Location object using its EPR.
$locationInstance =$physicalElementLocationItem.Object.GetProperty("PhysicalLocation").Ref.Get()
$physicalPosition =$locationInstance.GetProperty("PhysicalPosition")
}
}
}
}
}
}
Instance Diagram
Classes Used in This Flow
• CIM_Chip
SDK Sample
If there is a sample demonstrating this flow, it is included in the SDK installation file. See SDK Installation Layout for details.
|
The DSP1022 DASH profile (CPU Profile) describes the CPU profile in detail, including CIM_Processor, but does not have a specific use-case for retrieving information from it. The DSP1011 DASH profile (Physical Asset Profile) mentions CIM_Chip, but does not have a specific use-case for retrieving information from it. |
Copyright © 2006-2022, Intel Corporation. All rights reserved. |