Compartir vía


Combinación de Cmdlets mediante canalizaciones

Windows PowerShell se basa en CLR (Common Language Runtime) de .NET y .NET Framework. Como resultado, los cmdlets de Windows PowerShell aceptan y devuelven objetos .NET, a diferencia de la mayor parte de los shells de la línea de comandos, que aceptan y devuelven texto. Un modo para que Windows PowerShell y AppFabric usen esta funcionalidad es transmitir los resultados de la ejecución de un cmdlet como entrada para otro cmdlet. Este proceso de combinar cmdlets se conoce como canalización.

La canalización puede resultar muy útil para automatizar la creación de entradas a un cmdlet. Un escenario habitual para la canalización en AppFabric es canalizar el resultado de un cmdlet Get a uno de control, de configuración o a otro Get. Por ejemplo, puede usar un cmdlet Get-Application canalizado a un cmdlet Get-ApplicationService para devolver información acerca de todos los servicios implementados para cada aplicación que se ejecuta bajo un sitio web. La ejecución del cmdlet Get-Application para un sitio web devuelve información acerca de todas las aplicaciones que se ejecutan bajo el sitio. Canalizar dicha información (específicamente, el nombre de cada aplicación) a un cmdlet Get-ApplicationService devuelve información acerca de todos los servicios implementados para cada aplicación. Hacerlo manualmente sería una tarea ingente; con la canalización, sólo es necesario crear una línea de código.

Para canalizar dos cmdlets en un único comando, debe conectarlos con un carácter de canalización. La salida del productor del cmdlet a la izquierda del carácter de canalización se transfiere, o canaliza, al consumidor del cmdlet a la derecha del carácter de canalización. Esto no es posible con todos los cmdlets. Dos condiciones lo permiten: si el tipo de datos del objeto de salida del productor del cmdlet coincide con el del objeto de entrada del consumidor del cmdlet, o bien si el nombre de una propiedad en el objeto de salida del productor del cmdlet coincide con el nombre de un parámetro del consumidor del cmdlet.

Puede canalizar el objeto de salida producido por un consumidor del cmdlet a otro cmdlet, y así sucesivamente. El resultado es una cadena de comandos, o canalización, que consta de una serie de comandos sencillos.

Para obtener una lista de los cmdlets de AppFabric que se pueden combinar mediante la canalización, vea Canalización de cmdlets. Para obtener más información acerca de los objetos producidos por los productores de cmdlets y consumidos por los consumidores de cmdlets, vea Tipos de datos de cmdlets.

Para obtener más información acerca del funcionamiento de la canalización, vea el tema about_Pipelines en Microsoft TechNet (https://go.microsoft.com/fwlink/?LinkId=113246) (en inglés).

  2012-03-05