Hklm software microsoft windows те currentversion productname

Каково назначение основных разделов реестра Windows

Вступление

В данной статье будут рассмотрены основные ветки реестра Windows, а также их назначение. Список корневых разделов можно увидеть ниже:

  • HKEY_LOCAL_MACHINE (HKLM)
  • HKEY_USERS
  • HKEY_CURRENT_CONFIG
  • HKEY_CURRENT_USER
  • HKEY_CLASSES_ROOT

Типы данных в реестре

В реестре могут храниться данные семи типов:

  • REG_BINARY хранит произвольные двоичные данные в «сыром» виде, без переформатирования и синтаксического разбора. Эти данные можно просматривать в двоичном или шестнадцатеричном виде при помощи редактора реестра.
  • REG_DWORD хранит параметры, представленные восьмибайтными (длинные) целыми числами. Этот тип данных обычно применяется, когда параметр обозначает счетчик или интервал. Еще одно его применение в качестве флага (0 — флаг снят, 1 — установлен).
  • REG_SZ представляет собой обычную строку в кодировке Unicode любой длины. Наиболее часто в этом типе данных хранится информация, которая будет читаться пользователем, пути доступа, названия устройств и т.п.
  • REG_EXPAND_SZ — вид REG_SZ, используемый приложениями для хранения конструкций вида %SystemRoot%\System32, например. При чтении этой строки Windows заменяет %SystemRoot% на имя папки, куда она установлена.
  • REG_MULTI_SZ представляет собой набор произвольного количества параметров типа REG_SZ. В этом типе данных хранится, например, список IP адресов, назначенных сетевому интерфейсу.
  • REG_FULL_RESOURCE_DESCRIPTOR применяется для кодирования информации о системных ресурсах, необходимых для какого-либо из устройств.
  • REG_NONE служит как семафор, т.е. параметр существует, но не содержит ни какого значения. Некоторые приложения проверяют наличие этого параметра и, исходя из результата проверки, выполняют или не выполняют действие.

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

HKEY_LOCAL_MACHINE (HKLM)

Раздел HKEY_LOCAL_MACHINE (HKLM) — хранит все настройки, относящиеся к локальному компьютеру. Например, в подразделе HARDWARE хранятся записи операционной системы и драйверов и совместно используемая (разделяемая) информация о физических устройствах, обнаруживаемых операционной системой во время загрузки (как и остальных устройств Plug-and-Play, которые могут быть добавлены после загрузки операционной системы). Приложения должны хранить здесь данные только в том случае, когда они относятся ко всем, кто пользуется компьютером. Например, драйвер принтера может хранить здесь набор настроек принтера, применяемых по умолчанию, и копировать эти данные для каждого профиля пользователя при входе пользователя в систему.

HKLM\Hardware

В разделе HKLM\Hardware хранится информация об устройствах, обнаруженных в компьютере. Все параметры этого раздела хранятся не на жестком диске, а в оперативной памяти. Когда компьютер распознает запуск устройства, он нумерует найденное устройство, исследуя шину и отдельные классы устройств (например, порты или клавиатуру). В этом разделе имеются три основных подраздела:

  • Подраздел Descriptions содержит описания центральных процессоров, процессоров для операций вещественными числами («с плавающей точкой») и многофункциональных устройств компьютера.
  • Подраздел DeviceMap сопоставляет устройства драйверам. Например, DeviceMap\video имеет параметр с именем \Device\Video1, содержащий строку \REGISTRY\Machine\SYSTEM\ControlSet001\Services\mnmdd\Device0, являющуюся указателем на место, где хранятся параметры для драйвера этого видеоконтроллера.
  • В подразделе ResourceMap имеются три основных подраздела. Один — для уровня аппаратных абстракций (HAL, hardware abstraction layer), применяемый при отслеживании найденных устройств. Второй — для Plug-and-Play Manager, для записи устройств, про которые известно, как с ними работать. Третий — для отображения объема оперативной памяти.
Читайте также:  Не запускается fifa после установки windows 10

Могут быть и дополнительные подразделы, в зависимости от конфигурации компьютера. Например, компьютеры с поддержкой интерфейса управления питанием (ACPI), будут иметь подраздел ACPI, содержащий информацию о конкретных возможностях ACPI на этом компьютере.

HKLM\SAM

В разделе HKLM\SAM хранятся локальные учетные записи или группы, созданные на компьютере. Раздел скрыт.

HKLM\Security

В разделе HKLM\Security содержится всевозможная информация, относящаяся к защите. Формат не документирован. Используется для кэширования верительных данных для входа в систему, настроек политики и разделяемых секретных данных сервера. Подраздел Security\SAM содержит копию большинства данных из HKLM\SAM

