Compartir a través de


Especificación del lenguaje Windows PowerShell 3.0

Nota editorial

Importante

La especificación del lenguaje de Windows PowerShell 3.0 se publicó en diciembre de 2012 y se basa en Windows PowerShell 3.0. Esta especificación no refleja el estado actual de PowerShell. No hay ningún plan para actualizar esta documentación para reflejar el estado actual. Esta documentación se presenta aquí para obtener referencia histórica.

El documento de especificación está disponible como un documento de Microsoft Word del Centro de descarga de Microsoft en: https://www.microsoft.com/download/details.aspx?id=36389 Ese documento de Word se ha convertido para su presentación aquí en Microsoft Learn. Durante la conversión, se han realizado algunos cambios editoriales para dar cabida al formato de la plataforma Docs. Se han corregido algunos errores tipográficos y menores.

1. Introducción

PowerShell es una línea de comandos shell y lenguaje de scripting, diseñado especialmente para los administradores del sistema.

La mayoría de los shells funcionan mediante la ejecución de un comando o utilidad en un nuevo proceso y la presentación de los resultados al usuario como texto. Estos shells también tienen comandos que se integran en el shell y se ejecutan en el proceso del shell. Dado que hay pocos comandos integrados, se han creado muchas utilidades para complementarlos. PowerShell es muy diferente. En lugar de procesar texto, el shell procesa objetos. PowerShell también incluye un gran conjunto de comandos integrados con cada una de ellas con una interfaz coherente y pueden funcionar con comandos escritos por el usuario.

Un objeto es una entidad de datos que tiene propiedades (es decir, características) y métodos (es decir, acciones que se pueden realizar en el objeto). Todos los objetos del mismo tipo tienen el mismo conjunto base de propiedades y métodos, pero cada instancia de de un objeto puede tener valores de propiedad diferentes.

Una ventaja importante del uso de objetos es que es mucho más fácil canalizar comandos; es decir, escribir la salida de un comando como entrada para otro comando. (En un entorno de línea de comandos tradicional, la salida de texto de un comando debe manipularse para satisfacer el formato de entrada de otro).

PowerShell incluye un lenguaje de scripting muy enriquecido que admite construcciones para bucles, condiciones, control de flujo y asignación de variables. Este lenguaje tiene características de sintaxis y palabras clave similares a las usadas en el lenguaje de programación de C# (§C.).

Hay cuatro tipos de comandos en PowerShell: scripts, funciones y métodos, cmdlets y comandos nativos.

  • Un archivo de comandos se llama un script . Por convención, un script tiene una extensión de nombre de archivo de .ps1. El nivel superior de un programa de PowerShell es un script que, a su vez, puede invocar otros comandos.

  • PowerShell admite la programación modular mediante procedimientos con nombre. Un procedimiento escrito en PowerShell se denomina función , mientras que un procedimiento externo puesto a disposición del entorno de ejecución (y normalmente escrito en algún otro lenguaje) se denomina método .

  • Un cmdlet (pronunciado "command-let") es una sencilla herramienta de línea de comandos de tarea única. Aunque se puede usar un cmdlet por sí solo, la eficacia completa de los cmdlets se realiza cuando se usan en combinación para realizar tareas complejas.

  • Un comando nativo forma parte del entorno host.

Cada vez que el entorno de tiempo de ejecución de PowerShell comienza la ejecución, comienza lo que se denomina sesión de . A continuación, los comandos se ejecutan en el contexto de esa sesión.

Esta especificación define el lenguaje de PowerShell, los cmdlets integrados y el uso de objetos a través del pipeline.

A diferencia de la mayoría de los shells, que aceptan y devuelven texto, Windows PowerShell se basa en Common Language Runtime (CLR) de .NET Framework y .NET Framework y acepta y devuelve objetos de .NET Framework.