[R] Obtenir le numéro de série du CPU
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Obtenir le numéro de série du CPU
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
Merci
peu etre des info CPU par ici:
Code : Tout sélectionner
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Hardware Profiles \ Current
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
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.
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.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Mais on le trouve dans le registre..
Je donne l'exemple de ma config:
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"
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
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
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
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
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Plop,
Ma première contribution constructive, issue d'un udf en cours de construction par votre serviteur ^^
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:
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é
en esperant avoir pu t'aider
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 )
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 )
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 )
-
- Niveau 11
- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
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 
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

Comme la fait arrkhan (pour un script d'automatisation) ou en ligne de cmd comme ci-dessous. (cadeau de ani le novice ^^-)
Code : Tout sélectionner
wmic path win32_processor get processorid, uniqueid
Code : Tout sélectionner
wmic cpu get name, processorid, uniqueid


Code : Tout sélectionner
wmic /output:c:\cpu.html cpu get /all /format:hform.xsl


- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
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).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
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 ...
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Voici une autre possibilité :
http://www.autoitscript.com/forum/index ... howfile=52
http://www.autoitscript.com/forum/index ... howfile=52
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".