Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Identifier un PC

6 réponses
Avatar
Nicolas B.
Bonjour,

Je voudrais faire un petit outil un peu comme l'activation de Windows :
empêcher un utilisateur d'installer un logiciel sur plusieurs PC avec
seulement un seul numéro de licence.
Pour ça, il faut que je récupère des infos sur le PC afin de l'indentifier.
Je récupère déjà le numéro de série du disque dur, mais je voudrais me
servir d'autres infos en plus : nom de la carte mère (ou encore mieux :
numéro de série s'il y en a), processeur...

En recherchant sur les archives de ce forum, j'ai trouvé quelques exemples,
mais je n'ai réussi à en faire fonctionner aucun.
Y'a-t-il quelqu'un qui pourrait m'aider ?


Merci
--
Nicolas B.

6 réponses

Avatar
Nicolas B.
Salut,

Merci pour ta réponse, je pense que je vais utiliser ProcessorId.

Mais quand je veux lui demander de prendre comme ClassObj le premier
processeur, j'arrive pas :

ClassObj = ClassSet.Item(???)


Merci
--
Nicolas B.


Clive Lumb a écrit :
Hello Nicolas,

On peut trouver toutes ces infos avec WMI (Windows Management
Instrumentation)
Je joins un projet qui permet de parcourir toutes les classes
hardware d'un PC.

Regarder du coté de la classe "Processor", propriété "ProcessorID" et
de la classe "Base Board", propriétés "Manufacturer" et "Product".
"Serial Number" n'est pas souvent renseigné.
Il y a aussi "MacAddress" de "Network Adapter", mais il faut tout
parcourir pour trouver celui (ou ceux) qui ne sont pas "null"

Bon courage


"Nicolas B." a écrit dans le
message de news:
Bonjour,

