N° série physique disque dur
Bonjour
Nouveau sur ce forum, je découvre le VBScript et WMI. J'ai testé sur plusieurs PC un script pour obtenir le n° de série physique du disque dur. Le script me renvoie soit un sérial soit rien. Je pensais que tous les disques durs avaient un n° de série physique ?. J'ai fait peut être une erreur dans le script ou alors il n'est pas complet :
Code:
1 2 3 4 5 6
| Set oSh=CreateObject("WScript.Shell")
sDisk=Split(oSh.ExpandEnvironmentStrings("%systemroot%"),":")(0)
nHD=Asc(sDisk)-Asc("C")
Set oBoot=GetObject("winmgmts:/root/cimv2:" & _
"Win32_PhysicalMedia.Tag='\\.\PHYSICALDRIVE" & nHD & "'")
WScript.Echo Trim(oBoot.SerialNumber) |
Pour le n° de série de la carte mère, je rencontre le même problème. Le scrips renvoie ou non une information.
En fait je souhaite obtenir un ID unique (DD, carte mère...) pour mettre en place une protection logicielle simple et moins contraignante que le n° de série volume du disque dur.
Quelqu'un peut-il m'aider ?
Avec mes remerciements.
Cordialement
N° série physique disque dur
Merci pour la réponse.
J'utilise un script similaire pour la carte mère mais, après test sur différents PC, le script ne renvoie pas toujours un n° de série et parfois il y a simplement GenuineIntel.
Il faut que je trouve une fonction qui renvoie toujours une réponse cohérente pour que je puisse l'utiliser.
Cordialement
N° série physique disque dur
Bonjour
Merci pour toutes les réponses et les liens communiqués.
Le problème n'est probablement pas soluble car tous les scripts testés ne renvoient pas toujours une information sur le n° de série physique DD ou n° série de la carte mère (y compris par la classe smbios).
Je pense, après toutes mes recherches, que certains constructeurs de matériel n'utilisent pas de n° de série ou d'identifiant accessibles par programmation (via EEPROM par exemple). Le problème ne ma paraît pas soluble en l'état actuel. C'est dommage car je pense que cela aurait été utile à plus d'un programmeur.
Je remercie la communauté pour leurs efforts de recherches et plus généralement de soutien aux plus novices. Vive ce forum d'entraide actif et compétent.
Merci à tous
Cordialement
Solution pour les numéro sde série
Hello,
J'ai peut-être la solution pour toi :P
J'ai des disques dur WD et avec ce script j'ai pu avoir chaque fois le numéro de série. 8-)
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk")
For each objDisk in colDisks
Wscript.Echo "Nom du volume: " & objDisk.VolumeName
Wscript.Echo "Numéro de série: " & _
objDisk.VolumeSerialNumber
Next |
N° série physique disque dur
Bonjour
Merci Iceman421 : le script renvoie effectivement toujours un n° de série mais il s'agit du n° de série logique (ou de volume ou de partition).
Ce n° change après chaque formatage et on peut aussi le modifier manuellement.
Le n° de série physique quant à lui est attribué au matériel et il est non modifiable, donc plus sûr et moins contraignant pour le développeur et pour l'utilisateur final.
Ma solution intermédiaire, en l'état actuel : utiliser le n° logique et créer une procédure de transfert de licence où la nouvelle clé est calculé automatiquement.
Cordialement