Identifier un PC

Le
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.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas B.
Le #14757411
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." 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.




Clive Lumb
Le #14757381
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." 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." > 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.




Nicolas B.
Le #14757331
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." 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." 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.








Clive Lumb
Le #14757321
"Nicolas B." 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 !!
Nicolas B.
Le #14757311
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." 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 !!


Clive Lumb
Le #14757251
"Nicolas B." 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." > 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 !!




Publicité
Poster une réponse
Anonyme