Je voudrais faire un petit outil un peu comme l'activation de
Windows : empêcher un utilisateur d'installer un logiciel sur
plusieurs PC avec seulement un seul numéro de licence.
Pour ça, il faut que je récupère des infos sur le PC afin de
l'indentifier. Je récupère déjà le numéro de série du disque dur,
mais je voudrais me servir d'autres infos en plus : nom de la carte
mère (ou encore mieux : numéro de série s'il y en a), processeur...

En recherchant sur les archives de ce forum, j'ai trouvé quelques
exemples, mais je n'ai réussi à en faire fonctionner aucun.
Y'a-t-il quelqu'un qui pourrait m'aider ?


Merci
--
Nicolas B.




Avatar
Clive Lumb
Nicolas,

L'accès direct est par le "chemin" de la classe.
La commande suivante donne directement le N° de série du 1er processeur ....

ClassSet.Item("Win32_Processor.DeviceID=""CPU0""").Properties_("ProcessorID"
)

On peut remplacer ClassSet.Item par ...

MyNamespace.Get("Win32_Processor.DeviceID=""CPU0""").Properties_("ProcessorI
D")
... pour un accès encore plus direct.
Bon courage

Clive


"Nicolas B." a écrit dans le message de
news:uqX%
Salut,

Merci pour ta réponse, je pense que je vais utiliser ProcessorId.

Mais quand je veux lui demander de prendre comme ClassObj le premier
processeur, j'arrive pas :

ClassObj = ClassSet.Item(???)


Merci
--
Nicolas B.


Clive Lumb a écrit :
> Hello Nicolas,
>
> On peut trouver toutes ces infos avec WMI (Windows Management
> Instrumentation)
> Je joins un projet qui permet de parcourir toutes les classes
> hardware d'un PC.
>
> Regarder du coté de la classe "Processor", propriété "ProcessorID" et
> de la classe "Base Board", propriétés "Manufacturer" et "Product".
> "Serial Number" n'est pas souvent renseigné.
> Il y a aussi "MacAddress" de "Network Adapter", mais il faut tout
> parcourir pour trouver celui (ou ceux) qui ne sont pas "null"
>
> Bon courage
>
>
> "Nicolas B." a écrit dans le
> message de news:
>> Bonjour,
>>
>> Je voudrais faire un petit outil un peu comme l'activation de
>> Windows : empêcher un utilisateur d'installer un logiciel sur
>> plusieurs PC avec seulement un seul numéro de licence.
>> Pour ça, il faut que je récupère des infos sur le PC afin de
>> l'indentifier. Je récupère déjà le numéro de série du disque dur,
>> mais je voudrais me servir d'autres infos en plus : nom de la carte
>> mère (ou encore mieux : numéro de série s'il y en a), processeur...
>>
>> En recherchant sur les archives de ce forum, j'ai trouvé quelques
>> exemples, mais je n'ai réussi à en faire fonctionner aucun.
>> Y'a-t-il quelqu'un qui pourrait m'aider ?
>>
>>
>> Merci
>> --
>> Nicolas B.




Avatar
Nicolas B.
Merci, j'ai réussi à faire fonctionner ta solution.

Apparemment, il faut passer par Properties_().Item("ProcessorId()")
car Properties_("ProcessorId()") me donne "La propriété ne peut pas être
indexée".


A+
--
Nicolas B.


Clive Lumb a écrit :
Nicolas,

L'accès direct est par le "chemin" de la classe.
La commande suivante donne directement le N° de série du 1er
processeur ....




ClassSet.Item("Win32_Processor.DeviceID=""CPU0""").Properties_("ProcessorID"
)

On peut remplacer ClassSet.Item par ...




MyNamespace.Get("Win32_Processor.DeviceID=""CPU0""").Properties_("ProcessorI
D")
... pour un accès encore plus direct.
Bon courage

Clive


"Nicolas B." a écrit dans le
message de news:uqX%
Salut,

Merci pour ta réponse, je pense que je vais utiliser ProcessorId.

Mais quand je veux lui demander de prendre comme ClassObj le premier
processeur, j'arrive pas :

ClassObj = ClassSet.Item(???)


Merci
--
Nicolas B.


Clive Lumb a écrit :
Hello Nicolas,

On peut trouver toutes ces infos avec WMI (Windows Management
Instrumentation)
Je joins un projet qui permet de parcourir toutes les classes
hardware d'un PC.

Regarder du coté de la classe "Processor", propriété "ProcessorID"
et de la classe "Base Board", propriétés "Manufacturer" et
"Product". "Serial Number" n'est pas souvent renseigné.
Il y a aussi "MacAddress" de "Network Adapter", mais il faut tout
parcourir pour trouver celui (ou ceux) qui ne sont pas "null"

Bon courage


"Nicolas B." a écrit dans le
message de news:
Bonjour,

Je voudrais faire un petit outil un peu comme l'activation de
Windows : empêcher un utilisateur d'installer un logiciel sur
plusieurs PC avec seulement un seul numéro de licence.
Pour ça, il faut que je récupère des infos sur le PC afin de
l'indentifier. Je récupère déjà le numéro de série du disque dur,
mais je voudrais me servir d'autres infos en plus : nom de la carte
mère (ou encore mieux : numéro de série s'il y en a), processeur...

En recherchant sur les archives de ce forum, j'ai trouvé quelques
exemples, mais je n'ai réussi à en faire fonctionner aucun.
Y'a-t-il quelqu'un qui pourrait m'aider ?


Merci
--
Nicolas B.








Avatar
Clive Lumb
"Nicolas B." a écrit dans le message de
news:
Merci, j'ai réussi à faire fonctionner ta solution.

Apparemment, il faut passer par Properties_().Item("ProcessorId()")
car Properties_("ProcessorId()") me donne "La propriété ne peut pas être


^^^^

Pas de () sur ProcesseurID !!
Avatar
Nicolas B.
En effet, les parenthèses sont de trop, mais l'erreur est la même. Est-ce
normal ?


Merci
--
Nicolas B.


Clive Lumb a écrit :
"Nicolas B." a écrit dans le
message de news:
Merci, j'ai réussi à faire fonctionner ta solution.

Apparemment, il faut passer par Properties_().Item("ProcessorId()")
car Properties_("ProcessorId()") me donne "La propriété ne peut pas
être


^^^^

Pas de () sur ProcesseurID !!


Avatar
Clive Lumb
"Nicolas B." a écrit dans le message de
news:
En effet, les parenthèses sont de trop, mais l'erreur est la même.
Est-ce normal ?



Sans doute... comme souvent chez Microsoft

Cela doit marcher chez moi sans le ".item()" parce que j'au une version de
Windows/Vb/WMI qui le permet....

Le plus important c'est que tu as trouvé un syntaxe qui va.







Clive Lumb a écrit :
> "Nicolas B." a écrit dans le
> message de news:
>> Merci, j'ai réussi à faire fonctionner ta solution.
>>
>> Apparemment, il faut passer par Properties_().Item("ProcessorId()")
>> car Properties_("ProcessorId()") me donne "La propriété ne peut pas
>> être
> ^^^^
>
> Pas de () sur ProcesseurID !!