Compartir a través de


Guía del programador de Windows PowerShell

Esta guía del programador está dirigida a desarrolladores interesados en proporcionar un entorno de administración de línea de comandos para los administradores del sistema. Windows PowerShell proporciona una manera sencilla de crear comandos de administración que exponen objetos .NET, al tiempo que permite que Windows PowerShell realice la mayor parte del trabajo.

En el desarrollo de comandos tradicional, es necesario escribir un analizador de parámetros, un enlazador de parámetros, filtros y todas las demás funcionalidades expuestas por cada comando. Windows PowerShell proporciona lo siguiente para facilitar la escritura de comandos:

  • Un eficaz entorno de ejecución de Windows PowerShell (motor de ejecución) con su propio analizador y un mecanismo para enlazar automáticamente parámetros de comando.

  • Utilidades para dar formato y mostrar los resultados de los comandos mediante un intérprete de línea de comandos (CLI).

  • Compatibilidad con altos niveles de funcionalidad (a través de proveedores de Windows PowerShell) que facilitan el acceso a los datos almacenados.

    A un costo pequeño, puede representar un objeto .NET mediante un comando enriquecido o un conjunto de comandos que ofrecerán una experiencia de línea de comandos completa al administrador.

    En la sección siguiente se tratan los conceptos y términos clave de Windows PowerShell. Familiarícese con estos conceptos y términos antes de comenzar el desarrollo.

Acerca de Windows PowerShell

Windows PowerShell define varios tipos de comandos que puede usar en el desarrollo. Estos comandos incluyen: funciones, filtros, scripts, alias y ejecutables (aplicaciones). El tipo de comando principal descrito en esta guía es un comando simple y pequeño denominado "cmdlet". Windows PowerShell proporciona un conjunto de cmdlets y admite completamente la personalización de cmdlets para adaptarse a su entorno. El entorno de ejecución de Windows PowerShell procesa todos los tipos de comandos igual que los cmdlets, mediante canalizaciones.

Además de los comandos, Windows PowerShell admite varios proveedores personalizables de Windows PowerShell que hacen que estén disponibles conjuntos específicos de cmdlets. El shell funciona dentro de la aplicación host proporcionada por Windows PowerShell (powershell.exe), pero es igualmente accesible desde una aplicación host personalizada que puede desarrollar para cumplir requisitos específicos. Para obtener más información, vea Cómo funciona Windows PowerShell.

Windows PowerShell Cmdlets

Un cmdlet es un comando ligero que se usa en el entorno de Windows PowerShell. El entorno de ejecución de Windows PowerShell invoca estos cmdlets en el contexto de scripts de automatización que se proporcionan en la línea de comandos y el entorno de ejecución de Windows PowerShell también los invoca mediante programación a través de las API de Windows PowerShell.

Para obtener más información sobre los cmdlets, consulte Escritura de un cmdlet de Windows PowerShell.

Proveedores de Windows PowerShell

Al realizar tareas administrativas, es posible que el usuario necesite examinar los datos almacenados en un almacén de datos (por ejemplo, el sistema de archivos, el Registro de Windows o un almacén de certificados). Para facilitar estas operaciones, Windows PowerShell define un módulo denominado proveedor de Windows PowerShell que se puede usar para acceder a un almacén de datos específico, como el Registro de Windows. Cada proveedor admite un conjunto de cmdlets relacionados para proporcionar al usuario una vista simétrica de los datos del almacén.

Windows PowerShell proporciona varios proveedores predeterminados de Windows PowerShell. Por ejemplo, el proveedor del Registro admite la navegación y manipulación del Registro de Windows. Las claves del Registro se representan como elementos y los valores del Registro se tratan como propiedades.

Si expone un almacén de datos al que tendrá que acceder el usuario, es posible que tenga que escribir su propio proveedor de Windows PowerShell, como se describe en Creación de proveedores de Windows PowerShell. Para obtener más información sobre los proveedores de PowerShell de Windows, vea Funcionamiento de Windows PowerShell.

Aplicación host

Windows PowerShell incluye la aplicación host predeterminada powershell.exe, que es una aplicación de consola que interactúa con el usuario y hospeda el entorno de ejecución de Windows PowerShell mediante una ventana de consola.

