Команда PowerShell из командной строки администратора

Вопрос или проблема

Я намерен выполнить следующую команду PowerShell из командной оболочки администратора:

powershell -command ni "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\runWinRAR" | New-ItemProperty -Name "StubPath" -Value ('REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v runWinRAR /t REG_SZ /d "{0}\WinRAR\WinRAR.exe"' -f $env:ProgramFiles)

Это вызывает у меня ошибку:

C:\Users\RPHOME>powershell -command ni “HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\runWinRAR” | New-ItemProperty -Name “StubPath” -Value (‘REG ADD “HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce” /v runWinRAR /t REG_SZ /d “{0}\WinRAR\WinRAR.exe”‘ -f $env:ProgramFiles)
‘New-ItemProperty’ не распознается как встроенная или внешняя команда,
выполняемая программа или пакетный файл.

Ответ или решение

Чтобы выполнить вашу задачу корректно из командной строки администратора, нужно учитывать, что команда New-ItemProperty является встроенной командой PowerShell, и её нельзя комбинировать с синтаксисом CMD напрямую. Вам необходимо полностью переписать команду, используя правильный синтаксис PowerShell.

Вот правильный способ выполнения вашей команды PowerShell из командной строки:

  1. Запустите командную строку от имени администратора.
  2. Введите следующую команду:
powershell -command "New-Item 'HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\runWinRAR' -Force; New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\runWinRAR' -Name 'StubPath' -Value ('REG ADD \"HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\" /v runWinRAR /t REG_SZ /d \"{0}\WinRAR\WinRAR.exe\"' -f $env:ProgramFiles) -PropertyType String"

Объяснение изменений:

  1. Команда New-Item: Является правильным вызовом командлета для создания нового элемента в реестре. Мы используем -Force для перезаписи, если такой элемент уже существует.

  2. Правильная передача строки: Командлет New-ItemProperty требует указания пути как параметра -Path, что исправлено в данной команде.

  3. Экранирование кавычек: Для правильной работы с кавычками внутри строки, мы используем экранирование при помощи знака \.

Убедитесь, что у вас есть все необходимые права на изменение реестра перед выполнением этой команды. После выполнения, новая запись должна появиться в реестре, что позволит запускать WinRAR при входе в систему.

Если вы продолжаете сталкиваться с проблемами, убедитесь, что вы используете версию PowerShell, которая поддерживает команды, а также что у вас есть права администратора.

Оцените материал
Добавить комментарий

Капча загружается...