NUMÉRO DE SERIE (PHYSIQUE) DU DISQUE DUR PAR WMI

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 26 janv. 2007 à 15:30
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010 - 7 févr. 2007 à 09:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41253-numero-de-serie-physique-du-disque-dur-par-wmi

surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
7 févr. 2007 à 09:55
Pour clarifier le truc si tu le souhaites PCKC je peut t'envoyer le code ci dessus en binaire (.exe), comme ça tu pourras le tester, avec bien sur le fait que tu devras me faire confiance a propos du physical.., j'ai aussi remarqué que en .Net ça passe pas si je rajoute comme toi le "winmgt:" dans le scope ensuite quand je change dans mon code juste le "WIN32_DiskDrive" par "physical ...", j'obtient bien la liste des Noms de valeurs mais pas leurs valeurs, sauf une ou deux; cela est peut etre du au framework, qui c'est "Physical.." est peut etre l'ancêtre de "WIN32_DiskDrive", je ne sais pas.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 févr. 2007 à 13:20
salut surfzoid,
sanctionné? ah non pas du tout!!! je ne touche pas à DotNet et n'ai pas pu tester ton code. j'ai cherché sur la msdn avec wmi qui disait de faire différemment c'est tout.
parti de là j'ai fais avec les moyens du bord (VB6) et tu connais la suite.
donc la désactivation, beh c'est juste pour ne pas laisser de codes "faux" (car il l'était) sur codyx, je n'ai pas désactivé ta source pour autant puisque tu pouvais (droits) la modifier sans l'intervention d'un admin.
et j'ai beau avoir un doute sur ce nouveau code (puisque tu n'utilises toujours pas Win32_PhysicalMedia), ton snippet est néanmoins activé non? :$

ce n'est pas parce qu'on vérifie les codes qu'il faut être déçu.
merci de tes participations et d'avoir signaler le "bug" pour codyx

bonne prog @+ ;)
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
6 févr. 2007 à 09:20
dsl PCPT , mais comme tu peus le constaté, j'ai écrit que c'est le matin que j'ai tenté 3 essai, et tu n'as posté la note sur l'upload que l'aprés midi et je n'y est repondu que le soir.
Pourquoi 3 essai, tjrs marqué c'est mon premier snippet, quand ont en mais un il est evidant qu ont ne peut loupé le texte qui dit que l'on doit attendre la validation, cependant si je vais sur le snippet VB6 que tu as mit et que je clique sur ajouter ce code dans un autre language, on ne vois plus réaparraitre le texte qui parle de validation, donc voila pourquoi 3 essai avant de réaliser qu'il fallait attendre la validation.
Peut etre que je ne suis pas assez diplomatique dans ma façon de m'exprimer et j'en suis désoler, l'historique de ce snippet ma un peut deçu et frustré, je m'attendais plus a une entre aide pour le perfectionner et/ou le corriger plus qu'une désactivation qui a mon sens ressemble plus a une sanction.
Voila rien de monstrueux, juste histoire de clore le débat.
@++ et bonne prog.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 févr. 2007 à 22:11
il n'y a pas de restriction, les snippets doivent juste être validés avant d'apparaître ; fonctionnement inverse des sources.

heureusement que je t'avais demandé de me le transmettre, 3 uploads dans le vent. bref, snippet activé.

@+
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
5 févr. 2007 à 18:20
Tjrs pour l'upload du snippet, ce matin j'ai utilisé "proposer dans un autre langage" --> VB2005
Et la tjrs pas de maj, c'est toi PCPT ?
De toute façon cela deviens trop couteux en terme de temps et pénible donc je laisse tombé mon premier snippet, je préfere le partage libre sans restriction lol.
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
5 févr. 2007 à 18:13
PCPT avant de changer pour win32_physicalmedia, qui chez moi ne fonctionne pas correctement et qui a mon sens reflete aussi les CDROM par exemple, j'aimerais cerner la réelle difference qu'il y a et la comprendre, avec le code qui est en haut de cette page (MAJ aujourd'hui) ça m'a l'air de plutot gazé.
Pour l'upload du snippet ! c'est le code qui est en haut avec form1 et button1 en moins.
Il serait vraiment intéressant de tomber sur quelqu'un qui ne recupére pas son numéro de serie avec ce dit code.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 févr. 2007 à 14:18
pour mettre à jour le snippet (DotNet), tu me donnes le code et j'uploaderai....
en C ou autre, tu as juste à "proposer dans un autre langage"
mais on en revient ENCORE au même, tu dois lire avec Win32_PhysicalMedia qui est plus approprié et conseillé par la MSDN!

pour DD05 -> peut-être que l'ID 0 (param optionnel) n'est pas un disque dur, à lui de mettre le bon ID

++
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
5 févr. 2007 à 09:29
dsl PCPT, j'ai compris je croi, tu as fait un snippet de cette srce pour VB6 (no pb) et tu souhaite que je fasse le meme pour VS2005 ? lol
En C aussi ce serai pas mal.
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
5 févr. 2007 à 09:26
DD05 :
Si tu regarde le bout de code que j'ai ecrit au debut de cet page, on ne voit pas (je croit) de function "GetPhysicalDriveSerialNumber" donc je ne peut te repondre car ton mail n'ai pas assez clair, tu ecrit comme quel qu'un qui a le code sous les yeux et oublit que nous ne l'avons pas ce code, allez dsl et bon courage
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
5 févr. 2007 à 09:22
j'ai reçu ça en MP et pense qu'il serait mieux Ici:
Message envoyé par DD05 le 02/02/2007 22:14:06 (Ajouter dans votre carnet d'adresse)

Sujet : N° série disque dur

Message :
Bonjour,

Je suis en VB6 et j'ai essayé ton code sur le numéro physique du disque dur.

La fonction GetPhysicalDriveSerialNumber me renvoie
juste le caractère "|" lorsque je mets dans un bouton
Sub bouton
Text1 = GetPhysicalDriveSerialNumber
end sub

C'est normal ?

Merci pour ton aide.

DD05
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
5 févr. 2007 à 09:22
dsl deformation lol, je ne voulait pas dire snipper mais snippet. lol
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
5 févr. 2007 à 09:21
Je ne comprend pas trop ton histoire de VB6 PCPT, je suis sous VS2005 Express.
Quand au snipper il n'y aurrai juste qu'a changer l'explication ?
Car en fait pour mes besoin je ne retranscrit pas le num serie hexa en Ascii car ce qui m'importe, comme la plupart je pense, c'est l'unicité du numéro donc en hexa ou en ascii cela reste unique.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 févr. 2007 à 16:03
salut,
en attendant j'ai désactivé ton snippet.
une mise à jour en vue? tu peux jeter une oeil sur codyx pour VB6...
++
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
30 janv. 2007 à 23:51
Dsl on a du posté en même temps lol :D
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
30 janv. 2007 à 23:50
oki, finalement j'ai compris:
36 56 42 30 5A 59 47 54 <------ PnPId
56-36-30-42-59-5A-54-47 <------ Inversion octet de poid faible avec l'octet de poid fort
V 6 0 B Y Z T G =
Donc pour utiliser ça comme serial d'un logiciel, si on prend la ligne complete :
PNPDeviceID -> IDE\DISKMAXTOR_6V300F0__________________________VA111630\365642305A594754202020202020202020202020
Cela devrai gazé.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 janv. 2007 à 23:50
365642305A594754202020202020202020202020




36 -> 6
56 -> V
42 -> B
30 -> 0
5A -> Z
59 -> Y
47 -> G
54 -> T

rappel : 2 par 2
6VB0-ZYGT devient bien V60B-YZTG


-----------------------!!!!!!
tu lis les mauvaises données.
-----------------------!!!!!!


hex c'est base16 (0123456789ABCDEF)
"20", on doit obtenir 32
soit tu prends 2 puis 0 (gauche et droite) et tu ajoutes
(2*16 + 0)
soit juste en chaîne
lRet=val("&H" & "20")

y'a plus qu'à boucler, ici on obtient bien 32

vérif : msgbox hex(32) envoie bien 20.

peut-être des fonctions prévues dans le framework....
++ ;)
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
30 janv. 2007 à 23:34
Je vien effectivement de trouver une grosse bourde dans mon utilisation de la srce VB6, donc en fait pour Hdd 3.5 c'est bien la révision.
Tu peux me réexpliquer, s'il te plais, comment tu traduis la chaine Hexa qui est aprés le slash en Ascii du numéro de serie ?
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
30 janv. 2007 à 23:22
c'est marrant, au boulot et chez moi j'ai des hdd maxtors et chez moi donc avec la srce cité j'obtien :
Serial Number: VA111630
Model Number: Maxtor 6V300F0
FirmWare Rev: V60BYZTG
et avec WMI
VA111630\365642305A594754202020202020202020202020
et idem au taf .
En revanche avec stella phoenix j'ai V60BYZTG le firmware ..
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 janv. 2007 à 22:22
vérifié avec stella phoenix
IDE0 : L21C8C4C
IDE1 : 6ED3BR94

bye ;)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 janv. 2007 à 20:21
la source me renvoie "L21C8C4C", je crois qu'on a fait le tour là ^^

