Windows-Befehlszeile: Kann ich die Service Pack-Nummer angeben?

12

Gibt es eine Möglichkeit, die Service Pack-Nummer über die Befehlszeile abzurufen? Oder die Build-Nummer über die Befehlszeile (anhand derer ich die Service Pack-Nummer ermitteln kann (siehe Ermitteln der Windows-Version und des Service Packs mithilfe von WindowsUpdateLog.txt ))?

Beim Start cmdwird ein Teil der Windows-Versionsnummer auf dem Bildschirm angezeigt, nicht jedoch die Service Pack-Nummer.

Ich bevorzuge eine Antwort, die nicht von PowerShell stammt, aber es würde mir nichts ausmachen, eine PowerShell-Antwort zu kennen, da einige Computer, mit denen ich zu tun habe, sie installiert haben.

Alexander Bird
quelle

Antworten:

15
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 

Quelle: Windows-Version über Eingabeaufforderung suchen

Giri
quelle
Dies ist die einzige, die auf allen Computern funktioniert, auf denen ich diese Methoden ausprobiert habe.
Alexander Bird
ps - das obige funktioniert nur, wenn die Benutzersprache Englisch ist, da der Zeichenkettenfilter die englischen Namen verwendet. Die alleinige Verwendung von systeminfo funktioniert für jede Sprache, erfordert jedoch manuelle Suche nach allen zurückgegebenen Daten.
JohnLBevan
9

Du kannst es mit WMIC bekommen - wmic os get servicepackmajorversion

Weitere Informationen zur Verwendung von WMIC finden Sie in diesem kleinen Tutorial: http://quux.wiki.zoho.com/WMIC-Snippets.html

Multiverse IT
quelle
Ist WMIC auf allen Windows-Computern installiert? Aus irgendeinem Grund erkennt mein Heimcomputer nicht wmic.
Alexander Bird
1
Tolles Tool, danke fürs Teilen! @ Thr4wn Laut Wikipedia ist WMIC unter Windows XP Home Edition nicht verfügbar, aber unter XP Pro und allen späteren Windows-Versionen.
nhinkle
6

Sie können CMD eingeben:

Winver

r0ca
quelle
gute Antwort! .... +1 wenn ich mehr Stimmen
bekomme
2
Hm ... das Problem dabei ist, dass es ein GUI-Tool öffnet, was möglicherweise nicht das ist, was der Benutzer versucht.
nhinkle
2
SYSTEMINFO, das an einer Eingabeaufforderung ausgeführt wird, wird ohne GUI angezeigt.
r0ca
1
In cmd.exekann man einfach verdie Version auf stdout nutzen und bekommen. Sie müssen jedoch die Build-Nummer konvertieren, um den SP zu erhalten.
Richard
vergibt nicht die vollständige Versionsnummer an. Es stoppt direkt vor der Service Pack-Nummer.
Alexander Bird
1

Sie können es über die Befehlszeile abrufen, indem Sie die Registrierung nach dem ServicePack-Schlüssel abfragen. Wenn ein SP installiert ist, wird dies angezeigt. Andernfalls wird angezeigt, dass der angegebene Schlüssel nicht gefunden werden konnte. In diesem Fall ist kein Service Pack vorhanden.

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v ServicePack
nhinkle
quelle
Dies funktioniert nur, wenn ein Service Pack installiert ist (z. B. Windows 7 verfügt derzeit nicht über ein Service Pack, sodass der Schlüssel nicht vorhanden ist)
misterjaytee
Ich kenne; Das habe ich in meiner Antwort angegeben. Wenn der Schlüssel nicht vorhanden ist, gibt es kein Service Pack, also SP0. Wenn der Schlüssel vorhanden ist, wird der Service Pack angezeigt. So oder so können Sie herausfinden, welches Service Pack (falls vorhanden) installiert ist.
nhinkle
Wenn ich Giris Lösung ausprobiere, wird SP 3 angezeigt, aber diese Methode meldet, dass der angegebene Registrierungsschlüssel oder -wert nicht gefunden werden konnte (ich habe den Befehl in cmd kopiert / eingefügt).
Alexander Bird
Anstelle von "ServicePack" können Sie "ProductName" und "CSDVersion" verwenden
d.moncada