PowerShell (ejecutable pwsh) es el lenguaje de scripting y shell moderno de Microsoft, construido sobre .NET 8+ y disponible como producto multiplataforma en Windows, macOS y Linux. El curso se centra en PowerShell 7.4 en adelante como versión de referencia para scripting profesional; la versión legacy Windows PowerShell 5.1 solo se menciona como compatibilidad histórica.
A diferencia de los shells tradicionales basados en texto, PowerShell trabaja con objetos .NET, lo que permite manipular datos estructurados directamente en el pipeline sin necesidad de parsear cadenas. El modelo se basa en cmdlets con nomenclatura verbo-sustantivo (Get-Process, Set-Content, Invoke-Command) que facilita el descubrimiento de comandos y la lectura de scripts. Esta capacidad, combinada con los módulos modernos Az (Azure), AWS.Tools, Microsoft.Graph y Microsoft.PowerShell.SecretManagement, convierte a PowerShell en la herramienta central de automatización para profesionales de TI, DevOps y administración cloud.
La gestión de paquetes se apoya en PSResourceGet (sucesor de PowerShellGet) y en PowerShell Gallery como repositorio principal. La gestión de credenciales se hace con SecretManagement y vaults como SecretStore, Azure Key Vault o HashiCorp Vault. El curso te guía desde los fundamentos hasta la automatización avanzada y la integración con plataformas cloud: sintaxis completa, control de flujo, funciones avanzadas con validación de parámetros, gestión de archivos y datos estructurados, administración remota con PSRemoting y creación de scripts seguros para entornos de producción.
Qué incluye este itinerario
- Fundamentos: qué es PowerShell 7 (pwsh) sobre .NET 8+, entornos de trabajo (Windows Terminal, VS Code con la extensión PowerShell), cmdlets y sistema de ayuda.
- Sintaxis: variables, tipos de datos, operadores, comparación, pipelines orientados a objetos y formato de salida.
- Control de flujo: if/else, switch, for, foreach, while, do-while, break/continue y gestión de errores con try/catch.
- Funciones y módulos: funciones, parámetros avanzados, advanced functions, módulos, scopes y PSResourceGet (PowerShell Gallery).
- Sistema de archivos: operaciones con ficheros, rutas, CSV/JSON/XML, expresiones regulares y procesamiento de texto.
- Administración de sistemas: servicios, procesos, registro de Windows, tareas programadas, event logs y PSRemoting (WinRM y SSH).
- Automatización: patrones de scripting, automatización de tareas, Azure PowerShell Az, AWS.Tools, Microsoft.Graph y CI/CD.
- Seguridad: políticas de ejecución, gestión de credenciales, SecretManagement con SecretStore y vaults externos, y firma de scripts.
Público objetivo
- Administradores de sistemas que necesitan automatizar tareas repetitivas y gestionar infraestructura Windows y Linux.
- Ingenieros DevOps que buscan dominar PowerShell para integrar scripts en pipelines de CI/CD y gestión cloud.
- Profesionales de TI que quieren mejorar su productividad con herramientas de línea de comandos y automatización.
- Desarrolladores .NET que desean aprovechar PowerShell para tareas de build, despliegue y gestión de entornos.
- Estudiantes de informática que buscan competencias en administración de sistemas demandadas en el mercado laboral.
Prerrequisitos: familiaridad básica con la línea de comandos (cmd o terminal) y conceptos generales de sistemas operativos. No se requiere experiencia previa con PowerShell ni con programación, aunque conocimientos básicos de scripting facilitarán el aprendizaje.