t'as plus qu'à corriger ta source et ton snippet, je posterai aussi en VB6 sur codyx après avoir vérifié avec un utilitaire (si je trouve ^^)
++
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
30 janv. 2007 à 19:53
Plutot bien calé, chapeau, utilie en plus.
A l'origine sur la doc ou j'ai trouvé ce code le serial etait soit disant donné avec "Signature" qui renvoit un nombre decimal, tu en pense quoi.
Sinon ma conclusion de dire que c'était le bon numéro, c'est que j' ai cherché longtemps et que a chaque fois c'était le numero de la partition que je trouvai, c'était donc tjr le même genre 123xyx25yx25... et sur ce site j'ai trouvé une source : http://www.vbfrance.com/codes/INFORMATION-DISQUE-DUR_27883.aspx qui elle m'aficher enfin le veritable numero de serie issue de sa puce et qui n'avait donc plus rien a voir avec le num cité issue du label.
Cependant comme ecrit par l'auteur de cette srce ainsi que les commentaires qui sont ecrit par les utilisateur, tout les disque ne fonctionne pas forcément, je crois qu 'il faille un disque SMART capable.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 janv. 2007 à 16:29
salut,
j'ai 2 disques physiques (7 partitions)

voici la trace avec ton code (transcrit en VB6)

'===============
'Win32_DiskDrive
'===============
'Caption: Maxtor 32049H2
'DeviceID: \\.\PHYSICALDRIVE0
'Model: Maxtor 32049H2
'Name: \\.\PHYSICALDRIVE0
'PNPDeviceID: IDE\DISKMAXTOR_32049H2__________________________YAH814Y0\324C433143384334202020202020202020202020
'===============
'Caption: ST320413A
'DeviceID: \\.\PHYSICALDRIVE1
'Model: ST320413A
'Name: \\.\PHYSICALDRIVE1
'PNPDeviceID: IDE\DISKST320413A_______________________________3.57____\4536334452423439202020202020202020202020
'===============

donc d'après toi mon sérial de IDE0 est "YAH814Y0"
et celui de l'IDE1 est "3.57____", impossible donc faux ;)


convertissons ce qu'il y a après le slash?! (ces fameux numéros "inconnus" qui sont simplement en hexa ):
20 2 et 0 2*16^1 + 0*16^0 = 32 = espace (buffer)
34 3 et 4 3*16^1 + 4*16^0 = 52 = 4

ce qui me donne
IDE0 : 2LC1C8C4
IDE1 : E63DRB49
çà ressemble déjà plus à qqc mais pas forcément vraiment le bon serial pour autant.

