Посмотреть версию windows в реестре

Время на прочтение
5 мин

Количество просмотров 17K

Как же определить версию 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 10В этой инструкции подробно опишу несколько простых способов узнать версию, выпуск, сборку и разрядность в Windows 10. Ни один из способов не требует установки дополнительных программ или чего-либо еще, все что нужно есть в самой ОС.

Для начала несколько определений. Под выпуском понимается вариант Windows 10 — Домашняя, Профессиональная, Корпоративная; версия — номер версии (меняется при выходе больших обновлений); сборка (построение, build) — номер сборки в рамках одной версии, разрядность — 32-битная (x86) или 64-битная (x64) версия системы.

Просмотр информации о версии Windows 10 в параметрах

Первый способ самый очевидный — зайти в параметры Windows 10 (клавиши Win+I или Пуск — Параметры), выбрать пункт «Система» — «О системе».

В окне вы увидите всю интересующую вас информацию, включая версию Windows 10, сборку, разрядность (в поле «Тип системы») и дополнительные данные о процессоре, ОЗУ, имени компьютера (см. Как изменить имя компьютера), наличии сенсорного ввода.

Информация о версии Windows 10 в параметрах

Сведения о Windows

Если в Windows 10 (да и в предыдущих версиях ОС) нажать клавиши Win+R (Win — клавиша с эмблемой ОС) и ввести «winver» (без кавычек), откроется окно сведений о системе, в котором есть информация о версии, сборке и выпуске ОС (данные о разрядности системы не представлены).

Windows 10 — о системе

Есть и другой вариант просмотра сведений о системе в более расширенном виде: если нажать те же клавиши Win+R и ввести msinfo32 в окно «Выполнить», вы также сможете просмотреть информацию о версии (сборке) Windows 10 и ее разрядности, правда в несколько ином представлении.

Сборка Windows 10 в msinfo32

Также, если кликнуть правой кнопкой мыши по «Пуск» и выбрать пункт контекстного меню «Система», вы увидите информацию о выпуске и разрядности ОС (но не о ее версии).

Дополнительные способы узнать версию Windows 10

Есть и несколько других способов посмотреть ту или иную (разной степени полноты) информацию о версии Windows 10, установленной на компьютере или ноутбуке. Перечислю некоторые из них:

  1. Кликнуть правой кнопкой мыши по Пуску, запустить командную строку. В верхней части командной строки вы увидите номер версии (сборки).
  2. В командной строке ввести systeminfo и нажать Enter. Вы увидите сведения о выпуске, сборке и разрядности системы. Версия ОС в командной строке
  3. Выбрать в редакторе реестра раздел HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion и там увидеть информацию о версии, выпуске и сборке Windows Версия в редакторе реестра Windows 10

Как видите, способов узнать версию Windows 10 предостаточно, можете выбирать любой, хотя самым разумным для бытового применения мне видится способ с просмотром данной информации в параметрах системы (в новом интерфейсе настроек).

Видео инструкция

Ну и видео о том, как просмотреть выпуск, сборку, версию и разрядность (x86 или x64) системы несколькими простыми способами.

Примечание: если вам требуется узнать, какая версия Windows 10 вам нужна для обновления текущей 8.1 или 7, то проще всего это сделать, загрузив официальное средство обновления Media Creation Tool (см. Как скачать оригинальный ISO Windows 10). В утилите выберите «Создать установочный носитель для другого компьютера». В следующем окне вы увидите рекомендуемую вам версию системы (работает только для домашнего и профессионального выпусков).

Версия операционной системы Windows может быть полезной информацией при установке программного обеспечения или при решении проблем совместимости. Узнать версию Windows можно различными способами, и один из них — изучение реестра операционной системы. Реестр Windows — это база данных, где хранится информация о системе и установленном программном обеспечении. В этой статье мы расскажем, как узнать версию Windows в реестре.

Прежде чем начать, важно отметить, что работы с реестром требует осторожности, поскольку неправильное внесение изменений может негативно сказаться на работе операционной системы. Поэтому перед редактированием реестра рекомендуется создать его резервную копию.

Примечание: Для выполнения этой инструкции потребуются права администратора.

Шаг 1: Откройте редактор реестра, нажав сочетание клавиш Win + R и введя команду «regedit».

Шаг 2: В редакторе реестра перейдите к следующему пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion.

Шаг 3: В правой части окна найдите запись «CurrentVersion». Рядом с ней будет указана версия операционной системы Windows. Например, «10.0» означает Windows 10.

Теперь вы знаете, как узнать версию Windows в реестре. Обратите внимание, что этот метод может отличаться в зависимости от версии операционной системы. Удачи в вашем исследовании реестра Windows!

Содержание

  1. Как определить версию Windows в реестре: подробная инструкция
  2. Метод 1: Через редактор реестра
  3. Метод 2: С помощью командной строки
  4. Метод 3: Используя системную информацию Windows

Как определить версию Windows в реестре: подробная инструкция

Часто бывает полезно узнать версию операционной системы Windows, особенно если вам необходимо установить или обновить определенное программное обеспечение. Определить версию Windows можно с помощью реестра операционной системы. В этой подробной инструкции мы расскажем вам, как это сделать.

Шаг 1: Откройте редактор реестра Windows. Чтобы это сделать, нажмите клавиши Win + R на клавиатуре, чтобы открыть диалоговое окно «Выполнить». Введите команду «regedit» (без кавычек) и нажмите Enter.

Шаг 2: Перейдите к следующему пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

Шаг 3: В правой части редактора реестра вы увидите различные значения, включая «CurrentVersion». Нажмите правой кнопкой мыши на «CurrentVersion» и выберите «Изменить».

Шаг 4: В появившемся окне «Изменение строки» вы увидите значение версии Windows в поле «Текущее значение». Это значение будет выглядеть примерно так: «10.0» для Windows 10, «6.3» для Windows 8.1, «6.2» для Windows 8 и т. д.

Шаг 5: Запишите или запомните значение версии Windows для будущего использования.

Теперь вы знаете, как определить версию операционной системы Windows в реестре. Эта информация может быть полезной при установке или обновлении программного обеспечения, которое требует определенной версии операционной системы.

Примечание: Будьте осторожны при работе с редактором реестра Windows. Неправильное изменение реестра может привести к непредвиденным последствиям для вашей операционной системы. Перед внесением изменений рекомендуется создать резервную копию реестра или обратиться за помощью к специалисту.

Метод 1: Через редактор реестра

Если вам необходимо узнать версию Windows, вы можете сделать это через редактор реестра. Вот пошаговая инструкция:

  1. Нажмите клавишу Windows + R, чтобы открыть окно «Выполнить».
  2. Введите «regedit» и нажмите Enter.
  3. Откроется редактор реестра. Навигируйте по следующему пути:
    • HKEY_LOCAL_MACHINE
    • SOFTWARE
    • Microsoft
    • Windows NT
    • CurrentVersion
  4. В правой части редактора найдите значение «CurrentVersion».
  5. Дважды кликните по нему, чтобы открыть окно с информацией.
  6. В этом окне вы увидите версию вашей операционной системы Windows и номер сборки.

Теперь вы знаете, как узнать версию Windows через редактор реестра. Этот метод позволяет получить полную информацию о вашей операционной системе.

Метод 2: С помощью командной строки

Чтобы узнать версию Windows с помощью командной строки, следуйте инструкциям:

  1. Нажмите клавишу Win + R, чтобы открыть окно «Выполнить».
  2. Введите «cmd» и нажмите клавишу Enter, чтобы открыть командную строку.
  3. Введите команду «ver» и нажмите клавишу Enter.

После выполнения команды «ver» в командной строке будет отображена информация о версии Windows. Обычно, первая строка содержит информацию о версии и номере сборки операционной системы.

Пример: Microsoft Windows [Version 10.0.19042.1202]

В данном примере, версия Windows — 10.0.19042.1202.

Таким образом, используя командную строку, вы можете быстро узнать версию Windows без необходимости входа в реестр операционной системы.

Метод 3: Используя системную информацию Windows

Если вы не хотите использовать командную строку или редактор реестра для определения версии Windows, вы можете воспользоваться встроенной системной информацией Windows. Этот метод требует нескольких простых шагов:

Шаг Инструкции
1 Откройте Панель управления Windows. Для этого нажмите правой кнопкой мыши на кнопку Пуск (левый нижний угол экрана) и выберите Панель управления.
2 В панели управления выберите категорию Система и безопасность, а затем кликните на ссылку Система.
3 В окне Система вы увидите информацию о вашей операционной системе Windows, включая версию. Версия будет указана рядом с полем Версия Windows.

Теперь вы знаете, как узнать версию Windows, используя системную информацию Windows. Этот метод позволяет выполнить задачу без использования сложных команд или настройки реестра.

Самый простой способ быстро узнать версию и билд операционной системы Windows, установленной на компьютере – нажать сочетание клавиш
Win+R
и выполнить команду
winver
.

На скриншоте видно, что на компьютере установлена Windows 10 версия 22H2 (билд 19045.3324). Как номер релиза, так и номер сборки (билда) Windows позволяет однозначно идентифицироваться версию операционной системы на компьютере.

winver - окно с версией и биодом Windows

