A: The in-box reporting in System Center Configuration Manager (SCCM) tracks the number of processors based on the number of cores. However, this doesn't help for products that are licensed by per physical processor/socket.
The solution is to look at values from Win32_Processor. It displays a unique DeviceID for each physical processor in the system and lists the number of cores (NumberOfCores) and logical processors (NumberOfLogicalProcessors) for each processor.
The value for NumberOfLogicalProcessors will be higher than the value for NumberOfCores if the processor supports hyperthreading, which effectively splits a core into two logical processors. The challenge is that the reporting on Win32_Processor isn't enabled in the default sms_def.mof, which provides the configuration of what is reported, so you need to enable it.
An enable edit to sms_def.mof can be found at this MyITForum post,which will add the collection of the required processor information and includes a sample report to be run in SCCM.