tentons avec PhysicalMedia, trace :

'===================
'Win32_PhysicalMedia
'===================
'SerialNumber: L21C8C4C
'Tag: \\.\PHYSICALDRIVE0
'===============
'SerialNumber: 4536334452423439202020202020202020202020
'Tag: \\.\PHYSICALDRIVE1
'===============

IDE0 est le même que mon résultat mais en ordre différent (1234-5678 -> 2143-6587)
c'est donc juste par paire (4octets et non 2 comme je l'avais fait)

IDE1 est toujours en hexa, même résultat donc que par la première méthode.
remis dans l'odre : E63D-RB49 devient 6ED3-BR94


conclusion, les 2 méthodes (Win32_DiskDrive et Win32_PhysicalMedia) donnent le même numéro SAUF que tu ne lis pas les bonnes données, et que MSDN oriente vers la 2e méthode.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/getvolumeinformation.asp

ps : code VB6 dispo sur demande :p
++
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
30 janv. 2007 à 14:26
PCPT j'allais oublier, je ne suis pas sur (a voir) que tu puisses faire ça avec VB6, essaye plutot VB Express (gratuit depuis les site Microsoft)
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
30 janv. 2007 à 14:24
PCPT je t'assure que c'est bien le numero de serie du disque dur et pas de la partition, pour la partition tu utilise (de memoire) WIN32_LogicalDrive , de plus quand tu regarde le fichier texte produit tu vois bien la notion primary et pas partion, en faite pour etre plus exacte, quand tu regarde la propriété "PNPDeviceID" tu as un truc du genre : Marque/type disk ___________________N°de serie/des n° que je comprends pas le sens.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 janv. 2007 à 10:17
salut,
la MSDN laisse à penser que ce code donne le numéro du disque logique, pas physique, non?
le WMI devrait être "Win32_PhysicalMedia"

dur dur de vérifier cela dit, si qqn connaît un utilitaire pour comparer, je veux bien tester sous VB6.
(sandra 2005 ne retourne que le logique donc la partition)

++
PCPT [AFCK]
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
26 janv. 2007 à 22:27
t est un rapide Bidou, lol
Bon ça doit encore etre des histoire de fin de semaine, les vendredi soir.
Je croyai bien faire, fo pas etre aussi nerveux, alors désoler.
Je considére Cs comme un service, une entraide, rien de plus car pour quel que chose de professionel je fais ça toute la journée et lorsque j'arrive là je doit bien avouer un certains laissé aller, lol.
Aller sur ceux @++ la Compagnie
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 janv. 2007 à 22:22
La prochaine fois, poste uniquement sur codyx et pas sur vbfrance ;-)
Pas besoin de dupliquer le contenu:

- Codyx pour les morceaux de codes
- VbFrance pour les sources complètes
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
26 janv. 2007 à 22:21
Voili, voila vooilou c'est fait
@++ et bonne prog
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
26 janv. 2007 à 22:16
merci Bidou, j avait déja trouvé ce site de snipet qui m'avait était trés utile et quand bien plus tard j'ai cherché a le retrouvé, ben j'ai pas réussi, depuis vbfrance j'étai infoutu de le trouvé, donc encore merci et je vai y faire un joli copier/coller lol :D
Psykos7 Messages postés 60 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 21 février 2008
26 janv. 2007 à 18:27
Bonsoir,

La technologie WMI est tres etendue
Si ca t'interesse, je te propose un programme (compilé + codes sources) sur www.devgratuit.fr, section "programmes" ou "codes sources" sur la gauche, il se nomme SASNet

C'est en VB6 mais le codage rest quasiment identique
Merci MSDN ^^
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 janv. 2007 à 15:30
Pour des petits codes dans ce genre, mieux vaut poster sur codyx (www.codyx.org).
Même userName et password que sur CodeS-SourceS !
Rejoignez-nous