Comandos básicos PowerShell, ¿quieres aprender?

By WSN In tech-tips

17

Ago
2022

Para empezar, debemos tener en cuenta que Windows tiene dos interfaces gráficas con las que podemos controlar y administrar el sistema operativo. Una es la ya conocida «Símbolo del Sistema«, también denominada CMD, viene heredada de MS-DOS con las que podemos realizar tareas muy básicas. La otra es PowerShell, mucho más potente y avanzada, por lo que podremos tener un control absoluto de todo el sistema. 

Además, PowerShell, nos permite realizar todo tipo de tareas básicas dentro de Windows y nos ofrece compatibilidad con los comandos de CMD. Así pues, podremos utilizar los comandos del Símbolo del Sistema, además de los suyos propios. Vamos a repasar un poco qué es y para qué sirve PowerShell, el terminal avanzado del sistema operativo de Microsoft

¿Qué es y para qué sirve Powershell?

Básicamente, es una herramienta en línea de comandos que nos permite ejecutar comandos, denominados «scripts», que nos van a permitir crear, configurar, automatizar…varios tipos de tareas del sistema sin necesitar un escritorio o interfaz gráfica. Es posible que a muchos os recuerde al mítico MS-DOS, en apariencia, puesto que en funcionalidades es mucho más completo y avanzado.

PowerShell está basado en .NET CLR, ideal para automatizar procesos en servidores o en tu propio equipo. Nos permite realizar todo tipo de funciones y tareas, por lo que estamos ante una herramienta diseñada para usuarios avanzados (absténganse usuarios sin experiencia), puesto que cualquier modificación  puede afectar al buen funcionamiento del sistema. 

Cómo abrir Powershell en Windows

Hay varias formas, aunque la más común es escribir en el cuadro de búsqueda del menú inicio (ya sea Windows 10 o Windows 11) «Powershell».

Cómo abrir Powershell en Windows

Hay varias formas, aunque la más común es escribir en el cuadro de búsqueda del menú inicio (ya sea Windows 10 o Windows 11) «Powershell«.

Es importante tener en cuenta que podemos iniciar el terminal como administrador, ya que nos dará permisos con los que podremos ejecutar las tareas más complejas. Una vez que veamos el icono ejecutable, debemos pinchar en la opción «ejecutar como administrador» en la parte derecha del menú. 

 

Comandos básicos
Es posible que en muchas ocasiones, no sepamos cómo poder utilizar los comandos, para ello tenemos el comando «Get-Help» que nos ofrecerá distintos tipos de ayuda, ya sea genérica sobre un comando concreto o para saber como funciona cualquier comando, por ejemplo:
Get-Help
Get-Help <comando>
Get-Help <comando> -Full
Get-Help <comando> -Example
Get-Help *
En muchas ocasiones nos puede resultar útil descargar las librerías de ayuda con el comando «Update-Help«.
Buscar y abrir archivos
Si necesitamos buscar un directorio concreto desde PowerShell, el comando «Get-Item» se encargará de mostrarnos su contenido, para ello pondremos en la línea de comandos:
Get-Item <ruta>
Si en cambio, queremos abrir un archivo desde esta consola, debemos usar un comando similar, «Get-Content«: Get-Content <ruta al archivo con su extensión>
Este comando es mucho más útil para obtener listas de información en PowerShell directamente.
Buscar un comando
Es probable que cuando queramos ejecutar cierto comando, no nos acordemos de la sintaxis, para ello, PowerShell cuenta con la posibilidad de buscarlos tan solo con acordarnos de una parte del comando. Para encontrar el comando similar o que contenga una frase en particular, podemos usar el cmdlet (comando ligero que se usa en el entorno de PowerShell) «Get-Command«. Aunque no enumera todos los cmdlet en PowerShell, usa algunos filtros:
Get-Comand – Name <nombre>
Get-Commad – CommandType <tipo>

