Please leverage PowerShell parameter sets and make the parameter names following the PS guideline. I can take a final look after you've updated the design.