@Rampage1410

Как изменить значение ключа реестра с командной строки?

Не получаеться изменить значение реестра (нужно именно CMD или Powershell).
CMD не принимает значение ключа powershell.exe "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'" , выдает ошибку синтаксиса: ERROR: Invalid syntax.
А Powershell выдает ошибку агрумента.

Пример команды в CMD:
REG ADD HKCR\Microsoft.PowerShellScript.1\Shell\runas\command /v (Default) /t REG_SZ /d powershell.exe "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'"

Пример Powershell:
New-ItemProperty -Path HKCR:\Microsoft.PowerShellScript.1\Shell\runas -Name Default -PropertyType String -Value "powershell.exe "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'""

Ошибка:
New-ItemProperty : A positional parameter cannot be found that accepts argument '-Command if'.
At line:1 char:1
+ New-ItemProperty -Path HKCR:\Microsoft.PowerShellScript.1\Shell\runas ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-ItemProperty], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewItemPropertyCommand

& : The term '%1' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:233
+ ... 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'""
+ ~~~~
+ CategoryInfo : ObjectNotFound: (%1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Что я делаю не так?
  • Вопрос задан
  • 425 просмотров
Пригласить эксперта
Ответы на вопрос 3
@MaxKozlov Куратор тега PowerShell
По вопросу - с кавычками разберитесь.
По жизни - не делайте так!
Цель у вас какая-то мутная.
Вместо того чтобы установить политики один раз как вам надо, вы городите какую-то дичь
Ответ написан
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Погуглить "как изменить ключ реестра из cmd" или "как изменить ключ реестра из powershell"
У вас не примеры - а какой-то бред.
В примере для cmd почему то вызывается powershell, которому передается командная строка как параметр, в примере с powershell - в общем тоже самое - но еще и командлет для создания ключей - New-ItemProperty, вместо командлета для изменения ключей реестра Set-ItemProperty.
Ответ написан
@NortheR73
системный инженер
Rampage1410,
человек который далек от комп. грамоты без проблем запускал скрипт
а зачем такой человек вообще должен запускать скрипт, который вносит правки в реестр? Цель какая?
Запихните скрипт в GPO, автозапуск, планировщик...можно еще самому запускать удаленно через Invoke-Command или PSSession
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы