Я попытался получить доступ к PowerShell из командной строки в среде восстановления Windows, но безуспешно. Я могу запускать там VBScripts без проблем, и теперь мне интересно, есть ли какой-нибудь способ запустить мои команды PowerShell оттуда.
Можно ли использовать PowerShell в WinRE или я в лучшем случае застрял с поддержкой VBScript / JScript?
Обратите внимание, что речь идет о WinRE, а не о WinPE!
РЕДАКТИРОВАТЬ
EBGreen прокомментировал добавление в WinPE дополнительных компонентов , которые позволят использовать PowerShell в этой среде. Можно ли использовать тот же подход с WinRE?
windows-7
windows-8
powershell
Riaan
источник
источник
start powershell
помощью командной строки. Это работает в WinRE?start powershell
иpowershell
из командной строки WinRE безуспешно - говорит, что это неизвестные команды. Они прекрасно работают в Windows, хотя. Интересно, это как-то связано с зависимостью PowerShell от .NetC:\Windows\System32\WindowsPowerShell\v1.0
но вам, возможно, придется сначала поискать в Windows.powershell
команду из ее каталога, но безуспешно. У меня был тот же результат, что и у Джорджа Дакетта ниже.Ответы:
Вы можете сделать это, но вам понадобится установить Windows 8 и Windows 8 ADK с Windows PE (это довольно большая загрузка). Я вполне уверен, что вы можете использовать этот образ Win RE при установке Windows 7, как только вы его запустите, но я не уверен на 100%.
Есть несколько других способов сделать это, в том числе создать образ Windows PE с установленными инструментами среды восстановления, но это, вероятно, самый простой способ, и в результате PowerShell будет доступен всякий раз, когда ваша машина входит в среду восстановления, по сравнению с приходится загружаться с него со съемного носителя.
Найди свой WinRE.wim
Я использовал Все, чтобы найти свое. Это случилось, чтобы скрыться
C:\Recovery\67c45205-df4a-11e1-8fd9-9103ad6af7ef
. Это может быть верно и для вас. Чтобы посмотреть, вам придется отключитьHide Protected System Files
. Этот параметр скрывается в проводнике подView, Options, Change Folder and Search Options, View tab.
Изменить разрешения
Вам придется возиться с разрешениями, чтобы даже увидеть разрешения для этой папки. Неразбериха с разрешениями всегда заставляет немного нервничать, но, если вы решитесь, продвигайтесь вперед. Я просто добавил свое имя пользователя в разрешения безопасности с полным контролем.
Щелкните правой кнопкой мыши Recovery, выберите свойства
Откройте вкладку «Безопасность»
Нажмите Дополнительно
Нажмите Добавить
Выберите принципала
Добавьте свое имя пользователя (или администратора, если вы хотите работать с ним как администратор)
Копировать WinRE.wim
Я решил скопировать .wim, чтобы я мог работать с ним, но, полагаю, вы могли бы работать и с ним напрямую. Если вы решили работать с ним напрямую, измените команду соответствующим образом. Я скопировал мой в
C:\winre\
.Добавьте PowerShell к изображению
Теперь, когда у нас есть .wim для работы, мы можем добавить необходимые компоненты для PowerShell. Вам понадобятся соответствующие компоненты Windows ADK, включая Windows PE.
Смонтировать изображение
Найдите Deployment and Imaging Tools, щелкните правой кнопкой мыши и запустите от имени администратора.
Создайте папку для монтирования образа
Запустите эту команду, чтобы смонтировать образ:
Добавьте необходимые пакеты
Там немного вперед и назад участвуют в следующих командах, и все должно быть сделано по порядку. Нам нужно установить следующие пакеты:
Мы также должны будем установить пакеты en-us (заменяющие предпочитаемый вами язык) для каждого из вышеуказанных пакетов.
Начните с этого:
Затем запустите это:
Теперь Upдважды нажмите для вызова первой команды и замените WMI на NetFX4. Повторяйте это, пока не установите все необходимые компоненты вместе с нужным языком. Не забудьте сделать это по порядку.
Готово изображение
Теперь, когда все пакеты готовы, нам нужно зафиксировать наши изменения и завершить наш WinRE.wim. Оттуда мы можем создать .iso, протестировать его в Hyper-V и скопировать WinRE.wim в наш файл восстановления, чтобы у нас был доступ к PowerShell при следующем сбое системы.
Размонтировать и зафиксировать
Запустите следующую команду, чтобы отключить образ и зафиксировать изменения:
Несколько вещей могут пойти не так, как надо, и сообщения об ошибках ужасно вводят в заблуждение. Убедитесь, что нет опечаток, и у вас ничего не открыто, связанных с этими файлами, даже Explorer.
Замените оригинальный WinRE.wim и протестируйте
Сделайте резервную копию вашего оригинального WinRE.wim и замените его новым. Теперь запустите msconfig и откройте вкладку Boot. Проверьте
Safe Boot
и выберитеAlternate Shell
. Перезагрузитесь и попробуйте.Boom! PowerShell в Windows RE
Start PowerShell
и наслаждаться!Чтобы выйти из безопасного режима, вам нужно запустить msconfig из командной строки и снять флажок Safe Boot.
источник
WinPE-PowerShell
вместоWinPE-PowerShell3
иWinPE-NetFX
вместоWinPE-NetFX4
. НаWinPE-HTA
самом деле никогда не было необходимости, и это даже не связано с PS. Не добавляйте его, если вы не запускаете приложения HTA. StorageWMI и DismCmdlets - это модули для PS, они вам не нужны, если они вам не нужны. Они заменяют diskpart и dism.Следовательно, PowerShell нельзя использовать в WinRE.
источник
Да, я много чего перепробовал и пришел к выводу, что это не сработает. Ответ Уильяма предоставляет доказательства, подтверждающие это.
Я отметил, где PowerShell. На моей машине это в
c:\windows\system32\windowspowershell\v1.0\powershell.exe
и вc:\windows\syswow64\windowspowershell\v1.0\powershell.exe
.Ярлык в административных инструментах указывает на syswow64.
Затем я перезапустился в режиме восстановления и попал в командную строку.
Первое, что я заметил, это то, что я не могу добраться до дороги
c
.Итак, я побежал,
diskpart
затем ввел команду,list vol
чтобы получить список доступных дисков. На моей машине мой диск C назывался моим диском D в консоли восстановления.Поэтому я вышел
diskpart
, набравexit
, затем в командной консоли набралd:
, а затемcd\windows\syswow64\windowspowershell\v1.0
.Обратите внимание, что если вы делаете это поэтапно, то при использовании
dir
для подтверждения имен папок отображается не все (а именноv1.0
папка).Оказавшись там, я скрестил пальцы и набрал
powershell
, только чтобы получить сообщение:Я немного погуглил сообщение об ошибке выше, но не смог найти ничего, что указывало бы на то, что powershell может работать.
Я также попробовал другой powershell.exe в system32, но не получил никакого сообщения (нет
didn't recognise the command
или что-то еще.источник