PowerShell Workflow

Hi, is PowerShell workflow suitable solution for installation/configuration process of some infrastructure platform where you have fixed steps needed to be executed in given order (installation, configuration, stopping services, patching, starting services etc.)? First time I learned about workflows in PowerShell it was said that their practical usage was still very limited. Speaking of which, how things are going in PowerShell v5.1? Currently I am relying on my custom PowerShell module with myriad of advanced functions which I call manually to execute given task as a part of installation/configuration process.

I suggest you read this:

The article cited above is somewhat out of date.

A number of the modules shipped in Windows have been shown to work with PowerShell v6 though there are some significant gaps such as the Active Directory cmdlets

PowerShell v6 DOES NOT contain workflow. Workflows have been removed from PowerShell v6. The PowerShell v6 development plan includes a new set of cmdlets for managing runspaces - this is how you’ll get the parallelisation that workflow gives you today.

PowerShell v6 has a significant subset of PowerShell v5.1 functionality plus some new functionality.

This is going to cause a lot of confusion until the v6 development phases are complete (there is already discussion of a v6.1).

PowerShell v6 should be regarded as a very large breaking change. If you only have Windows machines it won’t bring you any benefit in the short term and you’ll be better off sticking with v5.1. if you operate a mixed Windows/Linux environment then there’ll be some gains to be had by using PowerShell v6 - remember its still in beta - though you’ll need to work out how you’ll manage the Windows side of your environment. This is where the side-by-side installation of v6 and v5.1 could give you the best of both worlds

I hope PowerShell v6 eventually will provide at least the same level of functionality as v5.1 (core cmdlets, modules for managing various windows server roles and features, active directory, exchange, sql, powercli …) - speaking of managing only Windows environments. When it comes to managing Linux, all system engineers with PowerShell experience who consider move to Linux will embrace possibility to manage Linux servers using PowerShell v6 but I doubt PowerShell will be able to manage everything in Linux like bash shell. Trend is obvious, PowerShell as cross-platform framework, SQL on Linux … As I said my biggest concern is that PowerShell will lose too much functionality in v6 and that would be disastrous for us who use it on regular basis for managing almost everything - automating administrative tasks in particular (Windows environments). Speaking of other areas such as Linux or network devices where PowerShell is new tool at our disposal I can not believe it could ever be complete alternative for bash and cisco ios. Similar applies to managing SQL server with PowerShell - it is ideal tool for working in conjuction with T-SQL but chances of complete replacement of T-SQL are very remote (MS probably does not want to do that anyway).