PowerShell può essere utilizzato in Windows Recovery Environment?


10

Ho provato ad accedere a PowerShell dal prompt dei comandi nell'ambiente di ripristino di Windows senza successo. Sono in grado di eseguire VBScripts lì senza problemi e ora mi chiedo se c'è un modo per eseguire anche i miei comandi PowerShell da lì.

È possibile utilizzare PowerShell in WinRE o sono bloccato con il supporto VBScript / JScript nella migliore delle ipotesi?

Si prega di notare che si tratta di WinRE e non di WinPE!

MODIFICARE

EBGreen aveva commentato l' aggiunta di componenti aggiuntivi a WinPE che avrebbero consentito l'uso di PowerShell all'interno di quell'ambiente. Lo stesso approccio potrebbe essere adottato con WinRE?


È possibile avviare PowerShell dalla riga di comando con start powershelldal prompt dei comandi. Funziona in WinRE?
George Duckett,

Ho provato entrambi start powershelle powershelldal prompt dei comandi di WinRE senza successo - dice che sono comandi sconosciuti. Funzionano bene in Windows però. Mi chiedo se questo abbia qualcosa a che fare con la dipendenza di PowerShell da .Net
Riaan,

Ok, suggerimento finale, prova a navigare nell'ese PowerShell ed eseguirlo. Da qui, Path to Powershell.exe (v 2.0) Immagino che sarà qualcosa di simile, C:\Windows\System32\WindowsPowerShell\v1.0ma potresti aver bisogno di cercare prima in Windows.
George Duckett,

Inizialmente avevo provato a eseguire il powershellcomando dalla sua directory senza successo. Ho avuto lo stesso risultato di George Duckett in basso.
Riaan,

Risposte:


7

Puoi farlo, ma avrai bisogno di un'installazione di Windows 8 e Windows 8 ADK con Windows PE (è un download piuttosto grande). Sono abbastanza sicuro che puoi usare questa immagine di Win RE su un'installazione di Windows 7 una volta avviata, ma non ne sono sicuro al 100%.

Esistono alcuni altri modi in cui potresti essere in grado di farlo, inclusa la creazione di un'immagine di Windows PE con gli strumenti dell'ambiente di recupero installati, ma questo è probabilmente il metodo più semplice e renderà PowerShell disponibile ogni volta che la tua macchina entrerà nell'ambiente di recupero vs. dover eseguire l'avvio tramite un supporto rimovibile.

Trova il tuo WinRE.wim

Ho usato tutto per trovare il mio. È successo che si nascondesse C:\Recovery\67c45205-df4a-11e1-8fd9-9103ad6af7ef. Questo può essere vero anche per te. Per dare un'occhiata devi disabilitare Hide Protected System Files. Questa impostazione è in agguato in Explorer sottoView, Options, Change Folder and Search Options, View tab.

Scopri le chicche

Modifica le autorizzazioni

Dovrai pasticciare con le autorizzazioni per vedere anche le autorizzazioni su questa cartella. Fare casino con le autorizzazioni rende sempre un po 'nervoso, ma se si osa andare avanti. Ho semplicemente aggiunto il mio nome utente alle autorizzazioni di sicurezza con il pieno controllo.

Fare clic con il tasto destro su Ripristino, selezionare Proprietà

Proprietà aperte

Apri la scheda Sicurezza

Fai clic sulla scheda Sicurezza

Fai clic su Avanzate

Sai, se hai bisogno di così tanto aiuto, probabilmente non dovresti farlo in realtà ...

Clicca Aggiungi

La confusione con le autorizzazioni di sicurezza può causare gravi problemi

Seleziona Principal

Ma gli screenshot sono divertenti e mi danno tutto il rappresentante

Aggiungi il tuo nome utente (o amministratore se vuoi lavorare con esso come amministratore)

Ora conosci il mio vero nome super segreto, zomg!

Copia WinRE.wim

Ho scelto di copiare il .wim in modo da poter lavorare con esso, ma suppongo che tu possa lavorare anche direttamente con esso. Se si è scelto di lavorare direttamente con esso, modificare il comando in modo appropriato. Ho copiato il mio C:\winre\.

Aggiungi PowerShell all'immagine

Ora che abbiamo un .wim con cui lavorare, possiamo aggiungere i componenti necessari per PowerShell. Sono necessari i componenti appropriati di Windows ADK, incluso Windows PE.

Montare l'immagine

Trova gli strumenti di distribuzione e imaging, fai clic con il pulsante destro del mouse ed esegui come amministratore

Seriamente, se non riuscissi a trovarlo sul tuo turno, adesso

Crea una cartella per montare l'immagine

Almeno non permetterò alle persone di copiare e incollare queste cose

Esegui questo comando per montare l'immagine: Le schermate sono ottime per impedire il copia e incolla!

Aggiungi i pacchetti richiesti

C'è un po 'di avanti e indietro nei seguenti comandi e le cose devono essere fatte in ordine. Dobbiamo installare i seguenti pacchetti:

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

