Depuis l'invite de commande basée sur Windows NT (en particulier Windows XP et 7), comment puis-je obtenir le numéro de série d'un disque dur en tant que variable? Celui que je cherche est le numéro de série du disque dur physique
Réponses
Trop de publicités?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 récupère une instance de la classe WMI Win32_DiskDrive
et affiche le modèle de chaque lecteur de disque dans l'ordinateur ainsi que son numéro de série correspondant à partir de cette instance.
Cette réponse suppose PowerShell 3.0 ou ultérieur. Si vous utilisez une version plus ancienne, utilisez Get-WmiObject
à la place de Get-CimInstance
.
Sous Windows 8 et ultérieur, vous pouvez également utiliser cette commande :
Get-PhysicalDisk | Select-Object FriendlyName,SerialNumber
-
Ce que vous regardez n'est PAS le numéro de série du disque dur.
-
Cela s'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:
siC:
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.txt
et il sera stocké sous forme de fichier texte dans votreC:
-
Je joins une capture d'écran avec les points saillants :
- Le fichier a été stocké à la racine de
C:
- Voici à quoi ressemble le fichier
myvol.txt
dans Notepad :
Dans un fichier batch, une approche est la suivante :
- La commande VOL pour produire le numéro de série en texte avec du texte que nous ne voulons pas.
- FIND pour le réduire à la seule ligne contenant le numéro de série.
- FOR pour attraper le 5ème jeton (une partie entre des délimiteurs) sur la ligne contenant le numéro de série.
- SET pour l'assigner à une variable d'environnement.
for /f "tokens=5 delims= " %%a in ('vol c: ^| Find "Serial Number"') do (
set VOLSERIAL=%%a
)