Windows has multiple command line utilities that can help find the version of the Windows OS running on your computer. Below is the list of commands and the information they provide.
Systeminfo
command – Windows OS name, version, edition and build numberWMIC
command – OS name and versionVer
command – OS version
Find OS Version from command line(CMD)
Systeminfo is a useful command that can dump information about hardware and software running on your computer. Since we are interested in only the OS details, we can filter out other information with the use of findstr
command.
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
Examples:
C:\>systeminfo | findstr /B /C:"OS Name" /C:"OS Version" OS Name: Microsoft Windows 10 Enterprise OS Version: 10.0.19042 N/A Build 19042
This command works on Windows 19, Windows and on Server editions also. Find example for Windows 7 below.
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" OS Name: Microsoft Windows 10 Enterprise OS Version: 10.0.19042 N/A Build 19042
In case of Windows 7 SP1, the output would be slightly different as below.
c:\>systeminfo | findstr /B /C:"OS Name" /C:"OS Version" OS Name: Microsoft Windows 7 Enterprise OS Version: 6.1.7601 Service Pack 1 Build 7601
If you want to print more details, you may use just ‘OS’ in the findstr search pattern. See example below for Server 2008.
C:\>systeminfo | findstr /C:"OS" OS Name: Microsoft Windows Server 2008 R2 Enterprise OS Version: 6.1.7600 N/A Build 7600 OS Manufacturer: Microsoft Corporation OS Configuration: Standalone Server OS Build Type: Multiprocessor Free BIOS Version: IBM -[BWE117AUS-1.05]-, 7/28/2005
Check Windows version using WMIC command
Run the below WMIC command to get OS version and the service pack number(Windows 7 and prior versions).
wmic os get Caption,CSDVersion /value
Example on Windows 10:
c:\>wmic os get Caption,CSDVersion /value Caption=Microsoft Windows 10 Enterprise CSDVersion=
Example on Windows 7:
c:\>wmic os get Caption,CSDVersion /value Caption=Microsoft Windows 7 Enterprise CSDVersion=Service Pack 1
If you want to find just the OS version, you can use ver command. Open command window and execute ver command. But note that this does not show service pack version.
C:\>ver Microsoft Windows [Version 10.0.19042.2251] C:\>
This command does not show version on Windows 7/Windows 10.
Also Read:
Complete list of Windows CMD commands
To check the Windows version from CMD, you can use either the winver or the systeminfo command. Both commands work with PowerShell as well.
WINVER Command
Open a command prompt and type winver
. It will open a popup window showing the information about your operating system.
winver
The following screenshot shows the output of the winver
command in Windows 10:
The head section shows the operating system you are running on your PC. The bottom part shows the build version and the edition (e.g., Pro, Home, Education, Enterprise).
You will see something similar to the following when you run the winver
command on Windows 11:
SYSTEMINFO Command
The systeminfo
command displays the operating system configuration information of your computer. You will find the Windows version under the OS Name directive (usually the second line).
The systeminfo
CMD command also shows other operating system information such as time zone, boot time network card(s) model, RAM size, etc.
The PowerShell equivalent to the systeminfo
is Get-ComputerInfo
(this will not work on CMD).
To check the Windows version without all other details, add WindowsProductName
Parameter to the command, as shown in the above screenshot.
Do you wonder how to find out what version of Windows is running?
The Windows version can be checked in multiple ways.
In this short note i am showing the easiest way to get information about the Windows version using the winver
command from the “Run” dialog or using the systeminfo
command from a command-line prompt (CMD) or from a PowerShell.
Cool Tip: How to find Windows product key from CMD & PowerShell! Read more →
To check your Windows version – press the ⊞ Win + R shortcut to open the “Run” dialog, type in winver
and click “OK”.
The winver
command launches the “About Windows” that displays the version of Windows that is running, the build number and what service packs are installed.
To find out your Windows version from a command-line prompt (CMD) or from a PowerShell, use the systeminfo
command:
C:\> systeminfo ... OS Name: Microsoft Windows 10 Pro OS Version: 10.0.19042 N/A Build 19042 OS Manufacturer: Microsoft Corporation OS Configuration: Standalone Workstation OS Build Type: Multiprocessor Free ...
Was it useful? Share this post with the world!
Время на прочтение5 мин
Количество просмотров28K
Как же определить версию Windows, работающую в корпоративном окружении?
Вопрос кажется простым, правда?
Microsoft позволяет определить номер версии Windows различными способами:
- Существуют значения в реестре, которым отчаянно не хватает документации.
- Есть множество командлетов PowerShell, вызовов Windows API и т. п.
- Также есть варианты для конечного пользователя, например, команда
winver
, которая вызывает всплывающее окно с версией Windows. - И много других способов…
Разобраться во всём этом вам поможет наш пост.
Существует множество инструментов, позволяющих определить, какая версия Windows запущена у ваших клиентов, например, SCCM и PDQ. В этом посте мы рассмотрим встроенные способы определения версии Windows.
▍ Реестр
Для определения запущенной в системе версии Windows можно использовать следующие значения реестра:
Примечание: перечисленные в таблице значения официально не задокументированы Microsoft (см. ниже).
Предупреждение
Microsoft не сообщала об изменениях в этих значениях реестра, не документировала их официальную поддержку и не гарантировала, что в будущем не появится критических изменений. Из-за этого описанными выше ключами реестра пользоваться бывает иногда неудобно, учитывая непостоянство изменений этих ключей, вносимых Microsoft в прошлом. Примеры:
- ReleaseID не рекомендуется к использованию, начиная с версии 21H1. ReleaseID для 21H1 остаётся равным 2009.
- Server 2012R2 не имеет ReleaseID и DisplayVersion (они пока не были добавлены в Windows)
- Server 2016 имеет ReleaseID (1607), но не имеет DisplayVersion
- Server 2019 имеет ReleaseID (1809), но не имеет DisplayVersion
▍ PowerShell
Ниже приведено несколько примеров того, как можно использовать PowerShell, чтобы определить версию Windows, которая работает в системе:
# При помощи класса System.Environment
[System.Environment]::OSVersion
# При помощи класса CIM Win32_OperatingSystem
Get-CimInstance Win32_OperatingSystem
# При помощи исполняемого файла systeminfo
systeminfo.exe /fo csv | ConvertFrom-Csv
# При помощи командлета Get-ComputerInfo
# ПРИМЕЧАНИЕ: начиная с 21H1 OsHardwareAbstractionLayer не рекомендуется к использованию
Get-ComputerInfo | Select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
▍ Windows API Call
Единственный поддерживаемый (задокументированный) систематический способ определения версии Windows — при помощи вызова Windows API класса AnalyticsInfo. Это можно сделать через PowerShell:
<#
Класс AnalyticsInfo - задокументированный способ отслеживания версии ОС. Он возвращает
строковое значение. Формат этой строки не задокументирован, и нельзя полагаться
на определённое значение. Эти значения можно использовать только чтобы отличать
одну версию ОС от другой.
https://docs.microsoft.com/uwp/api
/windows.system.profile.analyticsversioninfo.devicefamilyversion
Этот API недоступен на Server Core
#>
$AnalyticsInfo = [Windows.System.Profile.AnalyticsInfo,Windows.System.Profile,ContentType=WindowsRuntime]
$VersionInfo = $AnalyticsInfo.GetMember( 'get_VersionInfo' )
$AnalyticsVersionInfo = $VersionInfo.Invoke( $Null, $Null )
# На моей тестовой машине этот код возвращает `2814751015109593`
$AnalyticsVersionInfo.DeviceFamilyVersion
<#
Строго говоря, строку *можно* парсить, если вам любопытно, что в ней,
хотя этого делать *нельзя*
https://stackoverflow.com/questions/31783604/windows-10-get-devicefamilyversion
#>
$v = [System.Int64]::Parse( $AnalyticsVersionInfo.DeviceFamilyVersion )
$v1 = ( $v -band 0xFFFF000000000000l ) -shr 48
$v2 = ( $v -band 0x0000FFFF00000000l ) -shr 32
$v3 = ( $v -band 0x00000000FFFF0000l ) -shr 16
$v4 = $v -band 0x000000000000FFFFl
# На моей тестовой машине этот код возвращает `10.0.19043.985`
[System.Version]::Parse( "$v1.$v2.$v3.$v4" )
<#
Не опубликовано *никакого* способа декодирования, позволяющего преобразовать
какое-то из приведённых выше значений в удобную для отображения версию,
например `21H1`
Показанная ниже альтернатива доступна только в последних версиях ОС,
начиная с Azure Stack HCI, версии 20H2
#>
Get-ComputerInfo -Property 'osDisplayVersion'
▍ Варианты для конечного пользователя
В документации Microsoft перечислено несколько команд, которые конечные пользователи могут применять для определения запущенной версии Windows. Например, чтобы выяснить версию Windows, можно использовать команду winver
или меню Параметров Windows. Эти способы предназначаются больше для конечных пользователей, чем для масштабного определения версии системы. Ниже показаны примеры:
▍ Почему это важно
После определения запущенной в системе версии Windows можно использовать эту информацию выполнения детерминированных действий: обновлений Windows, установки патчей и т. п. Например:
Можно запросить значение реестра DisplayVersion
(см. раздел «Реестр» выше), чтобы определить запущенную версию Windows. Затем можно задать перечисленные ниже значения реестра, чтобы сообщить Windows, какая версия должна быть запущена в системе. При помощи трёх ключей реестра вы полностью контролируете то, до какой версии Windows ваши системы будут пытаться обновиться!
Эти значения реестра можно задавать или напрямую, или через групповую политику.
▍ Куда двигаться дальше
Хотя вам необязательно управлять версиями Windows, запущенными на компьютерах компании, ей было бы ценно знать, какие это версии Windows. По крайней мере, потому, что Microsoft регулярно прекращает поддержку разных версий Windows.
Стоит также заметить, что показанные выше примеры — это неполный список способов определения версии Windows, однако он полезен для людей, управляющих окружением Windows. Эти способы оказались полезными для меня при устранении проблем, задании политик и т. п. Надеюсь, вам они тоже пригодятся.
Кроме того, ситуация с управлением версиями Windows постоянно меняется, поэтому я напишу ещё один пост, когда Microsoft перестанет рекомендовать перечисленные здесь способы.
Дополнительные ссылки
- Microsoft nixes update deferral settings, but gives us a TargetReleaseVersionInfo
- Windows 10 Version History
- Windows Server Versions.
Обновлено:
Опубликовано:
Краткая информация о Вашей системе: Windows 7, x32
Из командной строки (универсальный)
Универсальный способ узнать версию вашей Windows — открыть командную строку (Win + R — cmd) и ввести следующее:
systeminfo
Результат будет, примерно, следующий:
* в данном примере Windows 10 Professional, версия сборки 10.0.10586, 64-х разрядная.
Не загружаясь
Не загружая до конца операционную систему можно определить только ее выпуск по логотипу загрузки:
* как видно, Windows 8 и 10 имеют одинаковые окна при загрузке, поэтому точность определения низкая.
В графической оболочке
В зависимости от выпуска операционной системы версия Windows смотрится немного по-разному.
Ваш выпуск операционной системы — Windows 7
Windows 7 (Ваша система)
Нажимаем по Пуск — Все программы:
Переходим в Стандартные:
Служебные:
Выбираем Сведения о системе:
В открывшемся окне мы увидим версию Windows 7:
Windows 10
Нажимаем Пуск — Параметры:
Кликаем по Система:
Переходим в раздел О системе:
Справа отобразится версия Windows 10:
Windows 8
Кликаем по Пуск:
* В Windows 8.0 кнопки «Пуск» не видно. Чтобы на нее нажать, нужно навести указатель точно в левый нижний угол экрана и кликнуть левой кнопкой мыши.
Теперь по стрелке вниз:
В строке поиска начинаем писать «сведения»:
Среди результатов кликаем по Сведения о системе:
В открывшемся окне мы увидим версию Windows 8:
Была ли полезна вам эта инструкция?
Да Нет