Answer by Shawn_Melton ·
Clarification on terms but a cmdlet (command-let) is a command in PowerShell tied to a DLL. So if you are writing that then you would be writing C# and compiling the DLL file. All of the code executed by the `Verb-Noun` command in PowerShell is in that DLL file. This is how many of the commands in the `sqlserver` module are written.
A function is a collection of PowerShell commands (e.g. `Get-Service`, `Get-CimInstance`, etc.) that you can manipulate just by opening it in a text editor.
If you want to develop commands for manipulating or managing a storage cluster, just write out the common task you would normally do and then expand that to include inputs and outputs. You wrap that into a function and you are done. One thing to note is make sure you are using approved verbs if you plan on developing this into a module to share. (Otherwise PowerShell will spit out warnings everytime you import the module).