Combinando cmdlets usando pipe

O Windows PowerShell está compilado sobre o CLR (common language runtime) do .NET e do .NET Framework. Como resultado, os cmdlets do Windows PowerShell aceitam e retornam objetos do .NET, diferentemente da maioria dos shells de linha de comando, que aceitam e retornam texto. Um modo que o Windows PowerShell e o AppFabric usam essa funcionalidade é passando os resultados da execução de um cmdlet como entrada para outro cmdlet. Esse processo de cmdlets combinados é conhecido como pipe ou pipelining.

Pipe pode ser muito útil ao automatizar a criação de entrada para um cmdlet. Uma situação comum de pipe no AppFabric é redirecionar o resultado de um cmdlet Get para um cmdlet de controle, de configuração ou outro cmdlet Get. Por exemplo, você pode usar um cmdlet Get-Application redirecionado para um cmdlet Get-ApplicationService para retornar informações sobre todos os serviços implantados em cada aplicativo executado em um site. Executar o cmdlet Get-Application em um site retornará informações sobre todos os aplicativos executados no site. Redirecionar essas informações (especialmente, o nome de cada aplicativo) para um cmdlet Get-ApplicationService retornará informações sobre todos os serviços implantados em cada aplicativo. Fazer isso manualmente é uma grande tarefa; usando piping, você só pode criar um linha de código.

Para redirecionar cmdlets em um único comando, conecte-os a um caractere de pipe. A saída cmdlet produtor para a esquerda do caractere de pipe é passada, ou redirecionada, para o cmdlet consumidor à direita do caractere de pipe. Isso não é possível com todos os cmdlets. Duas condições tornam isso possível: se o tipo de dados do objeto de saída do cmdlet produtor corresponder ao tipo de dados do objeto de entrada do cmdlet consumidor, ou se o nome de uma propriedade no objeto de saída do cmdlet produtor corresponder ao nome de um parâmetro do cmdlet consumidor.

Você pode redirecionar o objeto de saída produzido por um cmdlet consumidor para outro cmdlet e assim por diante. O resultado é uma cadeia de comandos, ou pipeline, que consiste em uma série de comandos simples.

Para obter uma lista de cmdlets do AppFabric que podem ser combinados usando pipe, consulte Pipe de cmdlet. Para obter mais informações sobre os objetos produzidos por cmdlets produtores e consumidos por cmdlets consumidores, consulte Tipos de dados de cmdlet.

Para obter mais informações sobre como o piping funciona, consulte o tópico about_Pipelines (a página pode estar em inglês) no Microsoft TechNet (https://go.microsoft.com/fwlink/?LinkId=113246).

  2011-12-05