OK. So you have successfully installed and configured a Hyper-V Host (Hypervisor) on Windows 2012 and created your virtual machines and ready to get rolling. First thing you want to do is add this host as a NetVault client and get it backed up with the Quest NetVault - Plugin for Hyper-V.
So, you install your Hyper-V Plugin on the host, configure it with your Hyper-V Admin credentials, go to expand the plugin and BOOM! No VMs.
Finding that to be odd, you go back to your Hyper-V Manager to see that all your VMs are there, everything looks good to go, so why are you not seeing them in NetVault? You go through some typical checks, is it my credentials? Did I miss any steps in the configuration? You backtrace the steps you took, and thanks to your fastidiousness you are sure everything is in place for this to work.
What could be going wrong here you wonder? You want to call support, but again, thanks to your fastidiousness, you remembered from reading the NetVault: Plugin for Hyper-V Administrator Guide that NetVault uses PowerShell cmdlets to query the host for various outputs, so you decide, "Why not? I will run the same commands from Powershell that NetVault would use and see if it returns back anything."
So, off you go onto the host, and into Powershell. You go straight to the NetVault home directory and into "...\scripts\HyperV\v2" and run PS command:
The command is executed but returns nothing.
You then try: >GetVmFileList - and it returns:
Null argument on input
This seems to return what you would expect if the plugin also does not seem able to query the VMs, however you know that in fact that they reside on this host and are present.
So, now you are stuck, what to do next? Why would this not be working out of the box? What is missing?
The truth is, its actually something very simple, but can be a bit outside the realm of knowing where to look. So what should you do?
If you had another Hyper-V node readily available, the quickest way to check to see what could be wrong is to run the same commands against a different node. Or, if you have another node that has a NetVault Client and Hyper-V Plugin on it, you can verify it can see all the VMs just fine. So, where is the difference? The servers were built the same exact way, same OS, same version of Hyper-V, almost an exact mirror of the other server.
If you don't have another Hyper-V NetVault client, then you can still go check PS and run the very same commands as you did on the problem client. If it to is successful, then that tells you that there is in fact something missing on the problem host. Sure, the VMs work fine, and nothing is wrong functionally with the VMs or from Hyper-V Manager, but something MUST be missing from this node.
So what is it? Well, I will tell you how to find out.
The output back from the working host displays VMs from the 'Get-Vms' cmdlet in Powershell, and if applicable, your NetVault Clients Hyper-V Plugin.
This tells you that there is likely some type of component missing from the problem host that is not able to query the VMs.
To find out what it is, you will want to run the command:
You will notice here that there is no mention of a Hyper-V module of any kind.
But you've installed Hyper-V, you can see the VMs through the Hyper-V Manager...
However, you will want to check your working node to see what its 'Get-Module' command output is. What you will find, is that on the working node, you will see the Hyper-V Module AND the Hyper-V Management Tools. The latter is what is missing and required for the powershell cmdlets to output the VMs.
So, you simply need to run this command from the problem node in Powershell:
install-windowsfeature -name hyper-v -IncludeManagementTools
This will install the required tools to query the VMs on the host through Powershell, which in turn supply NetVault with the same.
From this stage, you should be able to now go back into NetVault and browse your Hyper-V Host and see all the VMs as you would expect from Hyper-V Manager, and Powershell.
You can now enjoy backing up your VMs with the Quest NetVault Plugin for Hyper-V, and you didn't even have to call Support!