Как удалить ключ в реестре из командной строки
Описание
В некоторых ситуациях, бывает необходимо удалить какой-либо элемент из реестра, но сделать это надо не с помощью всем известной утилиты regedit, а через bat скрипт или с помощью командой строки. В данной статье пойдет речь как раз об этом.
Примеры
Для работы с реестром из командной строки предназначена утилита reg.exe, которая входит в состав большинства версий Windows.
Для получения подробных сведений о работе с утилитой reg.exe выполните в командной строке
Чтобы удалить параметр в реестре выполните следующую команду:
Эта команда удалит параметр Path, который находится в разделе HKCU\Software\WindowsFAQ\Test. Обратите внимание на то, что при выполнении этой команды выдается запрос на подтверждение удаления. При работе команды в пакетном файле его исполнение может быть прервано для подтверждения пользователем удаления параметра. Чтобы подтверждение не выводилось используйте /f. Этот ключ отключает вывод подтверждения.
При помощи reg.exe можно удалить сразу целый раздел, вместе со всеми параметрами и подразделами, находящимися в нем. Для этого используйте следующую команду:
Результатом работы этой команды станет удаление раздела WindowsFAQ вместе со всеми подразделами и параметрами. Обратите внимание на то, что, как и в первом случае, выполнение команды останавливается на запросе подтверждения удаления раздела. Чтобы отключить этот запрос добавьте к команде /f, т.е. команда будет выглядеть следующим образом:
Будьте внимательны с удалением параметров и разделов, по неосторожности можно удалить что-то нужное, особенно, когда отключено подтверждение удаления.
Reg Delete или Удаление записей в реестре через bat-файл
В статье, посвященной команде Reg Add, мы разобрали как можно добавить запись в реестр Windows через командную строку или посредством bat-файла. Существует обратная команда, позволяющая удалять ключи из реестра Windows, и называемая Reg Delete. Разберем синтаксис этой команды.
В общем виде команда Reg Delete выглядит так:
reg delete имя_раздела [/v имя_записи|/ve|/va] [/f]
Разберем синтаксис подробнее:
имя_раздела — указывается раздел, в котором находятся нужные ключи реестра. Фактически, путь к этим ключам. Если в пути встречаются пробелы между символами, его необходимо заключить в кавычки.
Например, на скриншоте ниже мы видим, что переменные реестра, относящиеся к программе 7-Zip лежат в ветке HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip. Корневой раздел надо указывать в сокращенном виде: HKLM, HKCU, HKCR, HKU или HKCC.
/v имя_записи — имя удаляемого ключа реестра. Если не указать, будут удалены все подразделы и ключи.
/ve — удалять безымянные параметры.
/va — запрашивать все параметры данного раздела.
/f — удалять принудительно без дополнительного предупреждения.
Если операцию необходимо провести на удаленном компьютере, то перед именем раздела необходимо добавить имя компьютера вот в таком виде \\имя_компьютера\имя_раздела. Дальнейший синтаксис команды остается без изменений.
Пример использования команды Reg Delete:
Данная команда удалит параметр ABC в разделе HKEY_LOCAL_MACHINE\SOFTWARE\TEST на компьютере Test-PC. Если удаление происходит на локальном компьютере, то достаточно
Если нам нужно удалить весь раздел TEST целиком, то можно использовать команду
Как видим, команда Reg Delete не сложна в использовании. Тем не менее, нужно соблюдать осторожность, поскольку бездумное удаление ключей и разделов реестра способно оказать негативное влияние на операционную систему и софт в ней.
Удаление ключей реестра windows
Сообщения: 490
Благодарности: 38
К reg-файлам предъявляются определенные требования по структуре. Начнем с того, что в первой строке файла обязательно должно быть введено (для Windows 9x) REGEDIT4 |
или (для Windows 2000/XP)
Windows Registry Editor Version 5.00
Обратите внимание на то, что буквы должны быть большие. Кроме этого в первой строке ничего быть не должно. После этого текста ОБЯЗАТЕЛЬНО должна быть пустая строка. Затем, указывается раздел реестра, в котором надо прописать или изменить какие-то параметры. Название раздела должно быть заключено в квадратные скобки [. ]. Ниже прописываются параметры, которые надо добавить, по одному параметру в строке. Если вам надо провести изменения в нескольких разделах, то вы должны оставлять одну пустую строку между последним параметром предыдущего раздела и названием следующего раздела. Может немного запутанно, но вот как это должно выглядеть:
[Razdel1]
«param1″=»znachenie1»
«param2″=»znachenei2»
«param3″=»znachenie3»
Последняя строка в файле должна быть ПУСТОЙ. После того, как вы создали такой файл, просто запустите его как обычную программу, вам будет выдан запрос о необходимости провести изменения в реестре, и после положительного ответа информация из файла будет импортирована. О результатах импортирования Windows сообщит в появившемся после этого окне.
Примечание: Windows 2000/XP обладает обратной совместимостью и может обрабатывать файлы, созданные в Windows 9x. Но если вы экспортировали файл в Windows XP и перенесли его на Windows 9x, то вручную измените первую строчку на REGEDIT4
Теперь пару слов о параметрах, которые можно добавлять. Как вы, наверное, обратили внимание, в приведенном выше примере добавляются параметры с помощью строк типа «param1″=»znachenie1». Т.е. таким образом добавляется СТРОКОВЫЙ параметр с именем «param1» и значением «znachenie1». Но ведь существуют еще и параметры двоичные и DWORD. Формат записи для их добавления несколько другой. Для параметров типа DWORD используется строка
Здесь «param» — имя параметра, dword — указывает на тип этого параметра (буквы должны быть обязательно маленькие!) и после двоеточия следует значение из восьми цифр в шестнадцатеричном (!) формате. Однако большинство параметров DWORD имеют значение либо 0, либо 1, значит, вы должны написать соответственно либо 00000000, либо 00000001 вместо значков ХХХХХХХХ. Пробелы в строке не допускаются.
Для добавления двоичного параметра формат записи несколько иной:
Теперь расшифрую эту строку. Ну, с названием параметра все ясно, после знака «=» идет hex, т.е. указывается, что это будет двоичный параметр, затем идут шестнадцатеричные числа, отделенные запятой. Например, если вам надо добавить двоичный параметр равный «be 00 00 00», то вы пишете строку
В реестре существуют параметры «По умолчанию» («Default»). Чтобы присвоить им какое-то значение через reg-файл, надо добавить такую строку:
Здесь значок @ показывает, что у нас присваивается значение параметра «По умолчанию». Обратите внимание на то, что он не заключается в кавычки.
Теперь я приведу пример простенького reg-файла, который прописывает в реестр сайт, устанавливающий домашнюю страничку в Internet Explorer’e:
[HKEY_CURRENT_USER\Software\ Microsoft\Internet Explorer\Main]
«Start Page» = «http://winchanger.narod.ru/»
Удаление параметров
С помощью reg-файлов можно не только устанавливать новые параметры, но и удалять их. Например, для удаления раздела из реестра надо перед его именем в квадратных скобках поставить символ «-«. Вот как это выглядит:
Благодаря этой записи, подраздел «QuickStart» из раздела «QuickSoft» будет удален со всем содержимым.
Для удаления отдельных параметров используйте следующий синтаксис:
Параметры командной строки
Редактор реестра можно запускать с некоторыми ключами
Удаляем ключ активации Windows из реестра
При установке Windows, система записывает ключ активации системы в реестр в зашифрованном виде, но алгоритм шифрования не стойкий и позволяет без особых трудностей дешифровать его. В случае необходимости пользователь может с помощью простого vbs или PowerShell скрипта получить ключ текущий установки Windows (мы уже рассматривали эти скрипты в статье Как узнать ключ установки Windows). Это может быть полезно, если по какой–то причине утеряна наклейка, договор или коробка с ключом активации. Однако, хранение ключа в реестре также несет определенный риск, т.к. в случае компрометации вашей системы, злоумышленник может так же легко получить ваш ключ и использовать его в своих целях.
Так, например, этот ключ может быть использован для активации других систем, или в составе неких сборок Windows. Потенциально это может привести к тому, что ваш ключ может попасть в черный список и вы не сможете использовать его для повторной активации своей системы, а также перестанете получать обновления системы через Windows Update.
Защитить свой ключ от кражи и использования сторонними лицами можно путем его удаления из реестра. Рассмотрим процедуру удаления сохраненного ключа продукта для Windows 10 (инструкция применима также к Windows 8.1, Windows 7 и Vista).
Удаление ключа из реестра – процедура безопасная и не повлияет на статус активации системы, т.е. ключ используется только один раз при активации. В дальнейшем система его не использует и не проверяет. Перед удалением ключа из реестра желательно получить его с помощью скрипта и сохранить (распечатать), чтобы в будущем иметь возможность активировать систему при переустановке.
- Откроем командную строку с правами администратора
- Убедимся, что система активирована корректно: slmgr /xpr
- Удалим ключ командой: slmgr /cpky
- Сообщение Product key from registry cleared successfully – говорит о том, что ключ удален.
После выполнения указанной команды активация системы сохраняется.
Совет. Даже в случае удаления ключа из реестра, можно получить его последние 5 символов ключа (Partial Product Key) с помощью команды:
slmgr /dlv
Как добавить, изменить или удалить подки и значения реестра с помощью файла .reg
Эта статья предназначена для продвинутых пользователей, администраторов и ИТ-специалистов.
Импорт регистрационных записей (.reg) файлов является особенностью Regedit.exe и не поддерживается Regedt32.exe. Вы можете использовать Regedit.exe для внесения некоторых изменений в реестр на Windows NT 4.0 или Windows 2000 основе компьютера, но некоторые изменения требуют Regedt32.exe. Например, нельзя добавлять или изменять REG_EXPAND_SZ или REG_MULTI_SZ значения с помощью Regedit.exe на windows NT 4.0 или windows 2000-компьютер. Regedt32.exe является основным редактором реестра для Windows NT 4.0 и Windows 2000. Если необходимо использовать Regedt32.exe, вы не можете использовать файлы регистрационных записей (.reg) для изменения реестра. Для получения дополнительной информации о различиях между Regedit.exe и Regedt32.exe, нажмите следующий номер статьи, чтобы просмотреть статью в базе знаний Microsoft:
141377 Различия между Regedit.exe и Regedt32.exe
Содержание
Аннотация
Внимание! В этом разделе, описании способа или задачи содержатся сведения об изменении реестра. Но неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому такие действия следует выполнять очень внимательно. Чтобы обеспечить дополнительную защиту, создайте резервную копию реестра перед его изменением. Это позволит восстановить реестр при возникновении неполадок. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
322756 Как создать резервную копию и восстановить реестр в WindowsЭта пошаговая статья описывает, как добавлять, изменять или удалять подки и значения реестра с помощью файла Регистрационные записи (.reg). Regedit.exe использует файлы .reg для импорта и экспорта подключ и значений реестра. Эти файлы .reg можно использовать для удаленного распространения изменений реестра на нескольких компьютерах на базе Windows. При запуске файла .reg содержимое файла сливается в локальный реестр. Поэтому необходимо распространять файлы .reg с осторожностью. вернуться к вершине
Файл .reg имеет следующий синтаксис: Линия реестраEditorВерсия бланка RegistryPath1 DataItemName1«» DataType1: DataValue1» DataItemName2«я» DataType2: DataValue2» Пустая линия RegistryPath2 DataItemName3«» DataType3: DataValue3» Где: RegistryEditorVersion является либо «Windows реестра редактор версия 5.00» для Windows 2000, Windows XP, и Windows Server 2003, или «REGEDIT4» для Windows 98 и Windows NT 4.0. Заголовок «REGEDIT4» также работает на компьютерах на базе Windows 2000, Windows XP и Windows Server 2003. Пустая линия — это пустая линия. Это определяет начало нового пути реестра. Каждый ключ или подключья — это новый путь реестра. Если у вас есть несколько ключей в файле .reg, пустые строки могут помочь вам изучить и устранить неполадки содержимого. RegistryPathx — это путь подключаемого ключа, который содержит первое значение, которое вы импортируете. Закройте путь в квадратные скобки и разделите каждый уровень иерархии на задний план. Например: