I've been playing withPowerWF for a few hours this afternoon, and it's a tool I think some of you might want to have a look at. Maybe not
all of you; keep reading for those details.
PowerShell pipelines are normally read horizontally, from left to right:
Get-Process | Sort -descending | Select -first 10 | ConvertTo-HTML | Out-File procs.html
Hopefully, you can imagine turning that 90 degrees into a vertical stack of tasks, something that looks like a Visio flowchart perhaps. Well, that's basically what PowerWF does. It scans your system to find all your PowerShell modules and snapins, and then makes all of those cmdlets available for drag-and-drop task construction. It also offers a ton of other built-in capabilities, such as the ability to store cmdlet output in an in-memory data table, query data from that table, select columns from that table, join the data to other in-memory tables, and produce an on-screen data grid. Or send the data to System Center Operations Manager. Or produce an output file. Or whatever.
Then it can take that entire list of tasks and compile them into a PowerShell cmdlet or snapin, which you can then distribute standalone to other users. The possibilities are staggering: Model whatever business processes you like, and then make a cmdlet that does the whole process. You can also schedule workflows as a task, have them run by a workflow agent, or lots more. The possibilities are truly wide-ranging.
As it stands right now, the product is pretty deeply technical. It helps to have a little underlying .NET Framework expertise, like knowing what a "dataset" or "datagrid" is, and knowing a bit about Windows Workflow Foundation (WWF). The product does come with a bunch of sample workflows that can get you started, although you'll still need to have some of that underlying .NET/programmer brainpower to make sense of some of them.
If you have some of that background brainpower, take a look at the product. There's a free trial, and it's easy to play with it for a few hours (which I've just finished doing) and get pretty excited about the possibilities. I'm thinking I could build a pretty awesome new user provisioning workflow, compile it into a cmdlet, and then easily give that to a technician to just run whenever a new user comes aboard. There's a lot of power here to wrap your head around, I think.
Anyone out there used PowerWF in production? What do you think of it?