PowerShell

Definición: ¿Qué significa PowerShell?

PowerShell es un marco de tareas automatizado de Microsoft, con un shell de línea de comandos y un lenguaje de scripting integrado en el marco .NET, que puede integrarse en otras aplicaciones. Automatiza el procesamiento por lotes y crea herramientas de gestión del sistema. Incluye más de 130 herramientas de línea de comandos estándar para funciones y permite a los administradores realizar tareas en sistemas Windows locales y remotos a través del acceso al Modelo de objetos componentes (COM) y al Instrumental de administración de Windows (WMI).

Techinfo explica PowerShell

Windows PowerShell ejecuta cuatro tipos de comandos:

  • Cmdlets
  • Funciones de PowerShell
  • Scripts de PowerShell
  • Programas ejecutables

PowerShell automatiza las tareas mediante cmdlets. Se trata de clases de interfaz de programación de aplicaciones (API) .NET que aparecen como comandos del sistema e implementan funciones específicas. Son los comandos nativos de PowerShell y procesan los objetos individualmente. Se utilizan como destinatarios en una canalización y reciben y generan resultados como objetos. PowerShell invoca los cmdlets de cada objeto de una colección en una secuencia. Se derivan de las clases base Cmdlet o PsCmdlet. Cuando se ejecuta un cmdlet, se invocan los métodos ProcessRecord (), BeginProcessing () y EndProcessing (). La clase que implementa el cmdlet contiene un atributo .NET y el atributo Cmdlet, que especifica el nombre del cmdlet. Los cmdlets usan las API de acceso a datos .NET directamente o pueden usar la infraestructura de Power Shell para que el almacén de datos esté disponible mediante rutas específicas.

PowerShell tiene una interfaz de línea de comandos interactiva. PowerShell permite al usuario producir alias para cmdlets, que PowerShell convierte a los comandos originales.

Pipeline es un concepto importante incluido en PowerShell. La salida de un comando se pasa a otro comando usando un | operador. A diferencia de la canalización de Unix, los comandos que se pasan son objetos escritos con una interfaz coherente, que conservan su estructura durante el proceso y no requieren análisis adicional. Estos objetos encapsulan funciones que trabajan con datos contenidos. El objeto de salida del último cmdlet se canaliza a un cmdlet Out-Default, que convierte el objeto en una secuencia de objetos de formato y los representa en la pantalla.

Microsoft ha lanzado PowerShell 2, que se instala de forma predeterminada en Windows 7 y Windows Server 2008 R2. PowerShell V2 incluye aproximadamente 240 cmdlets e incluye cambios en el lenguaje de secuencias de comandos y la API de hospedaje. Las nuevas características agregadas en PowerShell V2 son:

  • Lenguaje de datos: este es un subconjunto del lenguaje de scripting de PowerShell. Permite que las definiciones de datos se separen de los scripts y permite que los recursos de cadenas se importen al script en tiempo de ejecución.
  • PowerShell Remoting: invoca cmdlets y scripts en máquinas remotas mediante la administración de estaciones de trabajo.
  • Depuración de secuencias de comandos: esto permite puntos de interrupción en secuencias de comandos y funciones para facilitar la ubicación de los comandos.
  • Trabajos en segundo plano: esto invoca secuencias de comandos de forma asincrónica.
  • Transferencia de archivos de red: transferencia asincrónica de archivos entre máquinas.
  • Módulos: organizan y dividen los scripts en unidades reutilizables.
  • Transacción: esto implica cmdlets de transacción para iniciar, confirmar y revertir transacciones.
  • Scriptcmdlets: estos son cmdlets diseñados con el lenguaje de secuencias de comandos de PowerShell.
  • Eventing: escucha, reenvía y actúa sobre los eventos del sistema.
  • Entorno de secuencias de comandos integrado: esto permite que solo se ejecuten partes seleccionadas de la secuencia de comandos y proporciona un PowerShell basado en GUI con resaltado de sintaxis, depurador integrado y finalización de pestañas.