To participate in the PowerShell environment, a cmdlet must override at least one of the input processing methods on System.Management.Automation.Cmdlet.
BeginProcessingCalled one time. Pre-processing functionality.
ProcessRecordCalled multiple times. Record-by-record functionality.
EndProcessingCalled one time. Post-processing functionality.
These methods are where the cmdlet's work runs. A cmdlet that overrides none does nothing when invoked in the pipeline.