When comparing MS PowerShell vs Cake, the Slant community recommends Cake for most people. In the question“What are the best scripting languages for DevOps tasks?” Cake is ranked 1st while MS PowerShell is ranked 3rd. The most important reason people chose Cake is:
Standard support for MSBuild, MSTest, xUnit, NUnit, NuGet, ILMerge, WiX and SignTool.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Helpful Help
The help system is designed to evolve over time; running update-help
downloads the latest content.
When searching for help on items, you can simply type help commandname
to get information about a command.
If you're not sure what you're looking for, but have a rough idea, you can search on partial command names, or even specify specific verbs to get a list of commands potentially of interest; e.g. help -verb write
.
The information in help gives a good overview of the commands you're looking at, along with code examples, so you can see real-world usage without resorting to the web.
Pro Splatting
When calling a method with multiple parameters, rather than passing one variable per parameter you're able to "splat" one variable to the method, with the parameters taking their values from its properties.
Pro Pipeline
Commands can be chained via the pipeline, allowing output from one to be cleanly fed as input to the next.
Pro Chocolatey Package
PowerShell is installable through Chocolatey.
Pro Extensible
The language can wrap and interact with code written in other language's, making it highly extensible.
Pro Multi-Platform (ish)
Though Windows Powershell only works on Windows, the open source implementation Pash (http://pash.sourceforge.net/) allows the same language to be run on other OSes.
Pro Tools support
Standard support for MSBuild, MSTest, xUnit, NUnit, NuGet, ILMerge, WiX and SignTool.
Pro Cross platform
Windows, Linux and macOS versions available.
Cons
Con Very verbose
The commands themselves, as well as the output and error messages, are VERY verbose
Con No GUI
Everything is script based, there is no graphical front end.