Также можно открыть окно с информацией о системе с помощью сочетания клавиш
Win+Pause
. Это откроет соответствующий раздел Settings (System -> About) или окно свойств системы (в зависимости от версии Windows).

Информация о версии Windows в панели Settings -> About

Начиная с Windows 10 20H2, классическое окно свойств системы в Control Panel скрыто и не доступно для прямого запуска. Чтобы вызвать его, выполните команду
shell:::{bb06c0e4-d293-4f75-8a90-cb05b6477eee}
.

Можно получить информацию о билде и версии Windows, установленной на компьютере, из командной строки.

Выполните команду:

systeminfo

Можно отфильтровать вывод утилиты:

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

Или воспользуйтесь WMI командой:

wmic os get Caption, Version, BuildNumber, OSArchitecture

команда systeminfo - вывести версию windows

Аналогом команды systeminfo в PowerShell является командлет Get-ComputerInfo:

Get-ComputerInfo | select OsName, OsVersion, WindowsVersion, OsBuildNumber, OsArchitecture

Get-ComputerInfo

Главный недостаток командлета Get-ComputerInfo – он выполняется довольно долго. Если вам нужно быстро узнать версию и билд Windows из скрипта PowerShell, лучше воспользоваться одной из следующий конструкций.

Версия Windows в переменной окружения:

[System.Environment]::OSVersion.Version

Из WMI класса:

Get-WmiObject -Class Win32_OperatingSystem | fl -Property Caption, Version, BuildNumber

В современных версиях PowerShell Core 7.x вместо командлета Get-WmiObject нужно использовать Get-CimInstance:

Get-CimInstance Win32_OperatingSystem | fl -Property Caption, Version, BuildNumber, OSArchitecture

Get-CimInstance Win32_OperatingSystem - узнать номер билда windows

Значение параметра OSArchitecture позволяет определить установлена ли на компьютере
x86
или
x64
версия Windows.

Можно получить номер билда и версии непосредственно из реестра Windows.

Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName
Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v DisplayVersion
Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuild

или

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"| select ProductName, DisplayVersion, CurrentBuild

версия и билд Windows в реестре

С помощью параметров реестра
ProductVersion
,
TargetReleaseVersion
и
TargetReleaseVersionInfo
в ветке HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate вы можете указать версию Windows, до которой ваш компьютер может автоматически обновиться. Эти параметры позволяют также запретить автоматическое обновление ОС до Windows 11.

Вы можете получить информацию о версии Windows на удаленном компьютере через PowerShell Remoting:

Invoke-Command -ScriptBlock {Get-ItemProperty 'HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object ProductName, ReleaseID, CurrentBuild} -ComputerName wksPC01

Или WMI/CIM:

Get-ciminstance Win32_OperatingSystem -ComputerName wksPC01 | Select PSComputerName, Caption, OSArchitecture, Version, BuildNumber | FL

Если компьютер добавлен в домен Active Directory, вы можете получить информацию о версии/билде Windows на компьютере из атрибутов компьютера в AD (как получить список версий и билдов Windows в домене Active Directory).

Recently, one my friend asked me how to discover the Windows version (and edition) on one machine that can’t boot. He wanted to reinstall it. Luckily, the disk was accessible and the Registry was in a good shape.

Every Windows, since Windows 2000, will keep its product version and edition in the Registry. If you can attach the Registry file, you can read that information even from machine which failed to boot.

Depending on the Windows version, you can access this value from the Registry editor or even using the command line. This information is always stored inside the same key – HKLM\Software\Microsoft\Windows NT\CurrentVersion.

Using the command line

In Windows 7 or later, you can open the command prompt (you don’t need to be administrator) and type:

reg query "hklm\software\microsoft\windows nt\currentversion" /v ProductName

clip_image001

You will see the product version, similar to this:

HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion
    ProductName    REG_SZ    Windows 7 Enterprise

Other option is to use the Registry Editor. If you opted to use this tool, be very careful. Improper usage of this tool can seriously damage your system. You’re using this tool on your own responsibility.

Now, open the Registry editor and navigate to this key. In the right pane, you will see many parameters. One of them is the Product name. Depending on the version, you can also find here installed service packs and other useful information.

Here’s the content of this key in Windows 7:

Win7

Here’s the content of the same key in Windows 10:

Win10

This information was very helpful to my friend and he found the correct edition (the value named EditionID) on that machine. The rest was easy.

I hope that this small yet effective tip will save the day to many more people.

Stay tuned.

  • Посмотреть com объекты в windows
  • Последняя версия virtualbox для windows 10
  • Последняя версия фотошоп для windows 7
  • Посмотреть информацию о пользователе windows
  • Последняя версия thunderbird для windows xp