Руководство по работе с реестром ОС Windows¶
Содержание:
Предисловие¶
Руководство содержит базовые приёмы и практические примеры работы с реестром операционной системы Windows.
Авторские права¶
Руководство распространяется на условиях лицензии «Attribution-ShareAlike» («Атрибуция — На тех же условиях» 4.0 Всемирная.
Благодарности¶
- Александр Дегтярев
- Михаил Хромов
Обратная связь¶
Все вопросы, правки и пожелания направляйте на адрес uksvlg@yandex.ru.
Автор: | Дмитрий Мажарцев |
---|---|
Адрес: | Волгоград |
Дата: | 29 июня 2015 года |
Реестр Windows¶
Реестр Windows (англ. Windows Registry), или системный реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем семейства Microsoft Windows [2].
В реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах [1].
Открытие реестра¶
Поскольку файлов в реестре несколько, его нельзя открыть, например, в текстовом редакторе и внести какие-либо коррективы. Для работы с ним требуется специальная программа – редактор реестра, который является встроенным компонентом операционной системы Windows и вызывается путем ввода команды Regedit
[4].
Существует несколько способов открыть редактор реестра.
Способ №1 – Открытие через утилиту «Выполнить»:
- Выбрать Пуск → Выполнить, либо нажать сочетание клавиш
Win+R
(Win
— клавиша, междуCtrl
иAlt
в нижнем ряду клавиатуры, обычно на ней изображен значок Microsoft Windows;
- В открывшимся окне ввести команду
regedit
; - Нажать клавишу
ОК
.
Способ №2 – Открытие через поиск по меню «Пуск»:
- Открыть меню Пуск;
- Ввести в строке поиска
regedit
и запустить найденный файл, который отобразится в верхней части Пуска.
С другими способами можно ознакомиться в статье Три способа открыть редактор реестра Windows.
Структура реестра¶
Реестр имеет иерархическую структуру, которая напоминает файловую систему жесткого диска – с его каталогами, подкаталогами и файлами. Но называются элементы реестра по-другому: верхний уровень иерархии составляют разделы, каждый из которых может содержать вложенные подразделы, а также параметры. Именно в параметрах хранится основное содержимое реестра, разделы служат лишь для группировки схожих по назначению параметров [4].
Далее приведен краткий перечень и краткое описание стандартных разделов реестра. Максимальная длина имени раздела составляет 255 символов.
HKEY_CURRENT_USER
Данный раздел является корневым для данных конфигурации пользователя, вошедшего в систему в настоящий момент. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU
.
HKEY_USERS
Данный раздел содержит все активные загруженные профили пользователей компьютера. Раздел HKEY_CURRENT_USER
является подразделом раздела HKEY_USERS
. Вместо полного имени раздела иногда используется аббревиатура HKU
.
HKEY_LOCAL_MACHINE
Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Наиболее интересным является подраздел Software
, который включает в себя настройки всех установленных в системе приложений. Вместо полного имени раздела иногда используется аббревиатура HKLM
.
HKEY_CLASSES_ROOT
Является подразделом HKEY_LOCAL_MACHINE\Software
. Хранящиеся здесь сведения обеспечивают выполнение необходимой программы при открытии файла с использованием проводника. Вместо полного имени раздела иногда используется аббревиатура HKCR
. Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE
, так и в HKEY_CURRENT_USER
.
Раздел HKEY_LOCAL_MACHINE\Software\Classes
содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes
, переопределяют принятые по умолчанию и относятся только к текущему пользователю.
Раздел HKEY_CLASSES_ROOT
включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT
предоставляет эти объединенные данные программам, разработанным для более ранних версий Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes
. Модификация параметров по умолчанию должна производиться в разделе HKEY_LOCAL_MACHINE\Software\Classes
. Данные из разделов, добавленных в HKEY_CLASSES_ROOT
, будут сохранены системой в разделе HKEY_LOCAL_MACHINE\Software\Classes
. Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT
и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes
, то для хранения информации будет использован раздел HKEY_CURRENT_USER\Software\Classes
, а не HKEY_LOCAL_MACHINE\Software\Classes
.
HKEY_CURRENT_CONFIG
Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.
Примечание
Реестр 64-разрядных версий Windows подразделяется на 32- и 64-разрядные разделы. Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот. По умолчанию редактор реестра 64-разрядных версий Windows отображает 32-разрядные разделы в следующем узле: HKEY_LOCAL_MACHINE\Software\WOW6432Node
Файлы реестра на жестком диске¶
Основные файлы, отвечающие за формирование реестра хранятся в папке %SystemRoot%\System32\Config\
. Обычно это C:\Windows\System32\Config\
и в зависимости от версии ОС их состав может несколько различаться.
Файл, хранящий личные настройки пользователя, «скрыт» в папке соответствующей учетной записи, например, в C:\Documents and Settings\Dmitry
. Также файлы, отвечающие за пользовательские настройки, могут храниться в:
C:\Documents and Settings\%Username%\(Ntuser.dat)
;C:\Documents and Settings\%Username%\Local Settings\Application Data\Microsoft\Windows\ (UsrClass.dat)
.
Еще есть резервные копии файлов реестра, созданные системой, хранятся они в
C:\Windows\System32\config\RegBack
– для Windows 7 и Server 2008;C:\Windows\repair
– для XP и Server 2003.
Примечание
По умолчанию операционная система делает резервные копии этих файлов раз в 10 дней с помощью планировщика задач.
Вспомогательные файлы для всех кустов за исключением HKEY_CURRENT_USER
хранятся в системах Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista в папке %SystemRoot%\System32\Config
.
Вспомогательные файлы для куста HKEY_CURRENT_USER
хранятся в папке %SystemRoot%\Profiles\Имя_пользователя
. Расширения имен файлов в этих папках указывают на тип содержащихся в них данных. Отсутствие расширения также иногда может указывать на тип содержащихся в файле данных.
Примечание
Куст (дерево) реестра (англ. hive) - это группа разделов, подразделов и параметров реестра с набором вспомогательных файлов, содержащих резервные копии этих данных.
Куст реестра | Вспомогательные файлы |
---|---|
HKEY_LOCAL_MACHINE\SAM |
Sam , Sam.log , Sam.sav |
HKEY_LOCAL_MACHINE\Security |
Security , Security.log , Security.sav |
HKEY_LOCAL_MACHINE\Software |
Software , Software.log , Software.sav |
HKEY_LOCAL_MACHINE\System |
System , System.alt , System.log , System.sav |
HKEY_CURRENT_CONFIG |
System , System.alt , System.log , System.sav , Ntuser.dat , Ntuser.dat.log |
HKEY_USERS\DEFAULT |
Default , Default.log , Default.sav |
Примечание
Например, кусту HKEY_LOCAL_MACHINE\Software
соответствует на жестком диске файл C:\Windows\System32\config\SOFTWARE
.
Работа с Редактором реестра¶
Редактор реестра – инструмент, предназначенный для просмотра и изменения параметров в системном реестре, в котором содержатся сведения о работе компьютера.
Способы открытия редактора реестра описаны в разделе Открытие реестра данного руководства.
Создание резервной копии реестра (Экспорт)¶
Прежде чем вносить изменения в реестр, рекомендуется выполнить экспорт и создать его резервную копию. Можно сделать резервную копию как всего реестра в целом, так и отдельных разделов и подразделов. Позже эту резервную копию можно импортировать, чтобы отменить внесенные изменения.
Предупреждение
Перед внесением каких-либо изменений в реестр всегда создавайте его резервную копию!
Чтобы создать полную копию реестра необходимо:
- Запустить редактор реестра, как это описано выше;
- Оставаясь в корне реестра открыть меню «Файл» и выбрать пункт «Экспорт…»;
- Выбрать место, где будет сохранена резервная копия, и указать «Имя файла»;
- Нажать на кнопку «Сохранить».
Чтобы сэкономить место, можно сделать резервную копию отдельного раздела или подраздела. Для этого необходимо нажать правой кнопкой мыши на раздел (подраздел) и в выпадающем меню выбрать пункт «Экспорт…». Также можно просто перейти в нужный раздел (подраздел) и выбрать меню «Файл → Экспорт…».
Экспортированный файл будет иметь расширение .reg
.
Примечание
Экспортированные из реестра файлы с расширением .reg
являются простыми текстовыми файлами, их можно открыть любым простым текстовым редактором (Notepad++, Блокнот).
Восстановление реестра из резервной копии (Импорт)¶
Чтобы импортировать сохраненный файл реестра, достаточно дважды нажать левой кнопкой мыши по файлу с расширением .reg
.
Также можно:
- Открыть редактор реестра;
- В меню «Файл» выбрать пункт «Импортировать файл реестра»;
- В меню открытия файлов найти файл, который следует импортировать, выделить его и нажать кнопку «Открыть».
Примечание
Операции экспорта и импорта используются не только для создания резервных копий. Практическое использование данных функций рассмотрено в главе Практические приёмы работы с Реестром данного руководства.
Поиск в реестре¶
Для быстрого доступа к параметром можно воспользоваться функцией поиска по реестру, которая находится в меню «Правка → Найти» (Ctrl+F
).
Для перемещения между найденными значениями используется «Правка → Найти далее» (F3
).
Загрузка и выгрузка куста¶
Допустим, имеется жесткий диск с нерабочего компьютера. Чтобы получить доступ к определенным веткам реестра, который хранится на этом жестком диске, необходимо:
- Подключить жесткий диск к рабочему компьютеру;
- Открыть реестр на рабочем компьютере;
- Выбрать необходимую ветку реестра;
- Перейти в меню «Файл → Загрузить куст»;
- В файловом менеджере выбрать соответствующий файл куста с нерабочего компьютера;
- Задать произвольное имя загруженному кусту.
В соответсвии с примером, в ветку HKEY_LOCAL_MACHINE
работающего компьютера была загружена ветка HKEY_LOCAL_MACHINE\Software
с неработающего компьютера.
Для загрузки других веток реестра, необходимо выбирать соответствующие файлы на жестком диске. Таблица соответсвия веток реестра и файлов на жестком диске приведена в главе Файлы реестра на жестком диске данного руководства.
Примечание
Также допустимо скопировать папку C:\Windows\System32\config\
на обыкновенную флешку и загружать требуемые кусты с нее.
Совет
При работе с загруженными кустами есть нюанс, который заключается в разрешениях (правах) на доступ к тем или иным разделам. Подробнее о разрешениях написано в разделе Права доступа (Разрешения) данной главы.
Более простой способо обойти подводные камни с разрешениями на ветки заключается в использовании утилиты psexec.exe
, работа с которой описана в разделе Работа через утилиту PsExec.
После завершения работы с загруженными кустами, их желательно выгрузить. Для этого необходимо перейти в «Файл → Выгрузить куст».
Права доступа (Разрешения)¶
Все разделы реестра имеют права доступа или разрешения. Если у текущего пользователя нет прав на определенный раздел, то будет выведено сообщение об ошибке и запрете доступа к данному разделу.
Прав доступа может не быть по нескольким причинам:
- У текущего пользователя, залогиненного в системе, нет прав администратора;
- Группа «Администраторы» является владельцем раздела, но не имеет полных прав на него. В этом случае достаточно просто выдать группе «Администраторы» полные права.
- Владельцем раздела является системная служба TrustedInstaller.
- Владельцем раздела является системная учетная запись «Система».
В первом случае необходимо обращаться к системному администратору, чтобы он предоставил доступ к учетной записи администратора или дал администраторские права пользователю.
Во втором случае необходимо присвоить полные права и сменить владельца.
Получение полных прав и смена владельца¶
- Нажать правой кнопкой мыши на раздел и выбрать пункт «Разрешения»;
- Выделить текущего пользователя:
- Если доступен флажок «Полный доступ», установить его и нажать кнопку «ОК. Этого может оказаться достаточно, если группа является владельцем раздела.
Если отсутствует необходимый пользователь, флажок «Полный доступ» недоступен или возникает сообщение об ошибке, переходите к пункту 3.
- В меню разрешений нажать кнопку «Дополнительно»;
Примечание
Во время добавления разрешений и владельцев могут возникать сообщения об отсутсвии прав доступа. Данные сообщения можно смело игнорировать.
Перейти на вкладку «Владелец» и добавить текущего пользователя;
На вкладке «Разрешения» нажать кнопку «Добавить»;
В поле «Введите имена выбираемых объектов» ввести имя текущей учетной записи и нажать кнопку «Проверить имена», затем нажать «ОК»;
Появится диалог разрешений. Поставить галочку напротив «Полный доступ» и нажать «ОК»;
После добавления владельца и назначения прав нажать клавишу F5
или «Вид → Обновить». Напротив непустого раздела появится треугольник, который означает, что у текущего пользователя есть права на доступ в него.
На рисунке 18 видно, что у текущего пользователя есть доступ к подразделу Keys
, но нет прав на открытие разделов KeyDevices
и Random
. Треугольника напротив подраздела может не быть, если данный подраздел пуст.
Примечание
В Windows 8 и выше порядок работы с диалогом смены и добавления владельца немного отличается – владелец выбирается сверху.
Совет
Ручное добавление владельцев и прав доступа удобно, если нужно получить доступ всего к нескольким разделам. Если нужно получить доступ к большому количеству разделов, то гораздо целесообразнее воспользоваться утилитой PsExec.exe
. Работа с данной утилитой рассматривается в разделе Работа через утилиту PsExec.
Работа через утилиту PsExec¶
Для запуска редактора реестра с полными правами от имени системы можно воспользоваться программой PsExec.exe.
- Скачайте утилиту
PsExec.exe
и скопируйте в корень дискаC
. - Запустите командную строку от имени администратора. «Пуск → Выполнить → cmd».
- Введите в командную строку команду:
C:\PsExec.exe -i -s regedit.exe
Запустится редактор реестра от имени системы, что задается параметром -s
(параметр -i
обеспечивает интерактивный запуск приложения)[11].
Если возникает сообщение об ошибке Couldn't install PSEXESVC service...
, то необходимо отключить контроль учетных записей Windows (UAC):
- Меню «Пуск → Панель управления»;
- «Учетные записи пользователей → Изменение параметров контроля учетных записей»;
- Сдвинуть ползунок до самого низа — «Никогда не уведомлять»;
- Перезагрузить компьютер.
В Windows Vista в диалоговом окне «Пуск → Панель управления → Учетные записи пользователей → Включение и отключение контроля учетных записей» снять галочку «Используйте контроль учетных записей для защиты компьютера».
В Windows 8 и выше для полного отключения контроля учетных записей (UAC) необходимо в реестре в ветке HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
присвоить параметру EnableLUA
значение 0
.
Внимание
После отключения параметров контроля учетных записей (UAC) необходима перезагрузка.
Добавление и удаление элементов¶
Для создания разделов, подразделов и параметров, необходимо перейти в меню «Правка → Создать» и выбрать необходимый тип создаваемого элемента. Либо нажать правой кнопкой мыши и в появившемся меню выбрать пункт «Создать».
Более подробную информацию о типах параметров смотрите в статье Сведения о реестре Windows для опытных пользователей.
Работа с реестром из командной строки¶
Работа с реестром возможна не только через утилиту regedit.exe
, но и напрямую из командной строки с помощью утилиты REG
, она поддерживает все возможности, которые имеет программа regedit.exe
. И более того – она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit
по каким либо причинам невозможна.
К тому же это позволяет автоматизировать многие рутинные задачи и встраивать команды в скрипты.
Основной синтаксис¶
В общем виде синтаксис команды REG
выглядит следующим образом:
REG <процедура> [список параметров]
Всего существует одиннадцать процедур, которые способна выполнять директива REG
: QUERY
, ADD
, DELETE
, COPY
, SAVE
, LOAD
, UNLOAD
, RESTORE
, COMPARE
, EXPORT
, IMPORT
. Каждая из этих процедур имеет, как правило, собственный набор параметров.
При вызове из командной строки директива REG
пересылает в окружение операционной системы так называемый код возврата: сообщение об успешном или неуспешном выполнении операции. Если код возврата равен 0
, это означает, что операция была выполнена успешно, если же она завершилась с ошибкой, код возврата будет равен 1
.
Более подробные сведения об использовании утилиты REG
вы можете получить, набрав в командной строке директиву REG /?
, чтобы получить информацию о какой-либо из перечисленных процедур, воспользуйтесь командой REG <процедура> /?
.
Сокращения¶
Для удобства ввода применяются сокращения названий веток реестра. Все сокращения представлены в таблице ниже:
Ветка | Сокращение |
---|---|
HKEY_CLASSES_ROOT |
HKCR |
HKEY_CURRENT_USER |
HKCU |
HKEY_LOCAL_MACHINE |
HKLM |
HKEY_USERS |
HKU |
HKEY_CURRENT_CONFIG |
HKCC |
Вывод содержимого ветвей (QUERY)¶
Команда REG QUERY
отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:
REG QUERY [\Компьютер\]Путь [/v Параметр | /ve] [/s]
В составе директивы могут использоваться следующие параметры:
Компьютер
– имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.Путь
– полный путь к целевому разделу реестра в видекорень\ключ\подраздел
, где корень - сокращенное обозначение ветви реестра (HKLM
,HKCU
,HKCR
,HKU
илиHKCC
), аключ\подраздел
- полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы./v
– запрос о содержимом указанного раздела реестра.Параметр
– вывести имя и значение запрашиваемого параметра в указанном разделе./ve
– запрос стандартного параметра с пустым именем./s
– вывести список всех подразделов данного раздела реестра вместе с их содержимым.
В качестве примера получим содержимое ветки в которой хранятся закрытые ключи квалифицированных электронных подписей:
reg query "HKLM\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys"
Примечание
Лучше вводить путь в кавычках.
Будет выведен примерно такой результат:
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys
def.key REG_BINARY 300E0C0C415A415A415F6E6F70617373
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys\2015ZAO_
Как видно из вывода, в реестре компьютера находится всего один контейнер 2015ZAO_
.
Экспорт и импорт веток реестра (EXPORT и IMPORT)¶
Для экспорта используется команда EXPORT
. Синтаксис команды:
REG EXPORT <имя_раздела> <имя_файла> [/y]
имя_раздела
– полное имя подраздела реестра в одном из выбранных корневых разделов.имя_файла
– имя.reg
файла, который получится после экспорта.- Параметр
/y
в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.
Экспортируем контейнеры закрытых ключей на рабочий стол:
reg export "hklm\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-2-1-2889205033-3114528180-1522031737-1000\Keys" C:\Users\Dmitry\Desktop\keys.reg /y
Операция успешно завершена.
Вся ветка с контейнерами успешно экспортирована на рабочий стол и сохранена в файле keys.reg
. Теперь импортируем ее обратно.
Примечание
Команда доступна только для выполнения на локальном компьютере.
Для импорта используется команда IMPORT
. Синтаксис команды:
REG IMPORT <имя_файла>
Выполним:
reg import C:\Users\747\Desktop\keys.reg
Операция успешно завершена.
Напомню, что для экспорта ветки на другом компьютере, необходимо будет изменить в файле keys.reg
путь к ветке реестра с учетом разрядности операционной системы и SID
текущего пользователя. Подробнее об импорте и экспорте закрытых ключей смотрите в Руководстве по работе с реестром ОС Windows в разделе Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739].
Создание резервной копии реестра (SAVE и RESTORE)¶
Для резервного копирования и восстановления реестра используются следующие команды (типы операций) утилиты REG SAVE
и REG RESTORE
:
REG SAVE <имя_раздела> <имя_файла> [/y]
REG RESTORE <имя_раздела> <имя_файла>
Примечание
В данному разделе перечислены основные команды утилиты REG
для получения более подробной информации обратитесь к ресурсам, перечисленным в разделе Дополнительные ссылки
Практические приёмы работы с Реестром¶
В данном разделе рассматриваются практические примеры работы с реестром:
- Лицензия КриптоПро в реестре [1017]
- Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739]
- Восстановление закрытых ключей с неисправного компьютера
- Извлечение информации из резервной копии реестра
- Доступ к считываетлям (Calais)
- Доверенные узлы
Лицензия КриптоПро в реестре [1017]¶
Лицензия КриптоПро хранится в реестре, её можно оттуда скопировать, либо ввести.
- Перейти в ветку:
КриптоПро 3.6:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer \UserData\S-1-5-18\Products\05480A45343B0B0429E4860F13549069\InstallPropertiesКриптоПро 3.9:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer \UserData\S-1-5-18\Products\68A52D936E5ACF24C9F8FE4A1C830BC8\InstallPropertiesКриптоПро 4.0:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer \UserData\S-1-5-18\Products\7AB5E7046046FB044ACD63458B5F481C\InstallPropertiesКриптоПро 3.0:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18 \Products\0CC4F742C3275A04A9832E2E2CD4BE64\InstallProperties\ProductID
- Открыть двойным нажатием левой кнопки мыши параметр
ProductID
и прописать в полеЗначение
серийный номер лицензии (можно с дефисами, можно без). Либо скопировать номер лицензии оттуда.
Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739]¶
Реестр может использоваться в качестве ключевого носителя, другими словами, в него можно скопировать Квалифицированную электронную подпись (КЭП). После копирования закрытые ключи будут находиться:
- для 32-битной ОС:
HKEY_LOCAL_MACHINE\SOFTWARE\CryptoPro\Settings\
Users\(идентификатор пользователя)\Keys\(Название контейнера)
- для 64-битной ОС:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings
\USERS\(идентификатор пользователя)\Keys\(Названиеконтейнера)
- В некоторых случаях сертификат попадает сюда:
HKEY_USERS\S-1-5-21-{SID}_Classes\VirtualStore\MACHINE\SOFTWARE
\[Wow6432Node]\Crypto Pro\Settings\USERS\S-1-5-21-{SID}\Keys\
Где SID (идентификатор пользователя) (англ. Security Identifier (SID)) — структура данных переменной длины, которая идентифицирует учетную запись пользователя, группы, домена или компьютера.
Узнать SID пользователя можно через командную строку («Пуск → Выполнить → cmd»), введя команду WHOAMI /USER
.
Совет
Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».
Восстановление закрытых ключей с неисправного компьютера¶
Совет
Обязательно ознакомьтесь с главой Работа с Редактором реестра и разделами:
Есть возможность восстановить закрытые ключи сертификата, если они были записаны в реестре компьютера и этот компьютер сломался.
Это можно сделать только в том случае, если жесткий диск в рабочем состоянии и есть возможность его подключить к рабочему системному блоку. Или есть копия папки C:\Windows\System32\config\
.
Если условия выполняются, необходимо проделать следующее:
- Подключить жесткий диск от неработающего компьютера к рабочему системному блоку;
- Скачать утилиту
PsExec.exe
и скопировать ее в корень дискаC
.
Открыть редактор реестра с помощью утилиты
PsExec.exe
(см. раздел Работа через утилиту PsExec). В командной строке («Пуск → Выполнить → cmd») ввести команду;C:\PsExec.exe -i -s regedit.exe
Загрузить куст
HKEY_LOCAL_MACHINE\Software
(см. раздел Загрузка и выгрузка куста):- Перейти в раздел
HKEY_LOCAL_MACHINE
; - Выбрать «Файл → Загрузить куст»;
- В файловом менеджере выбрать соответствующий файл куста с нерабочего компьютера
C:\Windows\System32\config\SOFTWARE
; - Задать произвольное имя загруженному кусту, например,
AZAZAZ
.
- Перейти в раздел
Загрузка куста может занять некоторое время.
- Перейти в раздел, в котором хранятся КЭП;
- для 32-битной ОС:
HKEY_LOCAL_MACHINE\ASASAS\CryptoPro\Settings\ Users\(идентификатор пользователя)\Keys\(Название контейнера)
- для 64-битной ОС:
HKEY_LOCAL_MACHINE\ASASAS\Wow6432Node\Crypto Pro\Settings \USERS\(идентификатор пользователя)\Keys\(Названиеконтейнера)В некоторых случаях сертификат попадает сюда:
HKEY_USERS\S-1-5-21-{SID}_Classes\VirtualStore\MACHINE\SOFTWARE \[Wow6432Node]\Crypto Pro\Settings\USERS\S-1-5-21-{SID}\Keys\
- После того, как найден нужный раздел с ключами:
- Нажать на подраздел
keys
правой кнопкой мыши и выбрать пункт «Экспортировать» (см. раздел Создание резервной копии реестра (Экспорт)).- Выбрать место для сохранения и задать имя файла. Экспортированный файл будет иметь расширение
.reg
.- Если требуется, перенести экспортированный файл с расширением
.reg
на другой компьютер.
- Открыть экспортированный файл с расширением
.reg
в текстовом редакторе (Notepad++, Блокнот) и изменить в файле идентификатор пользователя (SID) на идентификатор текущего пользователя, для этого:
- В командной строке («Пуск → Выполнить → cmd») ввести команду
WHOAMI /USER
(см. рисунок Рис. 23 – Узнать SID пользователя через командную строку).
Совет
Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».
Важно
Если разрядность(битность) текущей системы отличается от той, на которой находился контейнер закрытого ключа, то необходимо проверить и при необходимости исправить путь в текстовом редакторе.
- Сохранить изменения в файле и открыть его двойным щелчком мыши (см. раздел Восстановление реестра из резервной копии (Импорт)). Разрешить внести изменения в реестр.
После этого выполнить установку открытого ключа через Крпто Про CSP (Инструкция по установке личного сертификата).
Предупреждение
Перед тем, как вносить изменения в реестр, обязательно создавайте его резервную копию. Подробнее в разделе Создание резервной копии реестра (Экспорт).
- В конце рекомендуется выгрузить ранее загруженный куст «Файл → Выгрузить куст».
Совет
Можно запускать реестр и не используя утилиту PsExec.exe
, но тогда придется добавлять загруженным веткам права и разрешения вручную так, как описано в разделе Права доступа (Разрешения). Это не критично, если речь идет, например, о копировании всего одного контейнера закрытого ключа. Если файлов много, то гораздо быстрее и удобнее использовать PsExec.exe
.
Рекомендую всегда держать на готове утилиту PsExec.exe
, ее скачивание и копирование занимает не так много времени.
Извлечение информации из резервной копии реестра¶
Резервные копии реестра обычно создаются автоматически каждые десять дней. Сохраняются они в папке:
C:\Windows\System32\config\RegBack
– для Windows 7 и Server 2008;C:\Windows\repair
– для XP и Server 2003.
Данные папки содержит те же файлы, что и C:\Windows\System32\config\
.
Если, например, из реестра случайно был удален контейнер закрытого ключа, теоретически, есть возможность импортировать куст из резервной копии.
Порядок действия аналогичен, описанному порядку в инструкции Восстановление закрытых ключей с неисправного компьютера. Отличается только файл загружаемого куста C:\Windows\System32\config\RegBack\Software
.
Доступ к считываетлям (Calais)¶
Иногда возникает проблема с доступом к считывателям смарт-карт. Она может быть связана с тем, что у текущего пользователя недостаточно прав на следующие ветки:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\Readers
Подробнее о настройке прав доступа читайте в разделе Права доступа (Разрешения).
Примечание
Может возникнуть ситуация, когда текущий пользователь системы даже не будет являться владельцем данных веток реестра, следовательно, у него не будет прав на них. В таком случае, необходимо сначала добавить текущего пользователя во владельцы этих веток, а затем проставить ему соответствующие права, как описано в разделе Права доступа (Разрешения) данного руководства.
Доверенные узлы¶
Если узел не добавляется в надежные узлы, можно добавить его вручную через реестр, для этого необходимо:
- Перейти в ветку
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains
; - Добавить подраздел с названием домена, например,
kontur.ru
; - В добавленном подразделе создать еще один подраздел с названием субдомена:
extern
; - Добавить параметр DWORD
https
со значением2
Список используемых источников¶
- Сведения о реестре Windows для опытных пользователей
- Википедия: Реестр Windows
- Что такое редактор реестра?
- Интересное о реестре Windows
- Три способа открыть редактор реестра Windows
- Создание резервной копии реестра
- Экспорт всего реестра или его части в текстовый файл
- Экспорт раздела реестра в файл куста
- Импорт всего реестра или его части
- Утилита PsExec.exe
- Как получить доступ к разделу реестра и вернуть все на свои места