Canalización

 

Se aplica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Última modificación del tema: 2006-08-15

Se llama canalización en el Shell de administración de Exchange al hecho de que un cmdlet utilice la salida de otro cmdlet cuando realiza una operación. La canalización se consigue utilizando el símbolo "|" de canal. Todos los verbos del mismo conjunto de nombre-cmdlet pueden utilizar información canalizada procedente de otro comando. Algunos conjuntos de nombre-cmdlet también permiten pasar datos a través del canal a otro conjunto de nombre-cmdlet.

Uso de la canalización para realizar varias acciones

El uso de la canalización para encadenar las acciones de dos o más cmdlets proporciona al Shell de Administración de Exchange la potencia de la composición, lo que permite tomar componentes más pequeños y convertirlos en algo más potente. Por ejemplo, puede utilizar un cmdlet para reunir datos, pasar esos datos a un segundo cmdlet para filtrar los datos a un subconjunto y, a continuación, pasar esos datos a un tercer cmdlet para que actúe sólo sobre el subconjunto.

Por ejemplo, el siguiente comando utiliza la canalización para mover todos los buzones de Server1 a la base de datos Executives en Server2, mediante el cmdlet Move-Mailbox, basándose en la salida que se canaliza desde el cmdlet Get-Mailbox.

Get-Mailbox -Server Server1 | Move-Mailbox -TargetDatabase Server2\Executives

Uso de la canalización para procesar los datos desde otro cmdlet

También puede utilizar la canalización para procesar los datos que se obtienen mediante un cmdlet. Por ejemplo, para una lista de procesos en los que la propiedad del proceso HandleCount es mayor que 400, puede ejecutar el siguiente comando:

Get-Process | Where { $_.HandleCount -gt 400 } | Format-List

En este ejemplo, el cmdlet Get-Process pasa objetos al cmdlet Where-Object. El cmdlet Where-Object elige los objetos que tienen una propiedad llamada HandleCount con un valor superior a 400.

En este ejemplo, la propiedad HandleCount va precedida por la variable $_. Esta variable se crea automáticamente mediante el Shell de administración de Exchange para almacenar el objeto de canal actual. El cmdlet Where-Object  envía a continuación estos objetos al cmdlet Format-List para que aparezcan.

El uso de objetos estructurados, en vez de texto, es una de las características más interesantes del Shell de administración de Exchange. El uso de objetos estructurados forma la base de un modelo de composición muy eficaz para la administración.

Para obtener más información acerca de los objetos estructurados, consulte Datos estructurados.

Uso de la canalización para informar de errores

Para informar de los errores, puede utilizar el canal de errores. Este canal de errores permite informar de errores mientras se ejecuta un comando. Esto significa que no hay que esperar hasta que el comando haya terminado de ejecutarse ni que poner la información del error en el canal estándar de resultados. El cmdlet Write-Error escribe sus argumentos en el canal de errores.

Si desea encontrar más información acerca de la canalización, ejecute el siguiente comando en el Shell de administración de Exchange.

Get-Help About_Pipeline