¿Quieres dominar PowerShell? Empieza por esos comandos básicos

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.

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.

Como 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.

Ejecutar PowerShell como administrador

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 ccomo administrador que encontramos en la parte derecha.

Comandos básicos e imprescindibles

Una vez que hemos conocido más sobre PowerShell 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.

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. Para ello podemos usar el comando Get-Help con el cual obtendremos diferentes tipos de ayuda. Ya sea una ayuda genérica, sobre un comando en concreto o saber cómo funciona cualquier comando:

Get-Help Get-Help <comando> Get-Help <comando> -Full Get-Help <comando> -Example Get-Help *

PowerShell 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. Para ello escribiremos:

Get-Item <ruta>

Si lo que queremos es abrir un archivo desde esta consola, debemos de usar un comando similar al anterior como es:

Get-Content <ruta al archivo con su extensión>

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 <nombre> Get-Commad – CommandType <tipo>

PowerShell Get-Command

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 <nombre del servicio> Stop-Service <nombre del servicio> Suspend-Service <nombre del servicio> Resume-Service <nombre del servicio> Restart-Service <nombre del servicio>

Los comandos mostrados en orden descendente podemos realizar acciones como iniciar un nuevo proceso, detener uno en ejecución, suspender, reanudar o reiniciarlo.

PowerShell Get-Service

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 <nombre del proceso> Stop-Process <nombre del proceso> Wait-Service <nombre del proceso>

En la lista en orden descendente, podemos iniciar un proceso nuevo, detenerlo o ponerlo en espera.

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.

¡Sé el primero en comentar!