Parancsmag bemeneti feldolgozási módszereiCmdlet Input Processing Methods

A parancsmagok a jelen témakörben ismertetett egy vagy több beviteli feldolgozási módszert felülbírálják a munkájuk elvégzéséhez.Cmdlets must override one or more of the input processing methods described in this topic to perform their work. Ezek a módszerek lehetővé teszik a parancsmag számára az előfeldolgozás, a beviteli feldolgozás és a feldolgozás utáni műveletek végrehajtását.These methods allow the cmdlet to perform operations of pre-processing, input processing, and post-processing. Ezek a módszerek lehetővé teszik a parancsmagok feldolgozásának leállítását is.These methods also allow you to stop cmdlet processing. A módszerek használatáról részletesebb példát a SelectStr oktatóanyagbantalál.For a more detailed example of how to use these methods, see SelectStr Tutorial.

Feldolgozás előtti műveletekPre-Processing Operations

A parancsmagoknak felül kell bírálniuk a System. Management. Automation. parancsmag. BeginProcessing metódust, amely a parancsmag által később feldolgozandó összes rekordra érvényes előfeldolgozási műveletek hozzáadását teszi lehetővé.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. Amikor a PowerShell feldolgozza a parancs folyamatát, a PowerShell meghívja ezt a metódust a parancsmag minden egyes példánya esetében.When PowerShell processes a command pipeline, PowerShell calls this method once for each instance of the cmdlet in the pipeline. További információ arról, hogyan hívja meg a PowerShell a parancssori folyamatot: a parancsmag feldolgozási életciklusa.For more information about how PowerShell invokes the command pipeline, see Cmdlet Processing Lifecycle.

A következő kód a BeginProcessing metódus megvalósítását mutatja be.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.");
}

Bemeneti feldolgozási műveletekInput Processing Operations

A parancsmagok felülírhatják a System. Management. Automation. parancsmag. ProcessRecord metódust a parancsmagnak eljuttatott bemenet feldolgozásához.Cmdlets can override the System.Management.Automation.Cmdlet.ProcessRecord method to process the input that is sent to the cmdlet. Amikor a PowerShell feldolgozza a parancs folyamatát, a PowerShell meghívja ezt a metódust minden olyan bemeneti rekord esetében, amelyet a parancsmag dolgoz fel.When PowerShell processes a command pipeline, PowerShell calls this method for each input record that is processed by the cmdlet. További információ arról, hogyan hívja meg a PowerShell a parancssori folyamatot: a parancsmag feldolgozási életciklusa.For more information about how PowerShell invokes the command pipeline, see Cmdlet Processing Lifecycle.

A következő kód a ProcessRecord metódus megvalósítását mutatja be.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.");
}

Feldolgozás utáni műveletekPost-Processing Operations

A parancsmagoknak felül kell bírálniuk a System. Management. Automation. parancsmag. EndProcessing metódust, amely a parancsmag által feldolgozott összes rekord esetében érvényes, post-Processing műveleteket adhat hozzá.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. Előfordulhat például, hogy a parancsmagnak meg kell tisztítania az objektumok változóit a feldolgozás befejezése után.For example, your cmdlet might have to clean up object variables after it is finished processing.

Amikor a PowerShell feldolgozza a parancs folyamatát, a PowerShell meghívja ezt a metódust a parancsmag minden egyes példánya esetében.When PowerShell processes a command pipeline, PowerShell calls this method once for each instance of the cmdlet in the pipeline. Fontos azonban megjegyezni, hogy a PowerShell-futtatókörnyezet nem hívja meg a EndProcessing metódust, ha a parancsmagot a bemeneti feldolgozás során megszakították, vagy ha a parancsmag bármely részén leáll egy megszakítási hiba.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. Emiatt az objektum-tisztítást igénylő parancsmagnak a teljes System. IDisposable mintát kell megvalósítania, beleértve a véglegesítést is, hogy a futtatókörnyezet a EndProcessing és a System. IDisposable. a feldolgozás végén is meghívja a metódust.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. További információ arról, hogyan hívja meg a PowerShell a parancssori folyamatot: a parancsmag feldolgozási életciklusa.For more information about how PowerShell invokes the command pipeline, see Cmdlet Processing Lifecycle.

A következő kód a EndProcessing metódus megvalósítását mutatja be.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.");
}

Lásd még:See Also

System. Management. Automation. parancsmag. BeginProcessingSystem.Management.Automation.Cmdlet.BeginProcessing

System. Management. Automation. parancsmag. ProcessRecordSystem.Management.Automation.Cmdlet.ProcessRecord

System. Management. Automation. parancsmag. EndProcessingSystem.Management.Automation.Cmdlet.EndProcessing

SelectStr-oktatóanyagSelectStr Tutorial

System. IDisposableSystem.IDisposable

Windows PowerShell rendszerhéj SDKWindows PowerShell Shell SDK