Wie erhalte ich die Seriennummer der Festplatte über die Befehlszeile?

39

Wie kann ich an der Windows NT-Eingabeaufforderung (speziell Windows XP und Windows 7) die Seriennummer einer Festplatte als Variable abrufen? Das, was ich sehe, ist die Seriennummer des physischen Festplattenlaufwerks

Der Kanadier Luke REINSTATE MONICA
quelle
Für Windows XP finden Sie in dieser Frage eine geeignete Methode: superuser.com/q/708146/24010
Kanadier Luke REINSTATE MONICA
2
Wenn Sie wie ich viele Festplatten haben, verwenden Sie diese, um wmic diskdrive get name,size,model,SerialNumberSource
herauszufinden,
Möglicherweise im Zusammenhang mit: Abrufen der Seriennummer der Festplatte .
G-Man sagt, dass Monica

Antworten:

56

Versuchen Sie diesen Befehl

vol C:

Dies wird die Volume-Seriennummer von Windows erhalten.

WMIC-Laufwerk erhalten Seriennummer

Hier wird die Seriennummer des Herstellers der Festplatte angezeigt.

Moab
quelle
Ich sehe das nicht in seiner Frage, vielleicht muss er den Titelkumpel umformulieren: "Wie erhalte ich die Seriennummer der Festplatte von der Kommandozeile?"
Moab
Bei der Benutzung wmic diskdrive get serialnumberbekomme ich die Nachricht Invalid XML. Was heißt das?
Maxbester
Ich erhalte einen ungültigen Abfragefehler für wmic diskdrive get serialnumber.
AtoMerz
1
@Maxbester und @atoMerz: Ich hatte beide Probleme. Invalid XMLwar darauf zurückzuführen, dass mehr als ein Laufwerk angeschlossen war, und Invalid querytrat auf, weil ich unter Windows XP war. Siehe diese Antwort für beide Probleme: stackoverflow.com/questions/9287450/…
Matthias Braun
2
Vorsicht! wmic diskdrive get serialnumber(und die Win32_DiskDriveWMI-Klasse im Allgemeinen) gibt die Seriennummer mit jedem Zeichenpaar in umgekehrter Reihenfolge zurück. Wenn Ihr Festplattenetikett also "abcd1234" lautet, gibt WMI Ihre Seriennummer als "badc2143" aus. Mehr Infos hier .
Rojo
5
  • Was Sie sehen, ist NICHT die Seriennummer der Festplatte.

  • Es wird die Volume-Seriennummer genannt . Es wird zum Zeitpunkt der Erstellung und Formatierung des Volumes / der Partition generiert.

  • Sie können es mit einem Befehl an der Eingabeaufforderung abrufen : C:\> vol c:Wenn C:es sich um das Laufwerk handelt, für das Sie die Volume-Seriennummer abrufen möchten.

  • Alles, was Sie tun können, ist die Ausgabe dieses Befehls in eine Datei umzuleiten: C:\> vol c: > myvol.txtund sie wird als Textdatei in Ihrem gespeichertC:

  • Ich füge einen Screenshot mit den Highlights hinzu:

Bildbeschreibung hier eingeben

  • Die Datei wurde im Stammverzeichnis von gespeichert C:

Bildbeschreibung hier eingeben

  • So myvol.txtsieht die Datei in Notepad aus:

Bildbeschreibung hier eingeben

aliasgar
quelle
Frage bearbeitet; Entschuldigung für die
Fehlinformationen
1
Bitte beachten Sie, dass vor der Prüfung einer Ablehnung dieser Antwort eine Veröffentlichung erfolgte, bevor das OP die ursprüngliche Frage geklärt hat. Diese Antwort war in der Tat richtig für die ursprüngliche Frage.
Ich sage Reinstate Monica
Auf diese Weise abgerufene Seriennummern stimmen nicht mit den Seriennummern in SeaTools für Windows überein.
PrimitiveNom
5

In der gleichen Weise wie die Antwort von Moab, aber diesmal mit PowerShell:

Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber

Dieser Befehl ruft eine Instanz der Win32_DiskDriveWMI-Klasse ab und gibt das Modell jedes Festplattenlaufwerks im Computer und die entsprechende Seriennummer von dieser Instanz aus.

Diese Antwort setzt PowerShell 3.0 oder höher voraus. Wenn Sie eine ältere Version verwenden, verwenden Sie Get-WmiObjectanstelle von Get-CimInstance.

Unter Windows 8 und höher können Sie auch diesen Befehl verwenden:

Get-PhysicalDisk | Select-Object FriendlyName,SerialNumber
bwDraco
quelle
4

In einer Batch-Datei ist ein Ansatz:

  1. VOL Befehl zum Erzeugen der Seriennummer als Text zusammen mit Text, den wir nicht wollen.
  2. FINDEN, um nur die Zeile mit der Seriennummer zu verkleinern.
  3. FOR, um das 5. Token (ein Teil zwischen Begrenzern) in der Zeile mit der Seriennummer zu erfassen.
  4. SET, um einer Umgebungsvariablen zuzuweisen

for /f "tokens=5 delims= " %%a in ('vol c: ^| Find "Serial Number"') do (
set VOLSERIAL=%%a
)
Brian
quelle
Frage bearbeitet; Entschuldigung für die
Fehlinformationen
2
Bitte beachten Sie, dass vor der Prüfung einer Ablehnung dieser Antwort eine Veröffentlichung erfolgte, bevor das OP die ursprüngliche Frage geklärt hat. Diese Antwort war in der Tat richtig für die ursprüngliche Frage.
Ich sage Reinstate Monica