Today Veeam released an update to it's popular Virtual Infrastructure Reporting platform, Veeam Reporter 3.5. In the Enterprise version one of the new features is PowerShell Extensions. As we were preparing the release, I had some discussions with Alan Renouf and Hal Rottenberg about how we implemented it. They immediately raised some concerns regarding our implementation and I'd like to take the time to address those here. We were too close to the release to address this but we will address it in a future hotfix. Please understand I'm not a PowerShell expert, I'd just like to let everyone know about this feature and get suggestions for how to make it better.

The idea behind Veeam's PowerShell Extensions is to allow people who want to query vCenter using a PS script to query Veeam's Reporter Enterprise database instead. We wanted to provide an easy way to do this without having to completely re-write pre-existing scripts that have been written for the VI Toolkit. Another advantage is that Reporter Enterprise saves "points-in-time" of your Virtual Infrastructure, so if you want to run a PS script comparing last month to this month, the data is there, it's just a matter of connecting to it.

In the process, we ended-up messing with the Verb-Noun syntax of PowerShell and we understand (now) that the PowerShell community will not be happy with this. For instance, in the VI Toolkit you have the command "Get-VM". Rather than change the noun (VM) Veeam decided to change the verb, so with the Veeam PS Extensions the command is "_Get-VM". Essenitially all the verbs that can be used in the VI Toolkit can be used with the Veeam Extensions just by adding an "_" in front of the verb.

We understand now that this is wrong and we will be working to fix it. One suggestion is to leave the verb alone and change the noun so that we would have "Get-VRVM" where the VR=Veeam Reporter. Another suggestion is to use "VeeamGet-VM". Both of these options are valid, what do you think? We'd love to know your feedback!

Hal Rottenberg has invited me to be on his PowerShell podcast on April 30 and I'm looking forward to being there and talking about how we've implemented this and getting suggestions for how to improve it.

You can check out the Veeam Reporter Enterprise User Guide for a full description of the PowerShell Extensions.



GD Star Rating
An apology to the PowerShell Community, 5.0 out of 5 based on 1 rating

Veeam Availability Suite — Download free 30-day trial

Download now
  • jefferyhicks

    Personally, I’m a big fan of custom nouns. When I run PowerShell classes I tell students about the naming conventions, the risks of name collisions and what most vendors are doing. I think a custom noun removes all ambiguity, plus it makes it easy for users to discover your cmdlets using help:

    help VR*

    Jeffery Hicks
    Microsoft PowerShell MVP
    follow me: http://www.twitter.com/JeffHicks

    “Those who forget to script are doomed to repeat their work.”

    Now Available: Managing Active Directory With Windows PowerShell: TFM

  • cshanklin

    In the VI Toolkit Community Extensions we prefix all nouns with Tke to eliminate possible confusion.

    Example: Get-TkeSnapshotExtended returns snapshots with an extra property (the size of the property). Your approach certainly works, but I like this one better.

  • chamdor

    I second the design by cshanklin.

  • halr9000

    Look for a blog post from the PowerShell team in the near future, they intend to address this issue in a big way by highlighting some upcoming V2 features.