J'ai un programme que j'ai codé de sorte à s'activer en ligne et se lier à l'ordinateur via l'adresse MAC. Mais j'avais toujours dans l'idée de remplacer l'adresse MAC par une donnée unique qui concerne le processeur.
JE suis tombé sur ce script (généré par scriptomatic) sur le forum EN:
► Afficher le texte
Code : Tout sélectionner
; 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
Alors j'aimerais savoir si cette donnée "ProcessorId: " peut être fiable, pour ce que je veux faire.
Merci.