Guia Tech PRO

Introducción a PowerShell: Comienza con Comandos Básicos y Scripts Simples

junio 2, 2024 | by tutorialestech.net

DALL·E 2024-06-02 17.44.59 – A widescreen image of a Windows PowerShell interface being used for programming. The background is dark, with code and commands being executed in the

¿Qué es PowerShell?

PowerShell es una herramienta poderosa de línea de comandos y lenguaje de scripting desarrollada por Microsoft. Diseñada para ayudar a los administradores de sistemas y desarrolladores, PowerShell permite automatizar tareas administrativas y configurar sistemas de manera eficiente. En este tutorial, te enseñaremos cómo empezar con PowerShell, cubriendo los comandos básicos y la creación de scripts simples.

¿Por qué usar PowerShell?

PowerShell ofrece múltiples ventajas:

  1. Automatización: Facilita la automatización de tareas repetitivas.
  2. Integración: Se integra bien con otros productos de Microsoft.
  3. Versatilidad: Útil para la administración de sistemas, gestión de redes y desarrollo de software.
  4. Acceso a WMI y COM: Permite acceder y administrar componentes de Windows a bajo nivel.

Primeros Pasos con PowerShell

Cómo Abrir PowerShell
  • Windows 10/11: Presiona Win + X y selecciona «Windows PowerShell».

Navegación Básica

  • Listar archivos y Directorios: Usa el comando ls

Con este comando, podemos listar todo el contenido de archivos que hay en un directorio, también mostrará los directorios que hay en esa carpeta.

  • Cambiar de Directorio: cd

Con este comando nos estamos dirigiendo a la ruta de descargas del usuario pc usando una ruta absolta, es decir que se ha usado una ruta completa.

  • Ver el directorio actual: pwd o Get-Location

Como podemos observar en ambos ejemplos, podemos saber en que rutas estamos con ambos comandos, con pwd o con Get-Location

Comandos Básicos de Power Shell

En este apartado vamos a ver los comandos básicos que podemos usar en Power Shell y sus usos.

  • Ayuda de comandos: Usa ‘Get-Help’ seguido del comando para ver una ayuda de ese comando

Como podemos observar nos muestra la ayuda del comando ls e incluso nos dice que alias podemos usar.

Manipulación de archvos.

  • Copiar archivos: Para copiar un archivo a otra ruta usaremos el comando Copy-Item

Básicamente para el uso de este comando, primero escribimos la ruta del archivo de origen, y luego la ruta de donde queremos copiar el archivo. El nombre final del archivo puede ser el mismo o también lo podemos cambiar.

  • Mover archivos: Para mover un archivo a otra ruta usamos el comando Move-Item

Al igual que en copiar archivos, es la misma metodología.

  • Eliminar archivos: Para eliminar un archivo usaremos el comando Remove-Item

De esta forma estaremos eliminando el archivo que queremos.

  • Eliminar un directorio de forma recursiva: Con este comando podremos eliminar directorios incluyendo los ficheros que tiene dentro y sus subdirectorios.

Creación de Script Simple

Ahora vamos a ver un ejemplo de como crear un Script simple para listar un directorio y guardar el contenido del listado en un archivo txt

Pero antes de nada veamos que es un script de PowerShell

¿Qué es un Script en PowerShell?

Un script en PowerShell es un archivo de texto con extensión .ps1 que contiene una secuencia de comandos PowerShell. Los scripts permiten automatizar tareas y realizar operaciones complejas de forma eficiente.

Ahora pasemos a crear el script, primero deberemos crear un nuevo archivo con la extensión .ps1 por ejemplo yo lo haré en el escritorio.

Primero debemos ir al explorador de archivos y en la pestaña vista marcar la casilla ver extensiones de archivo.

Una vez activa, podemos crear el archivo .ps1, primero crearemos un archivo txt, documento de texto.

Una vez creado el documento de texto, procedemos a cambiar la extension .txt por .ps1

Al cambiar la extensión te preguntará si deseas continuar, haces click en sí.

Ahora hacemos click derecho en el archivo y hacemos clcik en renombrar archivo y lo cambiamos a script.ps1

Una vez cambiado el nombre, volvemos a hacer click derecho y elegimos editar en el bloc de notas.

Una vez dentro del bloc de notas añadimos el siguiente código:

Explicación del Script

1. Definir la ruta del archivo

powershellCopiar código$rutaArchivo = "C:\Ruta\Del\Directorio\lista_de_archivos.txt"
  • $rutaArchivo: Aquí estamos definiendo una variable llamada $rutaArchivo y asignándole el valor de la ruta completa donde queremos guardar el archivo de texto que contendrá la lista de archivos.
  • «C:\Ruta\Del\Directorio\lista_de_archivos.txt»: Es una cadena de texto que representa la ruta y el nombre del archivo de salida.

2. Obtener el directorio de la ruta del archivo

powershellCopiar código$directorio = Split-Path -Path $rutaArchivo
  • $directorio: Es una variable que almacenará la ruta del directorio donde se guardará el archivo.
  • Split-Path -Path $rutaArchivo: La función Split-Path se utiliza para separar la ruta del archivo, extrayendo solo el directorio. Aquí le pasamos $rutaArchivo y obtenemos solo la parte de la ruta que representa el directorio.

3. Crear el directorio si no existe

powershellCopiar códigoif (-not (Test-Path -Path $directorio)) {
    New-Item -ItemType Directory -Path $directorio
}
  • if (-not (Test-Path -Path $directorio)): Esta línea verifica si el directorio especificado no existe. Test-Path es una función que comprueba si una ruta existe. -not es un operador lógico que invierte el resultado, por lo que la condición es verdadera si la ruta no existe.
  • New-Item -ItemType Directory -Path $directorio: Si la condición es verdadera (el directorio no existe), entonces New-Item se utiliza para crear un nuevo directorio. -ItemType Directory especifica que el nuevo ítem es un directorio, y -Path $directorio es la ruta donde se creará el nuevo directorio.

4. Listar archivos en el directorio actual

powershellCopiar código$archivos = Get-ChildItem
  • $archivos: Es una variable que almacenará la lista de archivos en el directorio actual.
  • Get-ChildItem: Esta función obtiene los elementos (archivos y carpetas) del directorio actual. Si no se especifica ninguna ruta, se asume que es el directorio donde se está ejecutando el script.

5. Guardar la lista de archivos en un archivo de texto

powershellCopiar código$archivos | Out-File -FilePath $rutaArchivo
  • $archivos: Esta variable contiene la lista de archivos obtenida anteriormente.
  • |: El operador de canalización pasa la salida de una expresión (en este caso, la lista de archivos) como entrada a otra expresión.
  • Out-File -FilePath $rutaArchivo: Out-File toma la entrada que recibe (la lista de archivos) y la escribe en un archivo. -FilePath $rutaArchivo especifica la ruta del archivo donde se guardará la lista.

Una vez escrito todo el código guardamos el archivo y lo ejecutamos de la siguiente manera, abrimos la PoweShell y escribimos lo siguiente

De esta forma podemos ejecutar el script comenzando con .\y la ruta del archivo.

De esta forrma obtenemos esta salida en el archivo de texto generado por el script

Espero que les guste nuestro primer tutorial, estaremos atentos a cualquier sugerencia en la caja de comentarios, como tutoriales o peticiones etc. Pronto vendremos con mas como este.

RELATED POSTS

View all

view all