Solo rara vez tendrá que escribir su propia aplicación host para Windows PowerShell, aunque se admite la personalización. Un caso en el que es posible que necesite su propia aplicación es cuando tiene un requisito para una interfaz gráfica de usuario más completa que la interfaz proporcionada por la aplicación host predeterminada. También puede que quiera una aplicación personalizada al basar la GUI en la línea de comandos. Para obtener más información, vea Creación de una aplicación host de Windows PowerShell.

Windows PowerShell Runtime

El entorno de ejecución de Windows PowerShell es el motor de ejecución que implementa el procesamiento de comandos. Incluye las clases que proporcionan la interfaz entre la aplicación host y los comandos y proveedores de Windows PowerShell. El entorno de ejecución de Windows PowerShell se implementa como un objeto de espacio de ejecución para la sesión actual de Windows PowerShell, que es el entorno operativo en el que se ejecuta el shell y los comandos. Para obtener información operativa, consulte Cómo funciona Windows PowerShell.

Lenguaje de Windows PowerShell

El lenguaje de Windows PowerShell proporciona funciones y mecanismos de scripting para invocar comandos. Para obtener información completa de scripting, consulte la Referencia del lenguaje de Windows PowerShell que se incluye con Windows PowerShell.

Sistema de tipos extendidos (ETS)

Windows PowerShell proporciona acceso a una variedad de objetos diferentes, como objetos .NET y XML. Como consecuencia, para presentar una abstracción común para todos los tipos de objetos, el shell usa su sistema de tipos extendidos (ETS). La mayoría de la funcionalidad ETS es transparente para el usuario, pero el script o el desarrollador de .NET lo usa para los siguientes fines:

  • Ver un subconjunto de los miembros de objetos específicos. Windows PowerShell proporciona una vista "adaptada" de varios tipos de objetos específicos.

  • Agregar miembros a objetos existentes.

  • Acceso a objetos serializados.

  • Escribir objetos personalizados.

    Con ETS, puede crear nuevos "tipos" flexibles compatibles con el lenguaje de Windows PowerShell. Si es desarrollador de .NET, puede trabajar con objetos con la misma semántica que el lenguaje de Windows PowerShell se aplica al scripting, por ejemplo, para determinar si un objeto se evalúa como true.

    Para obtener más información sobre ETS y cómo Usa Windows PowerShell objetos, consulte Conceptos de objetos de Windows PowerShell.

Programación para Windows PowerShell

Windows PowerShell define su código para comandos, proveedores y otros módulos de programa mediante .NET Framework. No está limitado al uso de Microsoft Visual Studio al crear módulos personalizados para Windows PowerShell, aunque se sabe que los ejemplos proporcionados en esta guía se ejecutan en esta herramienta. Puede usar cualquier lenguaje .NET que admita la herencia de clases y el uso de atributos. En algunos casos, las API de Windows PowerShell requieren que el lenguaje de programación pueda acceder a tipos genéricos.

Referencia del programador

Para obtener referencia al desarrollar para Windows PowerShell, consulte la SDK de Windows PowerShell.

Introducción al uso de Windows PowerShell

Para obtener más información sobre cómo empezar a usar el shell de Windows PowerShell, consulte el Introducción a Windows PowerShell incluido con Windows PowerShell. También se proporciona un documento tri-plegado de referencia rápida como primer para el uso de cmdlets.

Contenido de esta guía

Tema Definición
Cómo crear un proveedor de Windows PowerShell En esta sección se describe cómo compilar un proveedor de Windows PowerShell para Windows PowerShell.
Cómo crear una aplicación host de Windows PowerShell En esta sección se describe cómo escribir una aplicación host que manipula un espacio de ejecución y cómo escribir una aplicación host que implementa su propio host personalizado.
Cómo crear un complemento de Windows PowerShell En esta sección se describe cómo crear un complemento que se usa para registrar todos los cmdlets y proveedores en un ensamblado y cómo crear un complemento personalizado.
Cómo crear un shell de consola En esta sección se describe cómo crear un shell de consola que no sea extensible.
conceptos de Windows PowerShell Esta sección contiene información conceptual que le ayudará a comprender Windows PowerShell desde el punto de vista de un desarrollador.

Véase también

del SDK de Windows PowerShell