Cmdlet Input Processing Methods (Métodos de Processamento de Entrada de Cmdlets)
Os cmdlets devem sobrepor-se a um ou mais dos métodos de processamento de entrada descritos neste tópico para realizar o seu trabalho. Estes métodos permitem que o cmdlet efetue operações de pré-processamento, processamento de entradas e pós-processamento. Estes métodos também permitem parar o processamento de cmdlet. Para obter um exemplo mais detalhado de como utilizar estes métodos, consulte SelectStr Tutorial.
Operações de Pré-Processamento
Os cmdlets devem substituir o método System.Management.Automation.Cmdlet.BeginProcessing para adicionar quaisquer operações de pré-processamento que sejam válidas para todos os registos que serão processados posteriormente pelo cmdlet. Quando o PowerShell processa um gasoduto de comando, o PowerShell chama este método uma vez para cada instância do cmdlet no oleoduto. Para obter mais informações sobre como a PowerShell invoca o gasoduto de comando, consulte o Ciclo de Vida de Processamento de Cmdlet.
O código que se segue mostra uma implementação do método Iniciar Processo.
protected override void BeginProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the BeginProcessing template.");
}
Operações de Processamento de Entradas
Os cmdlets podem sobrepor-se ao método System.Management.Automation.Cmdlet.ProcessRecord para processar a entrada que é enviada para o cmdlet. Quando o PowerShell processa um pipeline de comando, o PowerShell chama este método para cada registo de entrada que é processado pelo cmdlet. Para obter mais informações sobre como a PowerShell invoca o gasoduto de comando, consulte o Ciclo de Vida de Processamento de Cmdlet.
O código que se segue mostra uma implementação do método ProcessRecord.
protected override void ProcessRecord()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the ProcessRecord template.");
}
Operações pós-processamento
Os cmdlets devem sobrepor-se ao método System.Management.Automation.Cmdlet.EndProcessing para adicionar quaisquer operações pós-processamento que sejam válidas para todos os registos que foram processados pelo cmdlet. Por exemplo, o seu cmdlet pode ter de limpar as variáveis de objetos depois de ter terminado o processamento.
Quando o PowerShell processa um gasoduto de comando, o PowerShell chama este método uma vez para cada instância do cmdlet no oleoduto. No entanto, é importante lembrar que o tempo de funcionamento powerShell não chamará o método EndProcessing se o cmdlet for cancelado a meio do seu processamento de entrada ou se ocorrer um erro de terminação em qualquer parte do cmdlet. Por esta razão, um cmdlet que requer a limpeza de objetos deve implementar o padrão completo system.IDisposable, incluindo um finalizador, para que o tempo de execução possa chamar tanto o EndProcessing como o System.IDisposable.Dispose métodos no final do processamento. Para obter mais informações sobre como a PowerShell invoca o gasoduto de comando, consulte o Ciclo de Vida de Processamento de Cmdlet.
O seguinte código mostra uma implementação do método EndProcessing.
protected override void EndProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the EndProcessing template.");
}
Consulte também
System.Management.Automation.Cmdlet.BeginProcessing
System.Management.Automation.Cmdlet.ProcessRecord
System.Management.Automation.Cmdlet.EndProcessing
Comentários
Submeter e ver comentários