HKLM\Software

Раздел HKLM\Software — является корнем структуры подразделов, хранящих глобальную (в пределах компьютера) информацию приложений и компонент. Программы создают свои собственные подразделы в HKLM\Software для храниения своей служебной информации. В разделе HKLM\Software\Microsoft\Windows\CurrentVersion хранится большинство данных о настройках пользовательского интерфейса (GUI). Подраздел HKLM\Software\Microsoft\Windows NT\CurrentVersion, среди прочих, содержит разделы для автоматического восстановления, для шифруемой файловой системы, для редактора конфигурации безопасности, для терминальных служб и т.д

HKLM\System\CurrentControlSet

Последним действием фазы загрузки Windows является обновление реестра, которое должно зафиксировать набор служб и управляющих настроек, применявшийся при последней успешной загрузке. CurrentControlSet всегда указывает на набор управляющих настроек, используемых системой в текущий момент. В HKLM\System есть много подразделов ControlSetXXX, каждый из которых описывает набор управляющих настроек, существовавших в какой-либо момент времени, независимо от того, была ли загрузка успешной или нет. CurrentControlSet является указателем на последний набор управляющих настроек, при котором загрузка была успешной. Поскольку трудно определить сразу, какая из загрузок была успешной, то операционная система и приложения пользуются указателем CurrentControlSet.
В разделе, описывающем набор управляющих настроек, среди прочих, имеются четыре следующих раздела:

  • Control — Содержит управляющую информацию для служб и системных инструментальных средств. Например, Control\BackupRestore\KeysNotToRestore содержит список разделов, которые утилита Backup на должна восстанавливать при восстановлении реестра.
  • Enum — Содержит по одному элементу данных для каждого из найденных системой устройств. Если устройство имелось на на момент загрузки, то оно будет включено в этот список.
  • Hardware Profiles — Содержит по одному элементу данных для каждого из профилей оборудования, найденных на компьютере. Как и сам HKLM\System, каждый профиль имеет порядковый номер, начинающийся с 0001. HKLM\System\Hardware Profiles\Current всегда указывает на профиль, выбранный при загрузке.
  • HKLM\System\MountedDevices — Тома динамических дисков зависят от наличия информации о текущей конфигурации о логических томах на диске. Приложения и оснастки берут эту информацию из службы Logical Volume Manager, которая хранит свой список смонтированных и доступных устройств и подразделе MountedDevices

HKEY_USERS (HKU)

Раздел HKEY_USERS (HKU) — содержит записи для каждого из пользователей, когда-либо входивших в систему. Владельцем каждой из этих записей является соответствующая пользовательская учетная запись, там содержатся настройки профиля этого пользователя. Если используются групповая политика, то задаваемые в ней настройки применяются здесь к профилям отдельных пользователей.

HKEY_CURRENT_CONFIG (HKCC)

Раздел HKEY_CURRENT_CONFIG (HKCC) — хранит информацию о текущей загрузочной конфигурации компьютера. В частности, здесь хранится информация о текущем наборе системных служб и об устройствах, имевшихся во время загрузки. На самом деле, этот корневой раздел является указателем на раздел внутри HKLM.

Читайте также:  Gtx 760 directx 11 для windows

HKEY_CURRENT_USER (HKCU)

Раздел HKEY_CURRENT_USER (HKCU) указывает на профиль текущего пользователя (вошедшего в данный момент в систему) внутри HKU. Microsoft требует, чтобы приложения хранили все предпочтения пользователей в подразделах под HKCU. Например, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint содержит личные настройки пользователей программы Paint.

HKEY_CLASSES_ROOT (HKCR)

Раздел HKEY_CLASSES_ROOT (HKCR) — сопоставляет расширения файлов и идентификаторы классов OLE. Фактически он указывает на HKLM\Software\Classes. Система использует эти соответствия чтобы определить, какие приложения или компоненты нужно использовать при открытии или создании тех или иных типов файлов или объектов данных.

«ProductId» в «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion»

Здравствуйте, уважаемые форумчане!
Windows 10 Pro.
1. На что влияет значение «ProductId» в «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion», кроме как отражения его значения «Код продукта:» в свойствах «Система»?
2. Безопасно ли менять данное значение?
3. Повлияет ли это на активацию (ключем по телефону), на установку обновлений (в т.ч. новых сборок, выходящих каждые пол-года)? Не слетит ли активация после обновлений или иных действий с подменённым значением «ProductId»?

4. «InstallDate» — тоже могу смело менять?