Dovremo anche installare i pacchetti en-us (in sostituzione della lingua preferita) anche per ciascuno dei pacchetti di cui sopra.

Inizia con questo:

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

Quindi esegui questo:

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

Ora premi Updue volte per richiamare il primo comando e sostituisci WMI con NetFX4. Ripetere l'operazione fino a quando non sono stati installati tutti i componenti richiesti insieme alla lingua richiesta. Ricordati di fare questo in ordine.

Termina l'immagine

Ora che tutti i pacchetti sono presenti, è necessario eseguire il commit delle modifiche e completare WinRE.wim. Da lì possiamo creare un file .iso, testarlo in Hyper-V e copiare WinRE.wim nel nostro file di ripristino in modo da poter accedere a PowerShell al successivo arresto anomalo del sistema.

Smonta e commetti

Eseguire il comando seguente per smontare l'immagine e confermare le modifiche: Il comando sopra ha risucchiato per scrivere, quindi lascerò scorrere C + P su quello ...

Diverse cose possono andare storte qui e i messaggi di errore sono terribilmente fuorvianti. Assicurati che non ci siano errori di battitura e non hai nulla di aperto relativo a questi file, nemmeno Explorer.

Sostituire WinRE.wim originale e testare

Fai un backup del tuo WinRE.wim originale e sostituiscilo con quello nuovo. Ora esegui msconfig e apri la scheda Boot. Controlla Safe Boote seleziona Alternate Shell. Riavvia e prova.

TROLOLOL Adesso sei bloccato in uno stivale sicuro!  Ho riavviato tre volte prima di realizzare questa impostazione stick ...

Boom! PowerShell in Windows RE

Start PowerShell e goditelo!

Ah, la bellissima PowerShell blu ... Dolce vittoria.

Per uscire dalla modalità provvisoria dovrai eseguire msconfig dalla riga di comando e deselezionare l'opzione Avvio sicuro.


1
lento ... applauso
William Jackson,

Grazie per la risposta esaustiva, Tanner! Questo è esattamente ciò di cui avevo bisogno.
Riaan,

1
Nel caso in cui l'immagine WinRE si trovi in ​​una di quelle partizioni di ripristino OEM, è possibile utilizzare Visual BCD Editor per dare un'occhiata alla voce di avvio di ripristino e trovare il percorso dell'immagine.
Bob,

1
7 anni dopo, su "PE per win10" questo è ancora abbastanza valido, ma i pacchetti sono stati rinominati, lasciando cadere i numeri. Utilizzare al WinPE-PowerShellposto di WinPE-PowerShell3e WinPE-NetFXal posto di WinPE-NetFX4. In WinPE-HTArealtà non è mai stato necessario e non è nemmeno correlato a PS. Non aggiungerlo se non esegui app HTA. StorageWMI e DismCmdlet sono moduli per PS, non sono necessari se non sono necessari. Sostituiscono diskpart e dism. La guida ufficiale della SM
papo,

2
  1. Windows PowerShell richiede Microsoft .NET Framework. [ fonte ]
  2. L'ambiente di ripristino di Windows si basa su Windows PE. [ fonte ]
  3. Windows PE non supporta .NET Framework. [ fonte ]

Pertanto, PowerShell non può essere utilizzato in WinRE.


Sì, ho pensato che probabilmente era a causa di quelle dipendenze MS.Net. Questa risposta è sicuramente valida per installazioni predefinite non modificate. Grazie William!
Riaan,

0

Bene, ho provato molte cose e sono giunto alla conclusione che non funzionerà. La risposta di William fornisce prove a sostegno di questo.


Ho preso nota di dove si trova PowerShell. Sulla mia macchina è dentro c:\windows\system32\windowspowershell\v1.0\powershell.exee dentro c:\windows\syswow64\windowspowershell\v1.0\powershell.exe.

Il collegamento negli strumenti di amministrazione punta a quello syswow64.

Ho quindi riavviato in modalità di ripristino e sono arrivato al prompt dei comandi.

La prima cosa che ho notato è che non riesco a raggiungere l' cunità.

Quindi, ho eseguito diskpartquindi immesso il comando list volper ottenere un elenco di unità disponibili. Sul mio computer, l'unità C è stata denominata unità D nella console di ripristino.

Quindi sono uscito diskpartdigitando exit, quindi nella console di comando digitato d:, seguito da cd\windows\syswow64\windowspowershell\v1.0.

Nota che se lo fai in più fasi, usando dirper confermare i nomi delle cartelle non mostra tutto (vale a dire la v1.0cartella).

Una volta lì ho incrociato le dita e ho digitato powershell, solo per ricevere il messaggio:

The subsystem needed to support the image type is not present

Ho cercato su Google il messaggio di errore sopra per un po ', ma non sono riuscito a trovare nulla che indichi che PowerShell potrebbe funzionare.


Ho anche provato l'altro powershell.exe in system32 ma non ho ricevuto alcun messaggio (no didn't recognise the commando niente.

inserisci qui la descrizione dell'immagine


Questo non funziona Grazie George.
Riaan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.