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.
Las principales características de PowerShell son:
- Es un lenguaje de scripting.
- Diseñado para administradores de sistemas.
- Entorno interactivo y shell básica.
- Basado en .NET (.NET es una plataforma de desarrollo para la creación de todas las aplicaciones: web, para dispositivos móviles, escritorio, juegos, IoT y mucho más. Se admite en Windows, Linux y macOS).
- Controlar y automatizar el sistemas operativo.
- Permite controlar también aplicaciones de Windows.
- Mejora de la antigua shell de Windows y elimina problemas antiguos.
- Incorpora conceptos y ventajas de distintos entornos.
- Realizar tareas de administración relacionadas con el registro, procesos, servicios, eventos, etc.
- Gestión de WMI (Windows Management Instrumentation, en español, Instrumentación de Administración Windows).
- Diseño sencillo.
- Orientación a objetos. Aunque los cmdlets se escriben como texto, se comportan como objetos.
- Coherencia en los cmdlets, cada cmdlet se puede utilizar siempre de la misma forma. Si hay un cmdlet que ordena no es necesario añadir esa funcionalidad a un nuevo cmdlet.
- Seguridad. Tiene sistemas que controlan la ejecución de scripts y así se evita la ejecución de scripts no deseados.
- Se pueden administrar remotamente.
- Los proveedores de Windows PowerShell permiten obtener acceso a almacenes de datos (como el Registro y el almacén de certificados) con la misma simplicidad con que se obtiene acceso al sistema de archivos.
- Permite realizar automatizaciones al tener el control del sistema operativo.
- Es multiplataforma, se puede ejecutar en cualquier sistema operativo.