Comment obtenir le numéro de série du disque dur en ligne de commande?


39

À partir de l'invite de commande Windows NT (Windows XP et 7 en particulier), comment puis-je obtenir le numéro de série d'un disque dur sous forme de variable? Celui que je regarde est le numéro de série du disque dur physique


Pour Windows xp, voir la question suivante pour connaître la méthode appropriée: superuser.com/q/708146/24010
Canadian Luke REINSTATE MONICA le

2
Si vous avez plusieurs disques durs comme moi, utilisez plutôt ceci pour vous aider à savoir lequel est: wmic diskdrive get name,size,model,SerialNumber...Source
Enissay

Réponses:


56

Essayez cette commande

vol C:

cela donnera le numéro de série du volume donné par Windows.

wmic diskdrive obtenir le numéro de série

cela donne le numéro de série du fabricant du disque dur.


Je ne vois pas cela dans sa question, peut-être qu'il devrait reformuler le titre, "Comment obtenir le numéro de série du disque dur à partir de la ligne de commande?"
Moab

En utilisant, wmic diskdrive get serialnumberje reçois le message Invalid XML. Qu'est-ce que ça veut dire?
Maxbester

Je reçois une erreur de requête invalide pour wmic diskdrive get serialnumber.
atoMerz

1
@ Maxbester et @atoMerz: J'ai eu les deux problèmes. Invalid XMLétait dû à plus d'un lecteur connecté et Invalid querys'est produit parce que j'étais sur Windows XP. Voir la réponse à cette question dans les deux cas suivants: stackoverflow.com/questions/9287450/…
Matthias Braun

2
Mise en garde! wmic diskdrive get serialnumber(et la Win32_DiskDriveclasse WMI en général) renvoie le numéro de série avec chaque paire de caractères inversée. Donc, si l'étiquette de votre disque dur indique "abcd1234", WMI indiquera votre numéro de série comme "badc2143". Plus d'informations ici .
rojo

5
  • Ce que vous regardez n’est PAS le numéro de série du disque dur.

  • C'est ce qu'on appelle le numéro de série du volume . Il est généré au moment de la création et du formatage du volume / de la partition.

  • Vous pouvez l'obtenir en utilisant une commande à l'invite de commande: C:\> vol c:if C:est le lecteur pour lequel vous souhaitez récupérer le numéro de série du volume.

  • Tout ce que vous pouvez faire est de rediriger la sortie de cette commande vers un fichier: C:\> vol c: > myvol.txtelle sera stockée sous forme de fichier texte dans votre répertoire.C:

  • Je joins une capture d'écran avec les faits saillants:

entrez la description de l'image ici

  • Le fichier était stocké à la racine de C:

entrez la description de l'image ici

  • Voici à quoi myvol.txtressemble le fichier dans le Bloc-notes:

entrez la description de l'image ici


Question modifiée. désolé pour la fausse information
Canadian Luke REINSTATE MONICA

1
Avant d’envisager un vote négatif sur cette réponse, veuillez noter qu’elle a été postée avant que le PO ne clarifie la question initiale. Cette réponse était en effet correcte pour la question initiale.
Je dis: réintégrez Monica le

Les numéros de série récupérés de cette manière ne correspondent pas aux numéros de série de SeaTools pour Windows ???
PrimitiveNom

5

Dans la même veine que la réponse de Moab, mais en utilisant PowerShell cette fois-ci:

Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber

Cette commande obtient une instance de la Win32_DiskDriveclasse WMI et génère le modèle de chaque lecteur de disque de l'ordinateur et son numéro de série correspondant à partir de cette instance.

Cette réponse suppose PowerShell 3.0 ou version ultérieure. Si vous utilisez une version plus ancienne, utilisez Get-WmiObjectà la place de Get-CimInstance.

Sous Windows 8 et versions ultérieures, vous pouvez également utiliser cette commande:

Get-PhysicalDisk | Select-Object FriendlyName,SerialNumber

4

Dans un fichier batch, une approche est la suivante:

  1. VOL pour produire le numéro de série sous forme de texte avec du texte que nous ne voulons pas.
  2. FIND pour le réduire à la seule ligne avec le numéro de série.
  3. POUR saisir le 5ème jeton (une partie entre délimiteurs) sur la ligne avec le numéro de série.
  4. SET à assigner à une variable d'environnement

for /f "tokens=5 delims= " %%a in ('vol c: ^| Find "Serial Number"') do (
set VOLSERIAL=%%a
)

Question modifiée. désolé pour la fausse information
Canadien Luke REINSTATE MONICA

2
Avant d’envisager un vote négatif sur cette réponse, veuillez noter qu’elle a été postée avant que le PO ne clarifie la question initiale. Cette réponse était en effet correcte pour la question initiale.
Je dis: réintégrez Monica le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.