El primer comando lo usaremos para obtener comandos relacionados con el nombre que le indiquemos, con el segundo, podremos realizar una función en concreto. 

Crear un nuevo directorio
Con PowerShell podemos crear directorios utilizando el comando «mkdir«. Es importante obviar el uso de espacios a la hora de darle el nombre. Por ejemplo, podemos crear el directorio WSN de la siguiente forma:
mkdir WSN
Copiar y borrar archivos o directorios
Otra de las funciones de la consola es posibilidad de copiar y borrar archivos o directorios con los comandos: «Copy-Item» o «Remove-Item». Para copiar un archivo o directorio usaremos: Copy-Item «ruta al archivo de origen con extensión» -Destination «ruta de destino»
En caso de que queramos borrarlo:
Remove-Item «ruta al archivo con extensión»
Listar todos los archivos dentro de una carpeta
Si necesitamos ver todos los elementos que están dentro de una carpeta podemos introducir el siguiente comando:
Get-ChildItem
Le podremos añadir el parámetro -Force para mostrar los elementos ocultos del sistema, por ejemplo, del disco C: Get-ChildItem -Path C: -Force
Crear archivos y carpetas
PowerShell nos permite crear elementos nuevos en función del tipo. En caso de que tenga más de un tipo de elemento, necesitaremos especificarlo. Este comando nos permite crear una carpeta:
New-Item -Path 'C:CarpetaNueva carpeta' -ItemType Directory
Este otro comando nos crea un archivo vacío:
New-Item -Path 'C:CarpetaNueva carpetafile.txt' -ItemType File
Saber todo el contenido de un archivo
Si necesitamos saber el contenido de un archivo de texto por ejemplo, en una ruta concreta, utilizaremos el archivo «Get-Content«, para analizarlo sin abrirlo. Si utilizamos ese comando por si solo, no nos aporta mucho, pero si lo mezclamos con cmdlets específicos, podremos obtener resultados más precisos. Por ejemplo, queremos ver el contenido del archivo de texto WSN:
Get-Content "C:/WSN.txt"
Si solo queremos ver las primeras 5 líneas del archivo, necesitaremos de los cmdlets:
Get-Content "C:/WSN.txt" – TotalCount 5
Cambiar la política de ejecución
Es posible mediante el uso de PowerShell, cambiar el nivel de seguridad a cualquiera de los cuatro niveles de restricciones. Para ello, necesitamos usar el comando «Set-ExecutionPolicy» seguido de cualquiera de estos niveles de seguridad que os proponemos a continuación:
Set-ExecutionPolicy Unrestricted
Set-ExecutionPolicy All Signed
Set-ExecutionPolicy Remote Signed
Set-ExecutionPolicy Restricted
Tened en cuenta de que van por orden de menos a más restrictivas.
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 varias 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>
Con estos comandos podemos iniciar, parar, suspender, reanudar y reiniciar servicios desde la línea de comandos.
Lista de procesos abiertos
De forma similar, podemos trabajar con los procesos. Para listarlos, podemos utilizar el comando «Get-Process» con el que podremos realizar acciones tales como:
Start-Process <nombre del proceso>
Stop-Process <nombre del proceso>
Wait-Service <nombre del proceso>
Con ellos, podremos 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 (La Plataforma universal de Windows, es una API o una plataforma común de aplicaciones presentes en todos los dispositivos que cuentan con Windows) de manera rápida, por lo que podremos usarlo para abrir aplicaciones o crear scripts. Para ello usaremos el comando «Start-Process» Por ejemplo, queremos abrir la configuración de nuestro Windows:
Start-Process «ms-settings:»
Si queremos usar una UWP como Spotify, el comando que introduciremos será:
Start-Process «spotify:»
De esta forma, no necesitaremos la interfaz gráfica de Windows, podremos ejecutarlas tanto desde el sistema como descargadas de la Microsoft Store.

Ahora queda en tus manos (y en tu teclado) empezar a utilizar la PowerShell en tu día a día.