Bearbetningsmetoder för cmdlet-indataCmdlet Input Processing Methods

Cmdletar måste åsidosätta en eller flera av de metoder för bearbetning av indata som beskrivs i det här avsnittet för att utföra sitt arbete.Cmdlets must override one or more of the input processing methods described in this topic to perform their work. Dessa metoder tillåter att cmdleten utför åtgärder för för bearbetning, bearbetning av indata och efter bearbetning.These methods allow the cmdlet to perform operations of pre-processing, input processing, and post-processing. Med dessa metoder kan du även stoppa cmdlet-bearbetning.These methods also allow you to stop cmdlet processing. Ett mer detaljerat exempel på hur du använder dessa metoder finns i självstudier om SelectStr.For a more detailed example of how to use these methods, see SelectStr Tutorial.

För bearbetnings åtgärderPre-Processing Operations

-Cmdletar ska åsidosätta metoden system. Management. Automation. cmdlet. BeginProcessing för att lägga till eventuella för bearbetnings åtgärder som är giltiga för alla poster som ska bearbetas senare av cmdleten.Cmdlets should override the System.Management.Automation.Cmdlet.BeginProcessing method to add any preprocessing operations that are valid for all the records that will be processed later by the cmdlet. När PowerShell bearbetar en kommando pipeline anropar PowerShell denna metod en gång för varje instans av cmdlet: en i pipelinen.When PowerShell processes a command pipeline, PowerShell calls this method once for each instance of the cmdlet in the pipeline. Mer information om hur PowerShell anropar kommando pipelinen finns i cmdlet bearbetning livs cykel.For more information about how PowerShell invokes the command pipeline, see Cmdlet Processing Lifecycle.

Följande kod visar en implementering av BeginProcessing-metoden.The following code shows an implementation of the BeginProcessing method.

protected override void BeginProcessing()
{
  // Replace the WriteObject method with the logic required by your cmdlet.
  WriteObject("This is a test of the BeginProcessing template.");
}

Åtgärder för bearbetning av aktiviteterInput Processing Operations

-Cmdletar kan åsidosätta metoden system. Management. Automation. cmdlet. ProcessRecord för att bearbeta InInformationen som skickas till cmdleten.Cmdlets can override the System.Management.Automation.Cmdlet.ProcessRecord method to process the input that is sent to the cmdlet. När PowerShell bearbetar en kommando pipeline anropar PowerShell den här metoden för varje indatamängd som bearbetas av cmdleten.When PowerShell processes a command pipeline, PowerShell calls this method for each input record that is processed by the cmdlet. Mer information om hur PowerShell anropar kommando pipelinen finns i cmdlet bearbetning livs cykel.For more information about how PowerShell invokes the command pipeline, see Cmdlet Processing Lifecycle.

Följande kod visar en implementering av ProcessRecord-metoden.The following code shows an implementation of the ProcessRecord method.

protected override void ProcessRecord()
{
  // Replace the WriteObject method with the logic required by your cmdlet.
  WriteObject("This is a test of the ProcessRecord template.");
}

Efter bearbetnings åtgärderPost-Processing Operations

Cmdletar ska åsidosätta metoden system. Management. Automation. cmdlet. EndProcessing för att lägga till eventuella efter bearbetnings åtgärder som är giltiga för alla poster som bearbetats av cmdleten.Cmdlets should override the System.Management.Automation.Cmdlet.EndProcessing method to add any post-processing operations that are valid for all the records that were processed by the cmdlet. Din cmdlet kan till exempel behöva rensa objektvariabler när den har bearbetats.For example, your cmdlet might have to clean up object variables after it is finished processing.

När PowerShell bearbetar en kommando pipeline anropar PowerShell denna metod en gång för varje instans av cmdlet: en i pipelinen.When PowerShell processes a command pipeline, PowerShell calls this method once for each instance of the cmdlet in the pipeline. Det är dock viktigt att komma ihåg att PowerShell-körningen inte anropar EndProcessing-metoden om cmdleten avbryts halvvägs genom indata-bearbetningen eller om ett avslutande fel inträffar i någon del av cmdleten.However, it is important to remember that the PowerShell runtime will not call the EndProcessing method if the cmdlet is canceled midway through its input processing or if a terminating error occurs in any part of the cmdlet. Därför bör en cmdlet som kräver rensning av objekt implementera hela system. IDisposable -mönstret, inklusive en slutförd, så att körningen kan anropa både EndProcessing-och system. IDisposable. Dispose -metoderna i slutet av bearbetningen.For this reason, a cmdlet that requires object cleanup should implement the complete System.IDisposable pattern, including a finalizer, so that the runtime can call both the EndProcessing and System.IDisposable.Dispose methods at the end of processing. Mer information om hur PowerShell anropar kommando pipelinen finns i cmdlet bearbetning livs cykel.For more information about how PowerShell invokes the command pipeline, see Cmdlet Processing Lifecycle.

Följande kod visar en implementering av metoden EndProcessing.The following code shows an implementation of the EndProcessing method.

protected override void EndProcessing()
{
  // Replace the WriteObject method with the logic required by your cmdlet.
  WriteObject("This is a test of the EndProcessing template.");
}

Se ävenSee Also

System. Management. Automation. cmdlet. BeginProcessingSystem.Management.Automation.Cmdlet.BeginProcessing

System. Management. Automation. cmdlet. ProcessRecordSystem.Management.Automation.Cmdlet.ProcessRecord

System. Management. Automation. cmdlet. EndProcessingSystem.Management.Automation.Cmdlet.EndProcessing

Självstudie om SelectStrSelectStr Tutorial

System. IDisposableSystem.IDisposable

Windows PowerShell Shell SDKWindows PowerShell Shell SDK