Elevator Pitch
Maybe you’re not “a dev”. You don’t really know C#. Why would you want to write a compiled PowerShell cmdlet? Well, compiled cmdlets are necessary to play with other C# libraries/systems, and they’re usually faster, and end users can’t mess with them. It’s easier than you think to get going.
Description
PowerShell is great because it abstracts a lot of the “developery” stuff away from the person writing PowerShell code, and lets them focus on writing scripts and modules. That’s great! That is, until you have to want to do something that PowerShell won’t let you do, or you want to put a PowerShell front end on some C# code your devs developed, or your end users keep modifying parts of the scripts you’re deploying since they can just open them in notepad and edit them.
Writing compiled PowerShell cmdlets is easier than a lot of people think, and a seasoned PowerShell Pro will pick it up quickly.
Notes
I attended a session last year by Adam Driscoll where he talked about a lot of the challenges he faced while writing one of his awesome projects. The session was terrific, but it was clear that a lot of the people in the room had no idea about how to write PowerShell cmdlets in C#, and were left in the dust. Since so many PowerShell pros come from an ops background, lots of them are missing out on the getting started info that would help them write compiled code.