Mike's goal is to build a framework for managing set-up and execution of specific instances
of this process using PowerShell cmdlets linked in a pipeline architecture. His intent is to create
a single fixed framework with plug-in components to automate the process:
-
Support each of the process steps listed above by extracting plug-in components from a gallery,
or creating a plug-in that, after proving its use in the current process, is registered with
the gallery.
-
Use interfaces and object factories for each processing stage to isolate framework mechanics
from application specific processing. That enables substitution of plug-ins. So each plug-in is required to implement the interface
and object factory for its processing stage: collection, parsing, cleaning, analyzing, viewing, ...
Concept for Implementation:
-
Since the pipeline traffics in objects, PowerShell cmdlets are an effective mechanism for
implementing pipeline stages.
-
A PowerShell cmdlet is an instance of a .Net class that derives from
System.Management.Automation.Cmdlet or its sister PSCmdlet.
-
As a .Net class instance its methods send and receive objects, not just text streams.
Its base Cmdlet class provides hooks to integrate it with the PowerShell execution enviroment.