Combinazione di cmdlet tramite piping

Windows PowerShell si basa su .NET Common Language Runtime (CLR) e su .NET Framework. Di conseguenza, i cmdlet di Windows PowerShell accettano e restituiscono oggetti .NET, a differenza della maggior parte delle shell da riga di comando, che accettano e restituiscono testo. Un modo in cui Windows PowerShell e AppFabric utilizzano questa funzionalità consiste nel passare i risultati di esecuzione di un cmdlet come input per un altro cmdlet. Il processo di combinazione dei cmdlet è noto come piping o canalizzazione.

Il piping può essere molto utile per automatizzare la creazione di input a un cmdlet. Uno scenario comune di piping in AppFabric consiste nel reindirizzamento del risultato di un cmdlet Get a un cmdlet di controllo, un cmdlet di configurazione o un altro cmdlet Get. Ad esempio, si può utilizzare un cmdlet Get-Application reindirizzato a un cmdlet Get-ApplicationService per restituire informazioni su tutti i servizi distribuiti per ciascuna applicazione eseguita in un sito Web. L'esecuzione del cmdlet Get-Application per un sito Web restituisce informazioni su tutte le applicazioni in esecuzione nel sito. Il piping di tali informazioni (specificamente, il nome di ciascuna applicazione) a un cmdlet Get-ApplicationService restituisce informazioni su tutti i servizi distribuiti per ciascuna applicazione. Eseguire questa attività manualmente sarebbe impegnativo; utilizzando il piping, è sufficiente creare una riga di codice.

Per reindirizzare due cmdlet in un singolo comando, li si connette mediante un carattere barra verticale. L'output del produttore cmdlet a sinistra del carattere barra verticale viene passato, o reindirizzato, al consumer cmdlet a destra del carattere barra verticale. Ciò non è possibile con tutti i cmdlet. Due condizioni lo consentono: se il tipo di dati dell'oggetto di output del produttore cmdlet corrisponde a quello dell'oggetto di input del consumer cmdlet oppure se il nome di una proprietà nell'oggetto di output del produttore cmdlet corrisponde al nome del parametro del consumer cmdlet.

È possibile reindirizzare l'oggetto di output prodotto da un consumer cmdlet a un altro cmdlet, e così via. Il risultato è una catena di comandi, o pipeline, che consiste in una serie di semplici comandi.

Per un elenco di cmdlet di AppFabric che possono essere combinati tramite piping, vedere Piping di cmdlet. Per ulteriori informazioni sugli oggetti generati da producer di cmdlet e utilizzati dai consumer di cmdlet, vedere Tipi di dati cmdlet.

Per ulteriori informazioni sul funzionamento del piping, vedere l'argomento about_Pipelines in Microsoft TechNet (http://go.microsoft.com/fwlink/?LinkId=113246).

  2011-12-05
Mostra: