Sign in to follow this  
Followers 0
laffo16

CPU ID#?

5 posts in this topic

Hello! a friend of mine mentioned that every CPU has its own unique id number, i was wondering if this is true and if so can it be called in autoit, or is their a dll someone may know of which can be called to get it. thanks ppl

Share this post


Link to post
Share on other sites



the number would have to be unique even to two of the same processers if you know what i mean.

Share this post


Link to post
Share on other sites

If you are looking at something such as the serial part number for the processor, then yes, each processor ought to have it's own number. As for how to read it, I don't know how. It sounds like it would be a lovely way to block people from accessing certain services.

Share this post


Link to post
Share on other sites

Generated by Autoit Scriptomatic. Check out the bit for processor ID, serial number didn't return anything on mine.

; Generated by AutoIt Scriptomatic

$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"

$Output=""
$Output = $Output & "Computer: " & $strComputer  & @CRLF
$Output = $Output & "==========================================" & @CRLF
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

If IsObj($colItems) then
   For $objItem In $colItems
      $Output = $Output & "AddressWidth: " & $objItem.AddressWidth & @CRLF
      $Output = $Output & "Architecture: " & $objItem.Architecture & @CRLF
      $Output = $Output & "Availability: " & $objItem.Availability & @CRLF
      $Output = $Output & "Caption: " & $objItem.Caption & @CRLF
      $Output = $Output & "ConfigManagerErrorCode: " & $objItem.ConfigManagerErrorCode & @CRLF
      $Output = $Output & "ConfigManagerUserConfig: " & $objItem.ConfigManagerUserConfig & @CRLF
      $Output = $Output & "CpuStatus: " & $objItem.CpuStatus & @CRLF
      $Output = $Output & "CreationClassName: " & $objItem.CreationClassName & @CRLF
      $Output = $Output & "CurrentClockSpeed: " & $objItem.CurrentClockSpeed & @CRLF
      $Output = $Output & "CurrentVoltage: " & $objItem.CurrentVoltage & @CRLF
      $Output = $Output & "DataWidth: " & $objItem.DataWidth & @CRLF
      $Output = $Output & "Description: " & $objItem.Description & @CRLF
      $Output = $Output & "DeviceID: " & $objItem.DeviceID & @CRLF
      $Output = $Output & "ErrorCleared: " & $objItem.ErrorCleared & @CRLF
      $Output = $Output & "ErrorDescription: " & $objItem.ErrorDescription & @CRLF
      $Output = $Output & "ExtClock: " & $objItem.ExtClock & @CRLF
      $Output = $Output & "Family: " & $objItem.Family & @CRLF
      $Output = $Output & "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
      $Output = $Output & "L2CacheSize: " & $objItem.L2CacheSize & @CRLF
      $Output = $Output & "L2CacheSpeed: " & $objItem.L2CacheSpeed & @CRLF
      $Output = $Output & "LastErrorCode: " & $objItem.LastErrorCode & @CRLF
      $Output = $Output & "Level: " & $objItem.Level & @CRLF
      $Output = $Output & "LoadPercentage: " & $objItem.LoadPercentage & @CRLF
      $Output = $Output & "Manufacturer: " & $objItem.Manufacturer & @CRLF
      $Output = $Output & "MaxClockSpeed: " & $objItem.MaxClockSpeed & @CRLF
      $Output = $Output & "Name: " & $objItem.Name & @CRLF
      $Output = $Output & "OtherFamilyDescription: " & $objItem.OtherFamilyDescription & @CRLF
      $Output = $Output & "PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF
      $strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0)
      $Output = $Output & "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF
      $Output = $Output & "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF
      $Output = $Output & "ProcessorId: " & $objItem.ProcessorId & @CRLF
      $Output = $Output & "ProcessorType: " & $objItem.ProcessorType & @CRLF
      $Output = $Output & "Revision: " & $objItem.Revision & @CRLF
      $Output = $Output & "Role: " & $objItem.Role & @CRLF
      $Output = $Output & "SocketDesignation: " & $objItem.SocketDesignation & @CRLF
      $Output = $Output & "Status: " & $objItem.Status & @CRLF
      $Output = $Output & "StatusInfo: " & $objItem.StatusInfo & @CRLF
      $Output = $Output & "Stepping: " & $objItem.Stepping & @CRLF
      $Output = $Output & "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF
      $Output = $Output & "SystemName: " & $objItem.SystemName & @CRLF
      $Output = $Output & "UniqueId: " & $objItem.UniqueId & @CRLF
      $Output = $Output & "UpgradeMethod: " & $objItem.UpgradeMethod & @CRLF
      $Output = $Output & "Version: " & $objItem.Version & @CRLF
      $Output = $Output & "VoltageCaps: " & $objItem.VoltageCaps & @CRLF
      if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
      $Output=""
   Next
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_Processor" )
Endif


Func WMIDateStringToDate($dtmDate)

    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
EndFunc

Share this post


Link to post
Share on other sites

thanks for your help guys

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0