He intentado acceder a PowerShell desde el símbolo del sistema en el entorno de recuperación de Windows sin éxito. Puedo ejecutar VBScripts allí sin problemas, y ahora me pregunto si también hay alguna forma de ejecutar mis comandos de PowerShell desde allí.
¿Se puede usar PowerShell dentro de WinRE, o estoy atascado con el soporte de VBScript / JScript en el mejor de los casos?
¡Tenga en cuenta que se trata de WinRE y no de WinPE!
EDITAR
EBGreen había comentado acerca de agregar componentes adicionales a WinPE que permitirían el uso de PowerShell dentro de ese entorno. ¿Se podría tomar el mismo enfoque con WinRE?
windows-7
windows-8
powershell
Riaan
fuente
fuente
start powershell
desde el símbolo del sistema. ¿Funciona esto en WinRE?start powershell
ypowershell
desde el símbolo del sistema WinRE sin éxito, dice que son comandos desconocidos. Sin embargo, funcionan bien en Windows. Me pregunto si esto tiene algo que ver con la dependencia de PowerShell en .NetC:\Windows\System32\WindowsPowerShell\v1.0
pero es posible que primero deba buscar en Windows.powershell
comando desde su directorio sin éxito. Tuve el mismo resultado que George Duckett a continuación.Respuestas:
Puede hacer esto, pero necesitará una instalación de Windows 8 y el ADK de Windows 8 con Windows PE (es una descarga bastante grande). Estoy bastante seguro de que puede usar esta imagen de Win RE en una instalación de Windows 7 una vez que la ponga en marcha, pero no estoy 100% seguro.
Hay algunas otras formas en que puede lograr esto, incluida la creación de una imagen de Windows PE con las herramientas del entorno de recuperación instaladas, pero este es probablemente el método más fácil y dará como resultado que PowerShell esté disponible cada vez que su máquina ingrese al entorno de recuperación vs. tener que arrancar usando medios extraíbles.
Encuentra tu WinRE.wim
Usé todo para encontrar el mío. Resultó estar escondido en
C:\Recovery\67c45205-df4a-11e1-8fd9-9103ad6af7ef
. Esto también puede ser cierto para usted. Para echar un vistazo, tendrás que desactivarHide Protected System Files
. Esta configuración está al acecho en Explorer bajoView, Options, Change Folder and Search Options, View tab.
Cambiar los permisos
Tendrá que meterse con los permisos para ver incluso los permisos en esta carpeta. Jugar con los permisos siempre se pone un poco nervioso, pero sigue adelante si te atreves. Simplemente agregué mi nombre de usuario a los permisos de seguridad con control total.
Haga clic derecho en Recuperación, seleccione propiedades
Abra la pestaña Seguridad
Haga clic en avanzado
Haga clic en Agregar
Seleccionar director
Agregue su nombre de usuario (o administrador si desea trabajar con él como administrador)
Copiar WinRE.wim
Elegí copiar el .wim para poder trabajar con él, pero supongo que también podrías trabajar con él directamente. Si elige trabajar con él directamente, modifique el comando adecuadamente. Copié el mío a
C:\winre\
.Agregar PowerShell a la imagen
Ahora que tenemos un .wim para trabajar, podemos agregar los componentes necesarios para PowerShell. Necesitará los componentes apropiados de Windows ADK, incluido Windows PE.
Monta la imagen
Encuentre herramientas de implementación e imágenes, haga clic derecho y ejecútelo como administrador
Crea una carpeta para montar la imagen
Ejecute este comando para montar la imagen:
Agregue los paquetes requeridos
Hay un poco de un lado a otro implicado en los siguientes comandos, y las cosas tienen que ser hecho en orden. Necesitamos instalar los siguientes paquetes:
También tendremos que instalar paquetes en-us (sustituto de su idioma preferido) para cada uno de los paquetes anteriores.
Comience con esto:
Entonces ejecuta esto:
Ahora presione Updos veces para recuperar el primer comando y reemplace WMI con NetFX4. Repita esto hasta que haya instalado todos los componentes necesarios junto con el idioma requerido. Recuerda hacer esto en orden.
Termina la imagen
Ahora que todos los paquetes están en su lugar, necesitamos confirmar nuestros cambios y finalizar nuestro WinRE.wim. Desde allí podemos construir un .iso, probarlo en Hyper-V y copiar el WinRE.wim a nuestro archivo de recuperación para que tengamos acceso a PowerShell la próxima vez que el sistema se bloquee.
Desmontar y comprometer
Ejecute el siguiente comando para desmontar la imagen y confirmar los cambios:
Varias cosas pueden salir mal aquí, y los mensajes de error son terriblemente engañosos. Asegúrese de que no haya errores tipográficos y que no tenga nada abierto relacionado con estos archivos, ni siquiera Explorer.
Reemplace WinRE.wim original y pruebe
Haga una copia de seguridad de su WinRE.wim original y reemplácelo con el nuevo. Ahora ejecute msconfig y abra la pestaña Arranque. Verificar
Safe Boot
y seleccionarAlternate Shell
. Reinicia y pruébalo.¡Auge! PowerShell en Windows RE
Start PowerShell
¡y disfrutar!Para salir del modo seguro, deberá ejecutar msconfig desde la línea de comandos y desmarcar el Arranque seguro.
fuente
WinPE-PowerShell
lugar deWinPE-PowerShell3
yWinPE-NetFX
en lugar deWinPE-NetFX4
. EnWinPE-HTA
realidad, nunca fue necesario e incluso no está relacionado con PS. No lo agregue si no ejecuta las aplicaciones HTA. StorageWMI y DismCmdlets son módulos para PS, no los necesita si no los necesita. Sustituyen diskpart y dism. La guía oficial de EMPor lo tanto, PowerShell no se puede usar en WinRE.
fuente
Bien, probé muchas cosas y llegué a la conclusión de que no funcionará. La respuesta de William proporciona evidencia para respaldar esto.
Tomé nota de dónde está PowerShell. En mi máquina está adentro
c:\windows\system32\windowspowershell\v1.0\powershell.exe
y adentroc:\windows\syswow64\windowspowershell\v1.0\powershell.exe
.El acceso directo en las herramientas administrativas apunta al syswow64.
Luego reinicié en modo de recuperación y llegué al símbolo del sistema.
Lo primero que noté es que no puedo llegar al
c
disco.Entonces, ejecuté y
diskpart
luego ingresé el comandolist vol
para obtener una lista de unidades disponibles. En mi máquina, mi unidad C se llamaba mi unidad D en la consola de recuperación.Así que salí
diskpart
escribiendoexit
, luego escribí en la consola de comandosd:
, seguido decd\windows\syswow64\windowspowershell\v1.0
.Tenga en cuenta que si lo hace en etapas,
dir
para confirmar los nombres de las carpetas no muestra todo (es decir, lav1.0
carpeta).Una vez allí, crucé los dedos y escribí
powershell
, solo para recibir el mensaje:Busqué en Google el mensaje de error anterior por un momento, pero no pude encontrar nada que indicara que Powershell podría funcionar.
También probé el otro powershell.exe en system32 pero no recibí ningún mensaje (
didn't recognise the command
ni nada ni nada.fuente