O PowerShell pode ser usado no ambiente de recuperação do Windows?

10

Eu tentei acessar o PowerShell a partir do Prompt de Comando no Ambiente de Recuperação do Windows sem sucesso. Posso executar o VBScripts sem problemas, e agora estou pensando se há alguma maneira de executar meus comandos do PowerShell também.

O PowerShell pode ser usado no WinRE ou estou preso ao suporte do VBScript / JScript na melhor das hipóteses?

Por favor note que isto é sobre o WinRE e não sobre o WinPE!

EDITAR

A EBGreen comentou sobre a adição de componentes adicionais ao WinPE que permitiria o uso de PowerShell nesse ambiente. A mesma abordagem poderia ser tomada com o WinRE?

    
por Riaan 24.10.2012 / 14:40

3 respostas

6

Você pode fazer isso, mas precisará de uma instalação do Windows 8 e do Windows 8 ADK com Windows PE (é um download bastante grande). Tenho certeza de que você pode usar essa imagem do Win RE em uma instalação do Windows 7 depois de iniciada, mas não tenho 100% de certeza.

Há algumas outras maneiras de conseguir isso, incluindo a criação de uma imagem do Windows PE com as ferramentas do ambiente de recuperação instaladas, mas esse provavelmente é o método mais fácil e fará com que o PowerShell esteja disponível sempre que sua máquina entrar na recuperação ambiente versus ter que inicializar usando mídia removível.

Encontre o seu WinRE.wim

Eu usei Tudo para encontrar o meu. Por acaso estava escondido em C:\Recoveryc45205-df4a-11e1-8fd9-9103ad6af7ef . Isso pode ser verdade para você também. Para dar uma olhada, você terá que desabilitar Hide Protected System Files . Esta configuração está oculta no Explorer em View, Options, Change Folder and Search Options, View tab.

Alteraraspermissões

Vocêteráquemexercomaspermissõesparaveraspermissõesnestapasta.Mexercompermissõessempredeixaumpouconervoso,massigaemfrentesevocêousar.Eusimplesmenteadicioneimeunomedeusuárioàspermissõesdesegurançacomcontroletotal.

CliquecomobotãodireitoemRecuperação,selecionepropriedades

Abra a guia Segurança

CliqueemAvançado

Clique em Adicionar

SelecionePrincipal

Adicione seu nome de usuário (ou administrador, se você quiser trabalhar com ele como administrador)

CopiarWinRE.wim

Eudecidicopiaro.wimparapodertrabalharcomele,massuponhoquevocêpossatrabalhardiretamentecomeletambém.Sevocêescolheutrabalhardiretamentecomele,modifiqueocomandoapropriadamente.EucopieiomeuparaC:\winre\.

AdicioneoPowerShellàimagem

Agoraquetemosum.wimparatrabalhar,podemosadicionaroscomponentesnecessáriosparaoPowerShell.VocêprecisarádoscomponentesapropriadosdoWindowsADK,incluindooWindowsPE.

Monteaimagem

Encontreferramentasdeimplantaçãoecriaçãodeimagens,cliquecomobotãodireitoeexecutecomoadministrador

Crie uma pasta para montar a imagem

Executeestecomandoparamontaraimagem:

Adicione os pacotes necessários

Há um pouco de ida e volta envolvido nos seguintes comandos, e as coisas têm para serem feitas em ordem. Precisamos instalar os seguintes pacotes:

  • WinPE-WMI
  • WinPE-NetFX4
  • Scripts WinPE
  • WinPE-PowerShell3
  • WinPE-DismCmdlets
  • WinPE-StorageWMI
  • WinPE-HTA

Também teremos que instalar pacotes en-us (substitutos para o seu idioma preferido) para cada um dos pacotes acima.

Comece com isto:

dism /image:C:\winre\mount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab

Em seguida, execute isto:

dism /image:C:\winre\mount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WMI_en-us.cab

Agora pressione Up duas vezes para chamar o primeiro comando e substitua o WMI pelo NetFX4. Repita isso até instalar todos os componentes necessários junto com o idioma necessário. Lembre-se de fazer isso em ordem.

Conclua a imagem

Agora que todos os pacotes estão no lugar, precisamos confirmar nossas alterações e finalizar nosso WinRE.wim. A partir daí, podemos criar um .iso, testá-lo no Hyper-V e copiar o WinRE.wim para o nosso arquivo de recuperação, para que possamos ter acesso ao PowerShell na próxima vez que o sistema travar.

Desmontar e confirmar

Execute o seguinte comando para desmontar a imagem e confirmar as alterações:

Váriascoisaspodemdarerradoaqui,easmensagensdeerrosãoterrivelmenteenganosas.Certifique-sedequenãoháerrosdedigitaçãoequevocênadaestejarelacionadoaessesarquivos,nemmesmoaoExplorer.

SubstituaoWinRE.wimoriginaleteste

FaçaumbackupdoWinRE.wimoriginalesubstitua-opelonovo.AgoraexecutemsconfigeabraaabaBoot.VerifiqueSafeBooteselecioneAlternateShell.Reinicieeexperimente.

Boom! PowerShell no Windows RE

Start PowerShell e divirta-se!

Para sair do modo de segurança, você terá que executar o msconfig a partir da linha de comando e desmarcar o Safe Boot.

    
por 28.10.2012 / 20:07
2
  1. O Windows PowerShell requer o Microsoft .NET Framework. [ fonte ]
  2. O Ambiente de Recuperação do Windows é baseado no Windows PE. [ fonte ]
  3. O Windows PE não oferece suporte ao .NET Framework. [ fonte ]

Portanto, o PowerShell não pode ser usado no WinRE.

    
por 25.10.2012 / 21:56
0

Certo, eu tentei muitas coisas e cheguei à conclusão de que não vai funcionar. A resposta de William fornece evidências para confirmar isso.

Eu anotei onde o powershell está. Na minha máquina está em c:\windows\system32\windowspowershell\v1.0\powershell.exe e em c:\windows\syswow64\windowspowershell\v1.0\powershell.exe .

O atalho em ferramentas administrativas aponta para o syswow64.

Eu, então, reiniciei no modo de recuperação e cheguei ao prompt de comando.

A primeira coisa que notei é que não consigo acessar a unidade c .

Então, eu executei o diskpart e, em seguida, inseri o comando list vol para obter uma lista de unidades disponíveis. Na minha máquina, minha unidade C foi chamada de minha unidade D no console de recuperação.

Então, saí de diskpart digitando exit e, no console de comando, digite d: , seguido de cd\windows\syswow64\windowspowershell\v1.0 .

Observe que, se você fizer isso em etapas, usando dir para confirmar nomes de pastas, isso não mostrará tudo (ou seja, a pasta v1.0 ).

Quando cheguei, cruzei os dedos e digitei powershell , apenas para receber a mensagem:

The subsystem needed to support the image type is not present

Eu pesquisei a mensagem de erro acima um pouco, mas não consegui encontrar nada que indicasse que o powershell poderia funcionar.

Eu também tentei o outro powershell.exe no system32 mas não recebi nenhuma mensagem (não didn't recognise the command ou qualquer coisa.

    
por 25.10.2012 / 21:46