Windows cuenta entre sus características con dos interfaces gráficas con las que poder controlar y administrar todos los apartados del sistema. Una de ellas es el Símbolo del sistema, también conocida como CMD, heredada de MS-DOS con las que poder realizar tareas muy básicas. La otra, PowerShell es mucho más potente y avanzada, lo cual nos va a permitir tener un control absoluto de todo el sistema operativo.
PowerShell nos va a permitir realizar todo tipo de tareas básicas dentro de Windows y también ofrece compatibilidad con los comandos de CMD. De esta forma podemos usar los comandos del Símbolo del sistema, además de los suyos propios. Pero antes de empezar conozcamos un poco más acerca de este terminal avanzado del sistema operativo de Microsoft.
Qué es y para qué sirve PowerShell
Se trata de una herramienta en línea de comandos que nos va a permitir ejecutar diferentes tipos de uniones de comandos, denominados Scripts, que nos van a permitir crear, configurar y automatizar múltiples tipos de tareas del sistema sin necesidad de usar el escritorio o una interfaz gráfica para ello. Es posible, que a muchos avanzados le recuerde al mítico MS-DOS, al menos en apariencia, pues en funcionalidades es mucho más completo y avanzado que este.
PowerShell se encuentra basado en .NET CLR por lo que es ideal para poder automatizar procesos tanto de un equipo como un servidor, ya que nos permite realizar todo tipo de funciones y tareas del sistema. Por lo tanto, hablamos de una herramienta especialmente diseñada para usuarios avanzados y que los usuarios sin experiencia deben evitar, pues cualquier modificación puede afectar de forma irremediable al buen funcionamiento del sistema.
Es más que posible que a muchos de vosotros en un principio os resulte más familiar la denominada como ventana de línea de comandos o CMD. Esta nos lleva acompañando desde hace muchos años y versiones de Windows para diversas tareas relacionadas con el uso de órdenes que tecleamos en Windows. Sin embargo, a estas alturas podríamos decir que PowerShell es una herramienta similar a la mencionada, pero actualizada y mucho más potente que la mencionada línea de comandos original. Con todo y con ello ambos elementos son perfectos para los usuarios más avanzados del sistema operativo de Microsoft.
Es por todo ello por lo que a continuación nos vamos a centrar en la versión moderna de la herramienta centrada en el uso de comandos que nos ofrece Microsoft. Esto nos permitirá llevar a cabo proyectos propios y así tener un control más profundo y profesional del sistema operativo.
Ventajas de usar como administrador
Llegados a este punto es importante conocer que, al igual que sucede con el resto de las aplicaciones del sistema operativo, PowerShell se puede ejecutar de diferentes maneras. Podemos abrirlo en modo convencional, mediante el cual tendremos ciertos permisos bloqueados como:
- Cambios en la política de ejecución.
- Modificación de los archivos del sistema.
- Modificaciones del Registro.
Esto es especialmente interesante para que los usuarios menos experimentados puedan terminar realizando cambios en el sistema que puedan terminar dañándolo. En el caso de que querer tener un control total será necesario ejecutar la aplicación como administrador.
De hecho, os podemos decir que en la mayoría de los casos lo más recomendable es ejecutar esta herramienta que os mencionamos, con permisos de administrador siempre que sea posible. Así, lo necesitemos o no en un principio, nos evitamos ciertos mensajes de error relacionados con los permisos que tendremos a la hora de ejecutar los comandos y script en los que vamos a trabajar.
Cómo abrir en Windows
Una vez conocemos un poco más sobre PowerShell, es importante aprender cómo podemos abrirlo. Ya sea en Windows 10 como en Windows 11, existen diferentes formas de hacerlo, pero la más común pasa por escribir «Windows PowerShell» en el cuadro de búsqueda del menú Inicio.
Posteriormente, es importante que tengamos en cuenta la posibilidad de iniciarlo como administrador, ya que esto hará que podamos realizar todo tipo de tareas, hasta las más completas. Por lo tanto, una vez que veamos el icono ejecutable de Windows PowerShell, debemos de pichar en la opción de Ejecutar como administrador que encontramos en la parte derecha.
Tal y como os mencionamos antes, abrir de esta manera la aplicación con los permisos totales es lo más recomendable en todos los casos.
Por qué usar PowerShell en lugar de CMD
Más adelante os vamos a hablar de una serie de comandos que os resultarán de extrema utilidad para sacarle el máximo provecho al sistema operativo de Microsoft. Para ello vamos a utilizar la herramienta llamada PowerShell de la que os acabamos de hablar, aunque hay otra muy similar, más antigua llamada CMD o ventana del símbolo del sistema. Quizá los usuarios más avanzados de Windows son los que generalmente llevan a cabo determinadas acciones y cambios en el sistema por medio de comandos.
Cierto es que a primera vista para algunos esta manera de trabajar puede aparecer un poco anticuada. pero en realidad nos proporciona mucho más control sobre determinados aspectos del software. Estos comandos los debemos teclear manualmente en la correspondiente ventana y vienen acompañados por multitud de parámetros. En el caso de que nos dispongamos a comparar ambos elementos que os hemos comentado, lo primero que debemos saber es que PowerShell es una herramienta más moderna.
Básicamente hay que decir que está más adaptada a los tiempos y necesidades actuales para trabajar con comandos. quizá la principal ventaja que nos ofrece con respecto a la ventana del símbolo del sistema es que PowerShell nos da la posibilidad de trabajar con elementos más complejos. A su vez esta herramienta más moderna para trabajar con comandos nos ofrece la posibilidad de crear nuestros propios comandos personalizados y secuencias. Esto es algo que logramos a través del lenguaje de programación C# y además podremos desarrollar nuestros propios scripts, todo ello a través del mencionado PowerShell. Cabe destacar que CMD es una aplicación que está mucho más limitada en este sentido.
Aquí también nos encontramos con algunas funciones para los usuarios más exigentes como la ejecución remota de tareas o el poder Poner en funcionamiento trabajos en segundo plano. A su vez nos podemos beneficiar de la automatización y canalización de comandos y procesos complejos.
Soluciona este error habitual con PowerShell
Lo cierto es que esta es una herramienta integrada en el propio sistema operativo de Microsoft que no suele fallar, pero como sucede con otros muchos apartados de Windows, de vez en cuando aparece algún problema. Uno de los más habituales es que la herramienta como tal con su habitual ventana azul, aparece de vez en cuando y sin que la ejecutemos nosotros manualmente, en pantalla. Por tanto en el caso de que te encuentres ante el problema de que Windows PowerShell no hace más que aparecer sin necesitarla, veamos cómo podemos solucionar este incómodo fallo.
Muchos usuarios a lo largo de los años han reportado que están trabajando en otras aplicaciones y funciones de Windows y de repente aparece una ventana de PowerShell. Cuando esto se repite en múltiples ocasiones y durante mucho tiempo, se puede convertir en una importante molestia. Esto es algo que se hace especialmente patente en el caso de que estemos haciendo un trabajo importante en nuestro equipo o sencillamente estemos echando una partida a nuestro juego favorito.
Lo primero que debemos hacer es liminar el acceso directo de PowerShell de la carpeta de inicio del sistema. Este acceso directo que de forma predeterminada se añade en esta ubicación de disco, puede ser el causante real del problema que os comentamos. Por otro lado se puede dar el caso de que el fallo venga dado por alguna mala configuración de Windows. Esto podría provocar que PowerShell aparezca de forma inesperada debido a que está habilitado en el Administrador de tareas, en concreto en el inicio, donde deberíamos desactivarlo.
Igualmente se puede dar la circunstancia de que algún tipo de código malicioso esté haciendo uso de esta herramienta del sistema operativo de Microsoft para confundirnos. Aquí lo mejor que podemos hacer es hacer un escaneo completo con nuestro antivirus instalado para así eliminar los posibles virus o cualquier otro tipo de malware que esté afectando a Windows.
Descargar PowerShell manualmente para tener la última versión
Ya os hemos comentado que esta es una herramienta integrada en el propio sistema operativo especialmente indicada para los usuarios más avanzados del mismo. Aquí tienen la posibilidad de crear una serie de comandos y scripts para llevar a cabo diversas tareas de forma automática. Es por ello que estos usuarios posiblemente prefieran mantener actualizada esta funcionalidad a su última versión en todo momento.
En el caso de que el proceso no se lleve a cabo de forma automática, siempre tenemos la posibilidad de descargar manualmente PowerShell desde su página oficial. Y es que la propia Microsoft nos permite instalar esta última versión de PowerShell como un programa más, con su correspondiente instalador. Al ser un proyecto de código abierto, podemos encontrar todas las versiones del nuevo programa en el siguiente enlace y bajar la más reciente si es la que nos interesa.
Incluso tendremos la posibilidad de bajar las versiones de prueba en las que está trabajando el gigante del software ese instante para así echar un vistazo de primera mano a las últimas funciones que llegarán más tarde a todo el mundo.
Comandos básicos e imprescindibles
Una vez que hemos conocido más sobre PowerShell y ya sabemos de lo que se trata realmente, os pasamos a mostrar una serie de comandos básicos e imprescindibles que debemos de conocer para trabajar con esta consola en línea de comandos. A medida que vayamos dominándolos podemos ir profundizando en ellos y lograr tener un mayor control sobre el sistema.
Ayuda para usar cualquier comando
Es posible que a la hora de usar comandos de PowerShell nos encontremos con que nos sepamos cómo poder utilizarlos, lo que para los usuarios poco experimentados se puede convertir en un serio problema. Para ello podemos usar el comando Get-Help con el cual obtendremos diferentes tipos de ayuda que nos proporciona el propio Windows. Ya sea una ayuda genérica, sobre un comando en concreto o saber cómo funciona cualquier comando:
Get-Help
Get-Help
Get-Help -Full
Get-Help -Example
Get-Help *
En ocasiones, también nos puede resultar útil usar el comando Update-Help, que nos va a servir para descargar librerías de ayuda.
Buscar y abrir archivos
En el caso de que necesitamos buscar un directorio concreto desde esta consola, el comando Get-Item que se encargará de mostrarnos su contenido en cuestión. Hay que tener en cuenta que el uso y tratamiento de carpetas en el sistema operativo es algo habitual, y PowerShell nos permite tener un mayor control sobre estos elementos.
Para ello escribiremos:
Get-Item
Si lo que queremos es abrir un archivo desde esta consola, debemos de usar un comando similar al anterior como es:
Get-Content
Este comando es más útil para obtener listas de información en Windows PowerShell directamente.
Buscar un comando
Es probable que en el momento de querer ejecutar cualquier comando puede que no nos acordemos exactamente de su sintaxis por lo que PowerShell cuenta con la posibilidad de buscarlos con sólo acordándonos de una parte de este.
Para poder encontrar comandos de un tipo similar o que contengan una frase en particular es posible usar el cmdlet Get-Command. Sin embargo, no enumera todos los cmdlet en PowerShell, por lo que se encarga de usar algunos filtros. Es posible usar los comandos:
Get-Comand – Name
Get-Commad – CommandType
El primer comando lo usaremos para obtener comandos relacionados con el nombre que le indiquemos, mientras que el segundo se usa para poder realizar una función en concreto.
Crear un nuevo directorio
Con PowerShell también podemos crear un nuevo directorio utilizando el comando mkdir. Es importante que a la hora de darle el nombre evitemos usar los espacios.
Por ejemplo, podemos crear el directorio DocumentoSoftZone
mkdir DocumentoSoftZone
También podemos evitar el uso de espacios insertando un guion o guion bajo como, por ejemplo:
mkdir DocumentoSoftZone
Copiar y borrar archivos o directorios
Otra de las funciones de la consola de Windows es la posibilidad de copiar y borrar archivos o directorios, para lo cual podemos usar los comandos Copy-Item o Remove-Item en función de lo que necesitemos.
Para copiar un archivo o directorio usamos:
Copy-Item «ruta al archivo de origen con extensión» -Destination «ruta de destino»
En el caso de que lo que queramos sea borrarlo debemos optar por:
Remove-Item «ruta al archivo con extensión»
Listado de todos los archivos dentro de una carpeta
Si queremos ver todos los elementos que se encuentran dentro de una carpeta podemos hacerlo a través del comando:
Get-ChildItem
Le podemos añadir el parámetro Force para mostrar también los elementos ocultos del sistema, por ejemplo, de la unidad C:.
Get-ChildItem -Path C: -Force
Crear archivos y carpetas
Con PowerShell también tenemos la posibilidad de crear elementos nuevos en función del tipo de elemento. En caso de que tenga más de un tipo de elemento será necesario especificar el tipo de elemento.
Este comando crea una nueva carpeta:
New-Item -Path 'C:tempNueva carpeta' -ItemType Directory
Este comando crea un nuevo archivo vacío:
New-Item -Path 'C:tempNueva carpetafile.txt' -ItemType File
Saber todo el contenido de un archivo
Si necesitamos saber todo el contenido de un archivo de texto en una ruta concreta podemos usar el comando Get-Content, para poder examinarlo sin necesidad de abrirlo. Si se utiliza Get-Content solo, no ofrece mucha utilidad, pero se puede mezclar con cmdlets más específicos con el objetivo de obtener resultados más precisos
Por ejemplo, podemos ver el contenido del archivo softzone.htm
Get-Content "C:/softzone.txt"
También podemos ver 10 líneas de texto incluidos en softzone.htm
Get-Content "C:/softzone.txt" – TotalCount 20
Cambiar la política de ejecución
Si bien PowerShell cuenta con soporte para crear y ejecutar scripts, También dispone de restricciones para cada uno de ellos como parte de medidas de seguridad. Es posible cambiar el nivel de seguridad a cualquiera en cuatro niveles de restricciones. Para ello es posible usar el comando Set-ExecutionPolicy seguido de cualquiera de los niveles de seguridad que veremos a continuación:
Set-ExecutionPolicy Unrestricted
Set-ExecutionPolicy All Signed
Set-ExecutionPolicy Remote Signed
Set-ExecutionPolicy Restricted
En esta lista, las políticas de seguridad van desde el menos restrictivo hasta el más restrictivo.
Ver, iniciar, detener, suspender o reiniciar un servicio o proceso
Windows cuenta con determinados servicios que son pequeños procesos de aplicaciones utilizados que siempre se ejecutan en segundo, como, por ejemplo, para mantenerse siempre en alerta para ejecutarse o buscar actualizaciones en segundo plano.
Lista de servicios en ejecución
Si queremos ver en PowerShell una lista completa de los servicios que se están ejecutando debemos usar el comando Get-Service. Con la ayuda de otros comandos podemos realizar determinadas acciones como:
Start-Service
Stop-Service
Suspend-Service
Resume-Service
Restart-Service
Los comandos mostrados en orden descendente podemos realizar acciones como iniciar un nuevo proceso, detener uno en ejecución, suspender, reanudar o reiniciarlo.
Lista de los procesos abiertos
De forma similar podemos trabajar con los procesos de Windows. Para ver una lista con todos los procesos abiertos podemos utilizar el comando Get-Process. Con él podemos realizar determinadas acciones como:
Start-Process
Stop-Process
Wait-Service
En la lista en orden descendente, podemos iniciar un proceso nuevo, detenerlo o ponerlo en espera.
Si queremos acceder al historial de procesos que hemos ejecutado en el equipo desde que se ha iniciado sesión, debemos utilizar comando:
Get-History
Ejecutar aplicaciones UWP en Windows
Una de las finalidades de PowerShell es la posibilidad de ejecutar aplicaciones UWP de manera rápida, por lo que podemos usar para abrir determinadas aplicaciones o crear nuestros propios scripts. Para ello usamos el comando Star-Process.
Por ejemplo, si queremos abrir la Configuración de Windows usamos:
Start-Process «ms-settings:»
Si lo que queremos es usar una aplicación UWP como Spotify el comando a escribir sería
Start-Process «spotify:»
De esta forma, sin necesidad de usar la interfaz gráfica de Windows, podemos ejecutar aplicaciones tanto del sistema como descargadas de la Microsoft Store.
Instalar cualquier navegador
Otra de las funciones que también tenemos a nuestra disposición a través de PowerShell es descargar e instalar directamente navegadores web como Chrome, Firefox y Opera utilizando en comando Winget. Dependiendo de que navegador queramos descargar de instalar en nuestro PC, lo primero que debemos hacer es abrir PowerShell con permisos de administrador y acceder al directorio donde queremos descargar el navegador que, posteriormente se instalará automáticamente.
A continuación, si queremos descargar Chrome, debemos utilizar el siguiente comando.
winget install --id=Google.Chrome
Para Firefox, el comando es
winget install --id=Mozilla.Firefox
Y para descargar Opera es este otro
winget install --id=Opera.OperaGX
También podemos instalar Brave directamente desde PowerShell utilizando este comando
winget install --id BraveSoftware.BraveBrowser
Desinstalar aplicaciones desde PowerShell
Desde la línea de comandos de Powershell también podemos, además de instalar aplicaciones, desinstalarlas de nuestro equipo, aunque el método, obviamente, no es tan sencillo como a través de la Windows, ya que debemos utilizar únicamente comandos para realizar tarea. Pero, antes de desinstalar una aplicación, debemos identificarla en el equipo y cerrar los procesos asociados si todavía se encuentra abierta en el equipo. Para identificar la aplicación, utilizaremos el comando
Get-Service
En la segunda columna, Name, se encuentra el nombre de la aplicación que debemos utilizar, en primer lugar, para cerrarla y detener los procesos en segundo plano y también para desinstalar del equipo. Para cerrar completamente la aplicación desde PowerShell, utilizamos el comando
Stop-Process
Una vez hemos cerrado la aplicación, ya podemos desinstalarla desde PowerShell utilizando el siguiente comando:
Get-AppxPackage *nombreaplicación* | Remove-AppxPackage
Utilizar PowerShell para eliminar aplicaciones nativas de Windows 10 y Windows 11 el mejor método para hacerlo, ya que Windows no nos permite realizar este proceso desde la interfaz gráfica en la mayoría de las aplicaciones nativas.
Si durante el proceso, a pesar de ejecutar PowerShell con permisos de Administrador, se presenta algún problema o limitación debido a las políticas de ejecución de Windows, podemos solucionar rápidamente este problema modificándolas con este comando
PowerShell -ExecutionPolicy Unrestricted