P.S. Кратковременный эксперимент с заменой «ProductId» и дальнейшей перезагрузкой ни на что не повлиял, кроме как на значения «Код продукта:» в свойствах «Система».
P.P.S. В «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion» есть ещё «DigitalProductId» с таким-же ID, но его я не трогаю.

P.S. Для модераторов: Данный пост не является обсуждением взлома, см. спойлер.

Имеется лицензионная небезызвестная «софтина» отечественного производства с ограниченным количеством активаций на ПК с Windows 10 2015-го года, который постоянно всеми путями пытается обновиться до последних сборок. (новые сборки Win10 каждые пол-года выходят). Активация данной «софтины» (многие, думаю, уже догадались, какой), привязывается не только ко всему железу и ОС, количеству ОЗУ, размеру разделов на HDD, версии BIOS, версии Windows, а буквально ко всему, чуть-ли вплоть не к температуре процессора. Худо-бедно, но противостоять обновлению сборок Windows на протяжении всего этого времени удавалось. А вчера таки Win10 сумела всётаки самовольно обновиться, лишив меня лицензии сей «софтины».
Откатиться не получится на сборку 2015 года, проверено на других ПК. После отката, ОС становится неработоспособной. Т.к. за последние 2 года уже было 2 сборки, до которых откат без краха системы невозможен. (где даже ТП MS бессильна и подтверждает данный факт).
Полное отключение обновлений — тоже не вариант, ПК в интернете.
Вариант со взломом «софтины» (в чём проблем нет) — НЕприемлим.

Выявил, что если подменить «ProductId» и «InstallDate», которые меняются после автоматического обновления сборки Win10, на старые (которые были до обновления), лицензия «Софтины» возвращается. (Да простят меня уголовные органы и разработчики за столь жесточайший обман системы защиты «софтины»).

P.S. Разумеется, при изменении других параметров ПК, например, мышки — уже этими действиями лицензию «софтины» не вернуть. Просьба, модераторов, не расценвать данный пост как взлом. Это лишь возможный обход реальной подлянки от разработчиков «софтины», в иных случаях — не сработает.

Вот хотелось выяснить, не огребу ли я проблем с Windows 10 и его активацией, используя «ProductId» и «InstallDate», которые были до автоматического обновления?

Читайте также:  Windows on the hill

Значение из реестра

Подскажите, че сделать

шелл = Новый COMОбъект(«WScript.Shell»);
Значение = шелл.RegRead(«HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate»);

возвращает 0, а надо что бы возвращало значение которое есть там

в то же время делаю

шелл = Новый COMОбъект(«WScript.Shell»);
Значение = шелл.RegRead(«HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName»);

все отлично работает.

заметил что первое имеет значение Reg_SZ, а второе Reg_Dword

вообщем надо получить дату установки винды

(6) обманывать смысла нету

Дата1 01.01.1970 0:00:00

вот у меня вот так 🙂

на виртуалке запустил XP, проверил код, действительно:

на XP все нормально получает

в реестре глянул, нету там даты установки вин, есть значения установки ie, некоторых прог, но про винду нету, в том время как если поглядеть в самом реестре, то в HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate

(33) рег эдит запущен 1

думается мне нужно не в этом направлении искать, т.к. в то же время

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName и другие отрабатывают нормально

Еще, как вариант, определить, когда была установлена ОС — это воспользоваться командой wmic. Для этого необходимо ввести в командной строке команду wmic os get installdate.

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

PS C:\; ([WMI]»).ConvertToDateTime((Get-WmiObject Win32_OperatingSystem).InstallDate)

Так же узнать дату установки Windows можно с помощью реестра. Для этого в реестре нужно найти ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion и далее найти параметр REG_DWORD с именем InstallDate.

Так как данные хранятся в Hex коде его также нужно преобразовать при помощи команды PowerShell.

Hklm software microsoft windows те currentversion productname

Сообщения: 137
Благодарности: 8

Конфигурация компьютера
Материнская плата: Asus Z87-K
HDD: 1Tb+1Tb WD Black, SSD Corsair Force GS 120 Gb
Звук: Int
CD/DVD: —
ОС: Win 7×64 (m0nkrus)

Пробовал как из под BSPOST, так и запущенный руками батник. Итог один — х86 система определяет неправильно

Конфигурация компьютера
Материнская плата: Asus P5Q PRO
HDD: Seagate ST3250410AS (250 Гб, 7200 RPM, SATA-II) + STM31000528AS (1 Тб, 7200 RPM, SATA-II)
Звук: Realtek ALC1200 (встроенный)
CD/DVD: Optiarc DVD RW AD-7170S
ОС: Windows 7 Ultimate SP1 (x64)
Оцените статью