PowerShell es la consola avanzada de Microsoft que viene instalada por defecto en todas las versiones de Windows a partir de Windows 7 SP1. Esta consola es mucho más avanzada y completa que CMD, por lo que, para los usuarios más avanzados, es una de las mejores formas de administrar y controlar el sistema operativo. Durante mucho tiempo, PowerShell ha estado escrito en .NET y ha sido una herramienta privativa y exclusiva de Windows. Sin embargo, a día de hoy su desarrollo es principalmente en C# y, además, se trata de un programa multiplataforma y de código abierto. Y como su desarrollo ahora es algo más independiente, la mayoría de los usuarios utiliza una versión vieja de este programa.
Cuando instalamos Windows 10 desde cero, esta consola viene instalada y habilitada por defecto. Sin embargo, incluso la última versión de Windows 10 trae una versión desactualizada de PowerShell, generalmente la 5.1. Podemos comprobar la versión que tenemos ahora mismo instalada en nuestro ordenador abriendo una ventana de la consola y ejecutando el siguiente comando:
Get-Host | Select-Object Version
Seguramente para la mayoría de los usuarios esta versión les sea más que suficiente, ya que probablemente ni usen ni necesiten las mejoras y novedades de las nuevas versiones de PS. Sin embargo, si somos de los que nos gusta estar siempre a la última, a continuación os explicamos cómo instalar la última versión de PowerShell en Windows.
Qué es y para qué sirve PowerShell
Powershell es considerada una herramienta avanzada de configuración y control de un sistema basado en Windows. Se puede definir como una consola de sistema, un terminal o «CLI» bastante más avanzado y completo que lo que en su día fue MS-DOS o lo que actualmente conocemos como CMD. Desde él que podremos configurar completamente un equipo informático basado en Windows sin tener que depender de un escritorio para ello.
Es por ello que se trata de una herramienta que no está dirigida a un usuario común, sino que está orientada a administradores de sistemas. Esto es debido a que nos permite automatizar tareas tanto en un servidor como en un equipo y realizar diferentes funciones y tareas, disponiendo de un control total sobre el sistema. Junto a ello, esta herramienta también nos va a servir para controlar determinadas aplicaciones de Microsoft como SQL Server, Exchange o ISS.
Novedades de PowerShell 7
PowerShell 5, la versión que viene instalada por defecto en Windows 10 y Windows 11, es una herramienta muy potente, y para la mayoría de los usuarios más que suficiente. Sin embargo, siempre hay margen de mejora, sobre todo para los usuarios avanzados y para los desarrolladores que trabajan con este tipo de scripts. Con el lanzamiento de Windows 11, Microsoft no ha actualizado esta versión, por lo que seguimos encontrándonos con la versión 5. Si queremos sacarle todo el partido, lo mejor que podemos hacer es instalar la versión más moderna, la número 7 en el momento de actualizar este artículo, una versión de PowerShell que funciona de forma independiente al Powershell incluido de forma nativa y que incluye muchas más funciones.
Por ello, en las nuevas versiones de PowerShell podemos encontrar funciones y características que, hasta ahora, no estaban disponibles en esta herramienta, como, por ejemplo:
- Pipeline Parallelism.
- Nuevos operadores.
- Nuevos cmdlet (ConciseView y Get-Error).
- Notificaciones de nuevas versiones.
- Capas de compatibilidad para invocar módulos en sesiones implícitas.
- Posibilidad de invocar recursos directamente desde la ventana de consola.
A no ser que utilicemos de forma habitual PowerShell, no es necesario actualizarlo a la última versión disponible, ya que, como hemos comentado más arriba, esta aplicación está más enfocada a administradores de sistemas, aunque no exclusivamente.
Actualizar PowerShell a la última versión
A la hora de actualizar PowerShell a la última versión tendremos la posibilidad de realizarlo tanto de manera manual como de manera automática, tal y como os vamos a contar a continuación.
Método manual descargando la aplicación
Microsoft nos permite instalar esta nueva versión de PowerShell como un programa más, con su instalador. Y al ser un proyecto de código abierto, podemos encontrar todas las versiones del nuevo programa en el siguiente enlace.
Aquí encontraremos dos versiones diferentes. La versión «Release», que corresponde con la última versión estable del programa, y la versión «Preview», más avanzada pero inestable. Podemos instalar la que queramos, cualquiera de las dos. Si no queremos que nuestro equipo presente algún problema de rendimiento o funcionamiento, lo más recomendable es utilizar la versión Release, ya que es la versión final, por lo que, en teoría, no debería dar ningún problema de funcionamiento ni rendimiento en cualquier equipo gestionado por Windows.
Una vez bajado el instalador, lo ejecutamos y tendremos que seguir su asistente como el de cualquier otro programa. Por supuesto, la instalación del nuevo PowerShell es totalmente segura y está libre de todo tipo de software publicitario o no deseado, por algo su código se encuentra disponible en GitHub, para ser completamente transparente de cada a los usuarios.
Cuando acabe la instalación ya tendremos la última versión de PowerShell instalada en el PC.
Método automático desde línea de comandos
Si no queremos descargar e instalar la nueva versión manualmente, también podemos actualizar PowerShell desde el propio programa. Para ello, lo que debemos hacer es abrir una ventana de PS con permisos de administrador (de lo contrario el comando para actualizar no funcionará y nos devolverá un error), y ejecutar en ella el siguiente comando:
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
Esto empezará a bajar automáticamente la última versión estable desde los servidores de Microsoft, del mimo sitio web desde donde podemos descargar el instalador, pero en formato .msi. Cuando se descargue, se ejecutará el instalador, y tendremos que completar nosotros el asistente, igual que en el paso anterior.
Cuando acabe el instalador, ya tendremos la última versión de PowerShell instalada en nuestro sistema operativo. A diferencia de otras aplicaciones, no hace falta reiniciar el equipo para poder comenzar a utilizarlo.
Cómo usar el nuevo PowerShell
Independientemente del método que hayamos elegido, esta versión actúa como un programa independiente, por lo que en Windows seguiremos teniendo instalada la versión 5 del mismo, junto a esta nueva versión. Es decir, no estamos actualizando de la versión 5 a la 7, lo que estamos haciendo es descargar la versión 7 que funcionará de forma independiente a la 5 incluida de forma nativa tanto en Windows 10 como en Windows 11.
Ejecutar el nuevo PowerShell
Podemos encontrar el nuevo PowerShell en la siguiente ruta (por defecto): C > Program Files > PowerShell. Para ejecutarlo, no tenemos más que usar el buscador de Windows 10, y podremos ver cómo nos aparece aquí la nueva versión, junto a la clásica:
Comprobar la nueva versión instalada
Cuando ya tengamos el nuevo PowerShell instalado, este aparecerá como «PowerShell 7» dentro del buscador y desde los lanzadores que usemos. Sin embargo, si queremos estar seguros de la versión que hemos instalado, podemos comprobarlo muy fácilmente ejecutando, de nuevo, el siguiente comando:
Get-Host | Select-Object Version
A partir de ahora, cuando haya nuevas versiones la propia ventana de PowerShell nos avisará de su disponibilidad. Y podremos volver a usar cualquiera de los dos métodos anteriores para instalar esa nueva versión.
Desinstalar o eliminar Powershell de Windows
Si queremos desactivar PowerShell de nuestro ordenador debemos de realizar unos sencillos pasos. Lo primero será acceder al Panel de control, para lo cual podemos usar el buscador del menú de Inicio. Una vez hemos accedido, pulsaremos en la pestaña de «Programas» y posteriormente en la función de «Activar o desactivar las características de Windows».
A continuación, nos aparecerá una ventana denominada «Activar o desactivar las características de Windows». Aquí debemos de desplegar todas las opciones y desplazarnos hasta la parte inferior donde encontraremos la opción de «Windows PowerShell» que se encuentra marcada como activada. Desactivamos la casilla para eliminar automáticamente los procesos vinculados a la misma y pulsamos en Aceptar
Ejecutar archivos por lotes en PowerShell
Una de las principales utilidades que nos propone tanto la ventana del símbolo del sistema como PowerShell, es la posibilidad de ejecutar archivos propios por lotes. básicamente esto quiere decir que podremos crear ficheros personalizados con multitud de tareas o funciones que se ejecutaran una a una, hoy dependiendo de nuestras necesidades. para lograr esto necesitamos que la herramienta de Windows esté perfectamente actualizada, tal y como hemos visto antes, y funcione sin problemas.
Lo primero que debemos saber es que PowerShell funciona de forma diferente a la ventana símbolo del sistema. Es por ello por lo que la ejecución de ciertos comandos en ambas aplicaciones no se lleva a cabo de la misma manera. Tenemos la posibilidad de ejecutar un archivo por lotes .CMD en PowerShell utilizando el parámetro Invoke-Expression. Este se encarga de ejecutar el comando especificado a continuación o cualquier programa en el PC local desde directamente en una sesión de PowerShell.
Esto es algo que igualmente podemos utilizar para ejecutar scripts en lugar de programas, o integrar Invoke-Expression en scripts creados en PowerShell para ejecutar programas o archivos desde los mismos. Para que os hagáis una iré al formato que deberíamos utilizar aquí, os pondremos un ejemplo. A continuación, os vamos a mostrar crear como ejecutar el archivo softzone.cmd que se encuentra ubicado en la unidad E del sistema. No hace falta explicar que previamente en este archivo ya colocamos los comandos que deseamos ejecutar por lotes.
Invoke-Expression -Command "E:/softzone.cmd"
De este modo que gracias a este sencillo comando que especificamos antes de la ruta del fichero, se nos abre un amplio abanico de posibilidades en PowerShell. Su utilización posterior ya dependerá de los conocimientos o experiencia de cada en este tipo de proyectos en Windows.
Diferencias de esta herramienta con CMD
Si comparamos la funcionalidad de la que os hablamos en estas líneas con la ventana del símbolo del sistema o CMD, decir que la segunda lleva muchos años en los sistemas operativos Microsoft, desde Windows 2000. Desde aquí podemos lanzar comandos básicos y preparar scripts relativamente sencillos relacionados con las unidades de red, modificar el registro del sistema o hacer copias de seguridad de nuestros datos.
Sin embargo y con el paso de los años y las versiones del sistema operativo de Microsoft, los usuarios han querido ir un paso más allá, especialmente los más avanzados y expertos en Windows. Esto se traduce en que cuando ya queremos exigirle un poco más al sistema, y llevar a cabo desarrollos reales o más complejos, ahí es donde entra en juego PowerShell.
En este caso nos encontramos con una herramienta más avanzada que por ejemplo nos permite acceder y trabajar con ciertas áreas del sistema en busca de información. La ventana del símbolo del sistema tiene ciertas carencias y hay determinadas funciones y acciones que no podremos llevar a cabo desde aquí. De ahí que Microsoft decidió lanzar su versión más avanzada para los usuarios más exigentes y que quieren tener un mayor control de Windows.
Llegados a este punto podemos afirmar que PowerShell es una herramienta más moderna que igualmente funciona a base de comandos. La pudimos ver por primera vez en Windows Vista y se ha mantenido hasta la fecha. Microsoft no para de mejorarla y centra buena parte de sus esfuerzos al trabajar desde la línea de comandos, en esta herramienta más moderna.
Además necesita de ciertas características para funcionar como por ejemplo .NET Framework.