PowerShell es una línea de comandos con tecnología de scripting basada en tareas que proporciona a los administradores de tecnologías de la información (TI) un control integral y la posibilidad de automatizar las tareas de administración del sistema.
Incluye las mejores características de otros shells populares. A diferencia de la mayoría de los shells que solo aceptan y devuelven texto, PowerShell acepta y devuelve objetos .
Como lenguaje de scripting, PowerShell se usa normalmente para automatizar la administración de sistemas. También se usa para compilar, probar e implementar soluciones, a menudo en entornos de CI/CD. PowerShell se basa en .NET Common Language Runtime (CLR). Todas las entradas y salidas son objetos de .NET. No es necesario analizar la salida de texto para extraer información de la salida. El lenguaje de scripting de PowerShell incluye las siguientes características:
- Extensible mediante funciones, clases, scriptsy módulos.
- Sistema de formato extensible para una salida fácil.
- Sistema de tipos extensible para crear tipos dinámicos.
- Compatibilidad integrada con formatos de datos comunes, como CSV, JSONy XML.
Es una plataforma de automatización en la que hay habilitado un ecosistema de módulos de PowerShell para implementar y administrar casi cualquier tecnología con la que trabaje. Por ejemplo:
Microsoft
Aplicaciones de terceros
Otro aspecto interesante es Desired State Configuration (DSC) de PowerShell es un marco de administración en PowerShell que permite administrar la infraestructura empresarial con configuración como código.