One quick piece of feedback for the cmdlets is the naming scheme. There are quite a few cmdlets with verbs that do not adhere to the standard verb list that is published by Microsoft which can be found here. One example would be rather than "Perform-Failback" the proper name would be "Invoke-Failback." Likewise, rather than "Abort-DRMirrors" the proper name would be "Stop-DRMirror" All nouns should be singular. This is another best practice that the PowerShell team has encouraged developers to use. Using plural nouns can get very confusing, especially if you ever plan to release your products for other lanuages. Just as an example, the PS team has a cmdlet called "Get-ChildItem" - would the plural be "Get-Children" ? Stick to singular nouns.
This is a subtle but important detail. As a powershell user, I can go from VMM to exchange to OnTap PowerShell Toolkit and always have the same set of verbs and understandable nouns. It makes it much easier for us as powershell users to discover the capabilities you have provided in your cmdlets.
One other note is the idea of a noun prefix. The ONTap PowerShell Toolkit use Na for everything. i.e "Get-NaLun" or "Set-NaVol" I would suggest adopting a prefix for your cmdlets as well.. perhaps OC for OnCommand ?