Бывает так, что Вам нужно изменить некий параметр в реестре на компьютерах в сети. Естественно, чем больше у Вас компьютеров, тем утомительнее это делать вручную. В данном случае процесс можно автоматизировать созданием bat-файла, который и внесет все необходимые изменения на компьютеры сети. Далее этот файл можно распространить посредством групповых политик, специального ПО вроде Kaspersky Security Center или просто прописать в самом файле имена компьютеров и запустить со своей машины.
В общем виде команда reg add выглядит следующим образом:
reg add имя_раздела [/v имя_записи|/ve] [/t тип_данных] [/s разделитель] [/d значение] [/f]
Разберем её синтаксис подробнее. Для лучшего понимания взглянем на пример записи в реестре:
Данная запись лежит в реестре по адресу HKEY_CURRENT_USER\Software\Avast Software\Avast Browser Cleanup. Это и есть имя раздела. Данную запись мы возьмем просто как пример. Если Вы собрались редактировать реестр через bat-файл, то Вы уж точно знаете, куда добавлять необходимую Вам запись. 🙂
Если запись будет добавляться в реестр другого компьютера, то перед именем раздела необходимо прописать имя компьютера, вот так: \\имя_компьютера\имя_раздела. Таким образом, Вы сразу можете прописать в bat-файле имена компьютеров и запустить его один раз у себя. Естественно, у Вас должны быть соответствующие права в домене.
/v имя записи. На скриншоте таких записей несколько. Например, PluginsCleaned.
/ve задаёт нулевое значение для записи, добавляемой в реестр. Не обязательно.
/t тип данных — записи реестра могут принимать один из следующих типов данных:
REG_SZ
REG_MULTI_SZ
REG_DWORD_BIG_ENDIAN
REG_DWORD
REG_BINARY
REG_DWORD_LITTLE_ENDIAN
REG_LINK
REG_FULL_RESOURCE_DESCRIPTOR
REG_EXPAND_SZ
/s разделитель — задает символы для разделения копий данных. Используется при типе данных REG_MULTI_SZ в случае размещения более одной записи в списке. Если разделитель не задан, то используется разделитель \0, заданный по умолчанию.
/d значение — значение добавляемой записи реестра.
/f — добавляет раздел или запись без запроса подтверждения. Не обязательно.
Получить подробную справку в командной строке можно, введя
reg add /?
Возвращаясь к нашему примеру. Я ввел в командную строку:
reg add "HKEY_CURRENT_USER\Software\Avast Software\Avast Browser Cleanup" /v Primer /t REG_DWORD /d 0
В данном случае кавычки нужны, чтобы командная строка нормально восприняла пробелы в имени раздела. Как видите, я создал параметр Primer с типом REG_DWORD и значением 0.
Вот результат данной команды:
Вот, пожалуй, и всё, что нужно знать о добавлении записей в реестр через командную строку Windows. Помните, что редактирование реестра требует осторожности, но, в целом, он не так страшен, как его описывают. 🙂
Как будет выглядеть команда для добавления значения по умолчанию powershell.exe «-Command» «if((Get-ExecutionPolicy ) -ne ‘AllSigned’) { Set-ExecutionPolicy -Scope Process Bypass }; & ‘%1′» в ветку HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\RunAs\command?
Я бы предположил, что:
reg add HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\RunAs\command /v [имя записи] /t REG_MULTI_SZ /d powershell.exe «-Command» «if((Get-ExecutionPolicy ) -ne ‘AllSigned’) { Set-ExecutionPolicy -Scope Process Bypass }; & ‘%1′»
Но, честно говоря, из Вашего вопроса не понял, что будет значением, и знаете ли Вы, какое имя записи задать (и влияет ли оно вообще на что-то).
reg add «HKEY_CLASSES_ROOT\regfile\shell\edit\command» /ve /t reg_sz /d «Команда» /f
вместо /V пришишь /VE это и есть значение по умолчанию
Здравствуйте! Очень доступно написана статья. Спасибо! Еще бы хотелось увидеть про reg delete
Статья про reg delete.
Вопрос со сложным значением. Как создать такое значение?
/d «F:\E\TG\Telegram.exe» -workdir «F:/E/TG/» — «%1»
По вашей методике вообще ничего не создаётся.