Potencia Shell


PowerShell o Microsoft PowerShell (anteriormente Windows PowerShell) es un programa de administración de configuración y automatización de tareas de Microsoft , que consiste en un shell de línea de comandos y el lenguaje de secuencias de comandos asociado . Inicialmente, solo era un componente de Windows, conocido como Windows PowerShell , se hizo de código abierto y multiplataforma el 18 de agosto de 2016 con la introducción de PowerShell Core . [5] El primero se basa en .NET Framework , el segundo en .NET Core . El nombre Windows PowerShelltodavía está presente en las últimas versiones de Windows 11 y 10, pero las últimas versiones de PowerShell se llaman PowerShell o Microsoft PowerShell .

En PowerShell, las tareas administrativas generalmente se realizan mediante cmdlets ( command-lets pronunciados ), que son clases .NET especializadas que implementan una operación en particular. Estos funcionan accediendo a datos en diferentes almacenes de datos, como el sistema de archivos o el registro , que están disponibles para PowerShell a través de proveedores . Los desarrolladores de terceros pueden agregar cmdlets y proveedores a PowerShell. [6] [7] Los scripts pueden usar cmdlets, que a su vez pueden empaquetarse en módulos.

PowerShell brinda acceso a COM y WMI , lo que permite a los administradores realizar tareas administrativas en sistemas Windows locales y remotos, así como WS-Management y CIM , lo que permite la administración de sistemas remotos Linux y dispositivos de red. PowerShell también proporciona una API de alojamiento con la que el tiempo de ejecución de PowerShell se puede integrar dentro de otras aplicaciones. Estas aplicaciones pueden usar la funcionalidad de PowerShell para implementar ciertas operaciones, incluidas las expuestas a través de la interfaz gráfica . Esta capacidad ha sido utilizada por Microsoft Exchange Server 2007 para exponer su funcionalidad de administración como cmdlets y proveedores de PowerShell e implementar elherramientas de administración gráfica como hosts de PowerShell que invocan los cmdlets necesarios. [6] [8] Otras aplicaciones de Microsoft, incluido Microsoft SQL Server 2008 , también exponen su interfaz de administración a través de los cmdlets de PowerShell. [9]

PowerShell incluye su propia ayuda extensa basada en la consola (similar a las páginas man en los shells de Unix ) a la que se puede acceder a través del Get-Helpcmdlet. El contenido de la ayuda local actualizado se puede recuperar de Internet a través del Update-Helpcmdlet. Alternativamente, la ayuda de la web se puede adquirir caso por caso a través del -onlinecambio a Get-Help.

Cada versión de Microsoft Windows para computadoras personales ha incluido un intérprete de línea de comandos (CLI) para administrar el sistema operativo. Su predecesor, MS-DOS , se basaba exclusivamente en una CLI. Estos están COMMAND.COMen MS-DOS y Windows 9x , y cmd.exeen la familia de sistemas operativos Windows NT . Ambos admiten algunos comandos internos básicos. Para otros fines, se debe escribir una aplicación de consola separada. También incluyen un lenguaje básico de secuencias de comandos ( archivos por lotes ), que se puede utilizar para automatizar diversas tareas. Sin embargo, no se pueden utilizar para automatizar todas las facetas dela funcionalidad de la interfaz gráfica de usuario (GUI), en parte porque los equivalentes de las operaciones en la línea de comandos son limitados y el lenguaje de secuencias de comandos es elemental. En Windows Server 2003 , la situación mejoró, pero el soporte de secuencias de comandos seguía siendo insatisfactorio. [10]

Microsoft intentó abordar algunas de estas deficiencias mediante la introducción de Windows Script Host en 1998 con Windows 98 y su host basado en la línea de comandos, cscript.exe. Se integra con el motor Active Script y permite que los scripts se escriban en lenguajes compatibles, como JScript y VBScript , aprovechando las API expuestas por las aplicaciones a través del modelo de objetos de componentes ( COM ). Sin embargo, tiene sus propias deficiencias: su documentación no es muy accesible y rápidamente ganó reputación como un vector de vulnerabilidad del sistema después de varios virus informáticos de alto perfil.explotado las debilidades en sus disposiciones de seguridad. Las diferentes versiones de Windows proporcionaron varios intérpretes de línea de comandos de propósito especial (como netsh y WMIC ) con sus propios conjuntos de comandos, pero no eran interoperables.


PowerShell para Linux 6.0 Alpha 9 en Ubuntu 14.04 x64
Sesión de Windows PowerShell 1.0 con la consola de Windows
Windows PowerShell ISE v2.0 en Windows 7 , un entorno de desarrollo integrado para scripts de PowerShell.
Icono de PowerShell 5.0