J'ai essayé d'accéder à PowerShell à partir de l'invite de commandes dans l'environnement de récupération Windows sans succès. Je peux y exécuter des VBScripts sans problème et je me demande maintenant s'il existe un moyen d'exécuter mes commandes PowerShell à partir de là également.
PowerShell peut-il être utilisé dans WinRE, ou suis-je coincé au mieux avec le support VBScript / JScript?
Veuillez noter qu'il s'agit de WinRE et non de WinPE!
ÉDITER
EBGreen avait commenté l' ajout de composants supplémentaires à WinPE qui permettraient l'utilisation de PowerShell dans cet environnement. La même approche pourrait-elle être adoptée avec WinRE?
start powershell
partir de l'invite de commande. Est-ce que cela fonctionne dans WinRE?start powershell
et àpowershell
partir de l'invite de commandes WinRE sans succès - dit que ce sont des commandes inconnues. Ils fonctionnent bien dans Windows cependant. Je me demande si cela a quelque chose à voir avec la dépendance de PowerShell sur .NetC:\Windows\System32\WindowsPowerShell\v1.0
mais vous devrez peut-être d'abord rechercher dans Windows.powershell
commande à partir de son répertoire sans succès. J'ai eu le même résultat que George Duckett ci-dessous.Réponses:
Vous pouvez le faire, mais vous aurez besoin d'une installation de Windows 8 et de Windows 8 ADK avec Windows PE (c'est un téléchargement assez important). Je suis assez certain que vous pouvez utiliser cette image Win RE sur une installation de Windows 7 une fois que vous l'avez lancée, mais je ne suis pas sûr à 100%.
Il existe plusieurs autres moyens pour y parvenir, notamment la création d'une image Windows PE avec les outils d'environnement de récupération installés, mais c'est probablement la méthode la plus simple et entraînera la disponibilité de PowerShell chaque fois que votre machine entre dans l'environnement de récupération. avoir à démarrer à l'aide d'un support amovible.
Trouvez votre WinRE.wim
J'ai utilisé Tout pour trouver le mien. C'était caché
C:\Recovery\67c45205-df4a-11e1-8fd9-9103ad6af7ef
. Cela peut aussi être vrai pour vous. Pour y jeter un œil, vous devrez désactiverHide Protected System Files
. Ce paramètre se cache dans l'Explorateur sousView, Options, Change Folder and Search Options, View tab.
Modifier les autorisations
Vous devrez jouer avec les autorisations pour voir même les autorisations sur ce dossier. Jouer avec des autorisations rend toujours un peu nerveux, mais allez-y si vous osez. J'ai simplement ajouté mon nom d'utilisateur aux autorisations de sécurité avec un contrôle total.
Cliquez avec le bouton droit sur Récupération, sélectionnez les propriétés
Ouvrez l'onglet Sécurité
Cliquez sur Avancé
Cliquez sur Ajouter
Sélectionnez le principal
Ajoutez votre nom d'utilisateur (ou administrateur si vous souhaitez travailler avec lui en tant qu'administrateur)
Copier WinRE.wim
J'ai choisi de copier le fichier .wim afin de pouvoir travailler avec, mais je suppose que vous pouvez également travailler directement avec lui. Si vous avez choisi de travailler directement avec elle, modifiez la commande de manière appropriée. J'ai copié le mien
C:\winre\
.Ajouter PowerShell à l'image
Maintenant que nous avons un .wim avec lequel travailler, nous pouvons ajouter les composants nécessaires pour PowerShell. Vous aurez besoin des composants appropriés de Windows ADK, y compris Windows PE.
Montez l'image
Recherchez les outils de déploiement et d'imagerie, cliquez avec le bouton droit et exécutez en tant qu'administrateur
Créez un dossier pour monter l'image
Exécutez cette commande pour monter l'image:
Ajoutez les packages requis
Il y a un peu de va-et-vient impliqués dans les commandes suivantes, et les choses doivent être faites dans l'ordre. Nous devons installer les packages suivants:
Nous devrons également installer des packages en-us (substitut de votre langue préférée) pour chacun des packages ci-dessus.
Commencez par ceci:
Exécutez ensuite ceci:
Appuyez maintenant Updeux fois pour rappeler la première commande et remplacez WMI par NetFX4. Répétez cette opération jusqu'à ce que vous ayez installé tous les composants requis ainsi que la langue requise. N'oubliez pas de le faire dans l'ordre.
Terminer l'image
Maintenant que tous les packages sont en place, nous devons valider nos modifications et terminer notre WinRE.wim. De là, nous pouvons créer un .iso, le tester dans Hyper-V et copier le WinRE.wim dans notre fichier de récupération afin que nous ayons accès à PowerShell la prochaine fois que le système se bloque.
Démonter et valider
Exécutez la commande suivante pour démonter l'image et valider les modifications:
Plusieurs choses peuvent mal se passer ici, et les messages d'erreur sont terriblement trompeurs. Assurez-vous qu'il n'y a pas de fautes de frappe et que vous n'avez rien ouvert lié à ces fichiers, pas même Explorer.
Remplacez WinRE.wim d'origine et testez
Faites une sauvegarde de votre WinRE.wim d'origine et remplacez-le par le nouveau. Exécutez maintenant msconfig et ouvrez l'onglet Boot. Vérifiez
Safe Boot
et sélectionnezAlternate Shell
. Redémarrez et essayez.Boom! PowerShell dans Windows RE
Start PowerShell
et apprécie!Pour sortir du mode sans échec, vous devrez exécuter msconfig à partir de la ligne de commande et décochez Safe Boot.
la source
WinPE-PowerShell
au lieu deWinPE-PowerShell3
etWinPE-NetFX
à la place deWinPE-NetFX4
. CeWinPE-HTA
n'était en fait jamais nécessaire et ce n'est même pas lié au PS. Ne l'ajoutez pas si vous n'exécutez pas les applications HTA. StorageWMI et DismCmdlets sont des modules pour PS, vous n'en avez pas besoin si vous n'en avez pas besoin. Ils remplacent diskpart et dism. Le guide officiel de la SEPPar conséquent, PowerShell ne peut pas être utilisé dans WinRE.
la source
Bon, j'ai essayé beaucoup de choses et je suis arrivé à la conclusion que ça ne marcherait pas. La réponse de William fournit des preuves à l'appui de cela.
J'ai noté où se trouve PowerShell. Sur ma machine, c'est dedans
c:\windows\system32\windowspowershell\v1.0\powershell.exe
et dedansc:\windows\syswow64\windowspowershell\v1.0\powershell.exe
.Le raccourci dans les outils d'administration pointe vers celui de syswow64.
J'ai ensuite redémarré en mode de récupération et suis arrivé à l'invite de commande.
La première chose que j'ai remarquée est que je ne peux pas accéder au
c
lecteur.J'ai donc couru
diskpart
puis entré la commandelist vol
pour obtenir une liste des disques disponibles. Sur ma machine, mon lecteur C était appelé mon lecteur D dans la console de récupération.J'ai donc quitté
diskpart
en tapantexit
, puis dans la console de commande tapéd:
, suivi decd\windows\syswow64\windowspowershell\v1.0
.Notez que si vous le faites par étapes, en utilisant
dir
pour confirmer les noms de dossier, il ne montre pas tout (à savoir lev1.0
dossier).Une fois là-bas, j'ai croisé les doigts et tapé
powershell
, seulement pour recevoir le message:J'ai googlé un peu le message d'erreur ci-dessus, mais je n'ai rien trouvé qui pourrait indiquer que PowerShell pourrait fonctionner.
J'ai également essayé l'autre powershell.exe dans system32 mais n'ai reçu aucun message du tout (non
didn't recognise the command
ou rien.la source