Recursive cmdlets with pipeline support

I have a cmdlet I have written where I only want the BEGIN and END blocks to be invoked once each, however the PROCESS block is recursive.

Is their an elegant way to call the PROCESS block instead of the cmdlet itself to accommodate the recursive behavior and skip the BEGIN/END block multiple invocation?


You’d have to make a second, recursive function and call that from the process block, instead of making the advanced function itself recursive.

That was what I was worried about, it makes more sense to simply move the BEGIN and END blocks out manually versus create a whole new function with only a PROCESS block, that is a shame…