ERCC (http://eriedel.info)

WinVersion


WinVersion ermittelt Versionsdaten des laufenden Windows-Systems und gibt ausgewählte Datenwerte zurück. Diese Rückgabe erfolgt über den Exitcode des Programms, sodass eine Auswertung in Befehlsdateien oder Scripts möglich ist. Außerdem kann WinVersion eine komplette Versionsinformation anzeigen.

Die Datenausgabe von WinVersion wird über einen Aufrufparameter gesteuert. Es kann eines der folgenden Argumente übergeben werden:

Argument Exitcode
-base Versionsklasse (siehe nachfolgende Tabelle),
z.B. 109 = Windows 8.1 64-Bit
-bitness 1 = 32-Bit, 2 = 64-Bit
-build Build-Nummer
-info Anzeige einer Versionsinformation (Exitcode 1)
-product Produkttyp (siehe die Beschreibung unten)
-type 1 = Workstation, 2 = Domain Controller, 3 = Server
-version Haupt- und Unterversion in einem Wert,
z.B. 63 = »6.3« = Windows 8.1 (siehe nachfolgende Tabelle)


WinVersion bietet zwei verschiedene Versionsnummern an. Mit dem Argument -base wird eine Nummerierung der Versionsklassen von Windows zurückgegeben. Dies ist in vielen Fällen die wichtigste und ausreichende Information. Bei der 64-Bit-Variante ist dieser Wert um 100 erhöht.
Mit dem Argument -version erhalten Sie die Kombination aus Haupt- und Unterversion, wobei es sich um die tatsächlichen Werte handelt.

Windows-Version Exitcode (-base)
64-Bit OS: +100
Exitcode (-version)
Windows 11 11 100
Windows 10 10 100
Windows 8.1 9 63
Windows 8 8 62
Windows 7 7 61
Windows Vista 6 60
Windows XP 5 51 (64-Bit: 52)
Windows 2000 4 50


Die mit dem Argument -product erhaltenen Werte für den Windows-Produkttyp sind die Typcodes der API-Funktion GetProductInfo, die ab Windows 6 (Vista/Server 2008) vorhanden ist. Die Vielzahl möglicher Werte finden Sie in der Funktionsbeschreibung aufgelistet. Nachfolgend einige typische Werte:

System Produkttyp/Exitcode
Home 101
Pro 48
Enterprise 4
Pro mit Media Center 103
Server Standard 7


Der Exitcode 0 signalisiert grundsätzlich ein Misslingen, insb. nicht erhaltene Versionsdaten. Der Wert könnte außerdem als Produkttyp für ein »unknown product (PRODUCT_UNDEFINED)« zurückgegeben werden.


Anwendung

WinVersion ist in erster Linie gedacht, um innerhalb programmierter Abläufe eine Unterscheidung nach Windows-Versionen vornehmen zu können. Als Beispiel sei der versionsspezifische Aufruf eines Programms (etwa zur Treiberinstallation) genannt.

In einer Befehlsdatei (.bat oder .cmd) können Sie den Exitcode mittels der Anweisung IF ERRORLEVEL oder der Variable %ERRORLEVEL% überprüfen.

winversion.exe -base
if errorlevel 100 (echo 64 Bit)
winversion.exe -version
if %errorlevel% EQU 63 (echo Windows 8.1)

In einem WSH-Script kann der Exitcode über die Methoden Exec und Run des Objekts WScript.Shell ausgewertet werden.

Dim ws, ec
Set ws = WScript.CreateObject("WScript.Shell")
ec = ws.Run("winversion.exe -base", , True)
WScript.Echo "Exitcode = " & ec

Zur weiteren Information konsultieren Sie die zu diesen Themen verfügbaren Beschreibungen, insb. die MS-Dokumentationen »Windows Command Reference« und »Microsoft Windows Script Technologies«.

Hinweis:
Beachten Sie eine Besonderheit, die in Windows Vista besteht. Dort kann ein externes Laufwerk, beispielsweise ein USB-Stick, dauerhaft an den Konsolenprozess gebunden sein, wenn er von diesem Laufwerk aus gestartet wurde. In der Folge weigert sich das System, das Laufwerk wieder freizugeben. Dies ist ein systembedingter Fehler, der mit beliebigen Anwendungen auftritt.
Sie können das Problem vermeiden, indem Sie auf den Einsatz der Konsole (»Eingabeaufforderung«) verzichten. WinVersion ist kein Konsolenprogramm und kann auch in einem Script verwendet werden.


Lizenz, Hinweise

WinVersion wird als Freeware und »so wie es ist« zur Verfügung gestellt. Die Überlassung erfolgt also unentgeltlich und für beliebige Verwendungszwecke, aber auch ohne jede Gewährleistung oder Haftung. Die Benutzung von WinVersion erfolgt auf eigenes Risiko.

WinVersion wurde auf verschiedenen Systemen von Windows 11 bis zu Windows XP getestet. Der Programmlauf auf älteren Systemen (Windows 2000 und früher) ist sehr wahrscheinlich nicht möglich.


Download, Installation

WinVersion liegt als ausführbare Programmdatei  winversion.exe vor. Laden Sie die Datei herunter und speichern Sie sie in einem Ordner Ihrer Wahl. Das Programm bedarf keiner Installation und hat keine externen Abhängigkeiten.
 

http://eriedel.info/files/winver/winversion.html


ERCC (http://eriedel.info)  2022   © Erhard Riedel Computer Consulting (ERCC)

 

Link zur ERCC-Hauptseite   Link zur Info-Übersicht