0

We recently setup SCOM 2012 and deployed agents to all of our servers. We also have noticed that a number of these servers do not have hyper threading enabled, which they should. Is there any way we can use SCOM or WMI to find which servers do not have Hyper Threading turned on. My thought is that I should be able to find all systems where total cores = total threads, as this is an indication that Hyper Threading is disabled (or not available).

Example from Server 2012 Task Manager (12 cores and 12 "logical processors"/threads, should be 24 threads):

This needs Hyper Threading

Greg Bray
  • 5,530
  • 5
  • 33
  • 52

1 Answers1

1

The following Powershell script uses WMI to find which computers do not have Hyper Threading turned on by comparing cores to threads. You should run it in an Administrative console using as a Domain Administrator account:

$cs = Get-ADComputer -LDAPFilter "(name=host*)"
foreach($c in $cs){
    gWmi -class Win32_Processor -ComputerName $c.Name | select SystemName,DeviceID,Number*
}

This shows the CPU core and thread counts for all computers in Active Directory who's name starts with host. If there are multiple CPUs they will show up as CPU0, CPU1, etc. Example:

enter image description here

I still think there should be a way to use SCOM to do this, but the above works.

Greg Bray
  • 5,530
  • 5
  • 33
  • 52
  • Hi Greg. I'm not exactly a Ninja at Powershell so I need to ask, s there something that needs to be done beforehand? Powershell is returning an error about Get-ADComputer not being a valid cmdlet. – Jeff Moden Oct 05 '14 at 23:39
  • @JeffModen Get-ADComputer is part of the Active Directory Module, which is installed as part of the AD Management tools (also known as RSAT). More details at http://technet.microsoft.com/en-us/library/dd378937(WS.10).aspx and http://technet.microsoft.com/en-us/library/ee449483(v=ws.10).aspx . Once the Remote AD tools are installed you can use `Import-Module ActiveDirectory` to load the AD cmdlets. – Greg Bray Oct 05 '14 at 23:48