Invoerverwerkingsmethoden voor cmdlets
Cmdlets moeten een of meer van de invoerverwerkingsmethoden die in dit onderwerp worden beschreven, overschrijven om hun werk uit te voeren. Met deze methoden kan de cmdlet bewerkingen van voorverwerking, invoerverwerking en naverwerking uitvoeren. Met deze methoden kunt u ook de verwerking van cmdlet's stoppen. Zie SelectStr Tutorial voor een gedetailleerder voorbeeld van het gebruik van deze methoden.
Voorverwerkingsbewerkingen
Cmdlets moeten de methode System.Management.Automation.Cmdlet.BeginProcessing overschrijven om voorverwerkingsbewerkingen toe te voegen die geldig zijn voor alle records die later door de cmdlet worden verwerkt. Wanneer PowerShell een opdrachtpijplijn verwerkt, roept PowerShell deze methode eenmaal aan voor elk exemplaar van de cmdlet in de pijplijn. Zie Cmdlet Processing Lifecycle (Levenscyclus van cmdlet-verwerking) voor meer informatie over hoe PowerShell de opdrachtpijplijn aanroept.
De volgende code toont een implementatie van de methode BeginProcessing.
protected override void BeginProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the BeginProcessing template.");
}
Invoerverwerkingsbewerkingen
Cmdlets kunnen de methode System.Management.Automation.Cmdlet.ProcessRecord overschrijven om de invoer te verwerken die naar de cmdlet wordt verzonden. Wanneer PowerShell een opdrachtpijplijn verwerkt, roept PowerShell deze methode aan voor elke invoerrecord die wordt verwerkt door de cmdlet . Zie Cmdlet Processing Lifecycle (Levenscyclus van cmdlet-verwerking) voor meer informatie over hoe PowerShell de opdrachtpijplijn aanroept.
De volgende code toont een implementatie van de methode 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.");
}
Naverwerkingsbewerkingen
Cmdlets moeten de methode System.Management.Automation.Cmdlet.EndProcessing overschrijven om alle naverwerkingsbewerkingen toe te voegen die geldig zijn voor alle records die door de cmdlet zijn verwerkt. Uw cmdlet moet bijvoorbeeld objectvariabelen ops schonen nadat de verwerking is voltooid.
Wanneer PowerShell een opdrachtpijplijn verwerkt, roept PowerShell deze methode eenmaal aan voor elk exemplaar van de cmdlet in de pijplijn. Het is echter belangrijk te onthouden dat de PowerShell-runtime de methode EndProcessing niet aanroept als de cmdlet halverwege wordt geannuleerd tijdens de invoerverwerking of als er een beëindigingsfout optreedt in een deel van de cmdlet. Daarom moet een cmdlet die objectopschoning vereist het volledige System.IDisposable-patroon implementeren, inclusief een finalizer, zodat de runtime zowel de EndProcessing- als system.IDisposable.Dispose-methoden aan het einde van de verwerking kan aanroepen. Zie Cmdlet Processing Lifecycle (Levenscyclus van cmdlet-verwerking) voor meer informatie over hoe PowerShell de opdrachtpijplijn aanroept.
De volgende code toont een implementatie van de EndProcessing-methode.
protected override void EndProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the EndProcessing template.");
}
Zie ook
System.Management.Automation.Cmdlet.BeginProcessing
System.Management.Automation.Cmdlet.ProcessRecord
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub Issues geleidelijk uitfaseren als het feedbackmechanisme voor inhoud. Het wordt vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor