Page 1 sur 1
[R] Obtenir le numéro de série du CPU
Posté : dim. 16 déc. 2007 10:47
par PCXeon2
Bonjour a tous, j'aurai voulu savoir comment je peut faire pour stocker dans une variable le numéro de série du processeur, je ne sai pas comment obtenir ce numéro de série.
Merci
Posté : dim. 16 déc. 2007 11:22
par PCXeon2
si il ny a pas moyen de recuper le numero de serie du cpu, y a t-il un moyen de recuperer l'adresse mac?
Posté : dim. 16 déc. 2007 11:25
par Vins83
peu etre des info CPU par ici:
Code : Tout sélectionner
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Hardware Profiles \ Current
Posté : dim. 16 déc. 2007 11:28
par Tlem
Bonjour PCXeon2,
Il n'y a pas de fonction intégrée à Autoit pour récupérer le N° de série du processeur.
Il vous faudra donc utiliser un logiciel tiers tel que
Cpuz en mode batch (cpuz.exe -txt=cpuinfos) par exemple, et récupérer l'information dont vous avez besoin dans le fichier texte.
Il existe peut-être une solution avec WMI, mais pour l'instant je n'ai pas cette information.
Sachez aussi, que sur certaines machines, il est possible de désactiver l'affichage du N° de série à partir du BIOS, et donc dans ce cas vous n'aurez pas l'information.
Posté : dim. 16 déc. 2007 11:33
par PCXeon2
merci pour vous reponse, a donc le numéro de serie peut etre desactiver, dans se cas la se n'est pas top, enfet j'aurai besoin de se numéro de série pour creer un systeme de protection.
Je pense que l'utilisation de la mac serait mieux, savez vous comment l'obtenir en autoit?
et merci encore
Posté : dim. 16 déc. 2007 11:41
par Vins83
Mais on le trouve dans le registre..
Je donne l'exemple de ma config:
Code : Tout sélectionner
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0]
"Identifier"="x86 Family 15 Model 43 Stepping 1"
"ProcessorNameString"="AMD Athlon(tm) 64 X2 Dual Core Processor 4600+"
"VendorIdentifier"="AuthenticAMD"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\AuthenticAMD_-_x86_Family_15_Model_43\_1]
"Class"="Processor"
"Mfg"="Advanced Micro Devices"
"Service"="AmdK8"
"DeviceDesc"="Processeur AMD K8"
"FriendlyName"="AMD Athlon(tm) 64 X2 Dual Core Processor 4600+"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\AuthenticAMD_-_x86_Family_15_Model_43\_1\Control]
"ActiveService"="AmdK8"
Posté : dim. 16 déc. 2007 11:43
par PCXeon2
se n'est pas le numero de serie mais le modele, merci quand meme
Posté : dim. 16 déc. 2007 14:01
par Tlem
Voici une autre solution :
Code : Tout sélectionner
#Include <Constants.au3>
Dim $strComputer, $objWMIService
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:{(RemoteShutdown)}//" & $strComputer & "\root\CIMV2")
_Read_BioS()
Func _Read_BioS()
Local $colItems = ""
$colItems = $objWMIService.ExecQuery("Select * from Win32_BIOS")
For $objItem in $colItems
Local $item = $objItem.SerialNumber
MsgBox(0,'Output','Bios Serial #: ' & $Item)
Next
EndFunc
Posté : lun. 17 déc. 2007 10:14
par PCXeon2
merci pour cette solution, effectivement se basé sur le sérial du BIOS est tres fiable, seul doute, que tous les BIOS aille un serial?
Posté : lun. 17 déc. 2007 23:14
par Tlem
Comme, c'est pour faire un système de protection, vous pouvez lire ce post qui traite déjà du sujet :
http://www.autoitscript.fr/forum/viewtopic.php?t=126
Posté : mar. 18 déc. 2007 11:31
par arrkhan
Plop,
Ma première contribution constructive, issue d'un udf en cours de construction par votre serviteur ^^
Code : Tout sélectionner
$ObjWMIService = ObjGet ( "winmgmts:{impersonationLevel = impersonate}!\\.\root\cimv2" )
$ColSettings = $ObjWMIService.ExecQuery ( "Select * from Win32_Processor" )
For $ObjOperatingSystem In $ColSettings
$ProcID = $ObjOperatingSystem.ProcessorId
Next
MsgBox ( 0 , "N° de série du processeur" , $ProcID )
Celui ci donne le numéro générique du proc, a savoir tout les proc de la meme serie auront le même ProcID
ou sinon:
Code : Tout sélectionner
$ObjWMIService = ObjGet ( "winmgmts:{impersonationLevel = impersonate}!\\.\root\cimv2" )
$ColSettings = $ObjWMIService.ExecQuery ( "Select * from Win32_Processor" )
For $ObjOperatingSystem In $ColSettings
$ProcUnikID = $ObjOperatingSystem.UniqueId
Next
MsgBox ( 0 , "N° de série unique du processeur" , $ProcUnikID )
ProcID unique par processeur, mais ne fonctionne malheuresement pas avec tous
tu peux aussi par exemple verrouille en criptant deux valeur à savoir @ComputerName et le numero de serie du windows installé
Code : Tout sélectionner
$ObjWMIService = ObjGet ( "winmgmts:{impersonationLevel = impersonate}!\\.\root\cimv2" )
$ColSettings = $ObjWMIService.ExecQuery ( "Select * from Win32_OperatingSystem" )
For $ObjOperatingSystem In $ColSettings
$OSSN = $ObjOperatingSystem.SerialNumber
Next
MsgBox ( 0 , "N° série Windows" , $OSSN )
en esperant avoir pu t'aider
Posté : mar. 18 déc. 2007 13:01
par ani
super arrkhan
le problème, exemple sur ma machine, l'id unique du processeur est inexistant.
bonjour PCXeon2 et soit le bienvenu, a quoi vont te servir les données que tu désire récuperer ? merci
@tlem le wmi n'est pas dispo sur tout les systemes d'exploitation windows, donc la soluce c'est de lire l'information via la ruche du regedit proposé par vins,
Dans le cas ou wmi est incorporé a windows (comme xp) la cmd est toute simple

lire l'aide est un + ^__^
Comme la fait arrkhan (pour un script d'automatisation) ou en ligne de cmd comme ci-dessous. (cadeau de ani le novice ^^-)
ou
et si tu désire une sortie format html/xsl comme le fait cpuz

, sauf que lui dispose d'un fichier different du format xml
enfin bon

bon codage

Posté : mar. 18 déc. 2007 22:07
par Tlem
ani a écrit :@tlem le wmi n'est pas dispo sur tout les systemes d'exploitation windows, donc la soluce c'est de lire l'information via la ruche du regedit proposé par vins
C'est pour cela que ma première réponse (
http://www.autoitscript.fr/forum/viewto ... =1834#1834) à été de préconiser l'utilisation de Cpuz, qui lui fonctionne sur toutes les plateformes Windows (Excepter
peut être Win95).
Mais bon, au final je trouve que de ce baser sur le matériel, c'est assez moyen, car si l'utilisateur change l'élément en question, le logiciel est bloqué, et l'utilisateur mécontent ...
Posté : jeu. 20 déc. 2007 01:12
par Tlem