Hyper-V Reporting Script (Powershell & HTML)

It can be difficult to monitor and assess resources in large Hyper-V environments. This Powershell based script helps you to understand virtualization inventory, capacity and general resource availability in your Standalone or Clustered Hyper-V Environment.

 
 
 
 
 
4.9 Star
(96)
30,929 times
Add to favorites
Servers
3/5/2015
E-mail Twitter del.icio.us Digg Facebook
  • HELPPPP!!!! Shared VHD!!!!!!!!!!!!!!!!!!
    1 Posts | Last post August 30, 2017
    • VM VHDX disks with the option "Share the disk across the service tier" enabled, is sum 2 times, how to solve this?
  • Windows Server 2016
    2 Posts | Last post August 25, 2017
    • Hello,
      
      Is there an update for Windows Server 2016 (10.*) ??
      
      Thanks in advance
    • Please open the script in notepad find below:
      if (($OsVersion -like "6.2*") -or ($OsVersion -like "6.3*"))
      
      and change it to
      
      if (($OsVersion -like "6.2*") -or ($OsVersion -like "6.3*") -or ($OsVersion -like "10.0*"))
      
      You should be good to go :) and if your VMs have snapshots/checkpoint or differencing disks then change below as well to fix the bug in the script:
      
      Find below in the script 
      Until (($parentPath -eq $null)
      
      and Replace With 
      Until (($parentPath -eq $null) -or ($parentPath -eq ""))
  • Server 2016 Update
    2 Posts | Last post August 25, 2017
    • Looking for an update for Server 2016 as well....  Looks like a great script and would love to use it, but we are 2016 only.
    • Please open the script in notepad find below:
      if (($OsVersion -like "6.2*") -or ($OsVersion -like "6.3*"))
      
      and change it to
      
      if (($OsVersion -like "6.2*") -or ($OsVersion -like "6.3*") -or ($OsVersion -like "10.0*"))
      
      You should be good to go :) and if your VMs have snapshots/checkpoint or differencing disks then change below as well to fix the bug in the script:
      
      Find below in the script 
      Until (($parentPath -eq $null)
      
      and Replace With 
      Until (($parentPath -eq $null) -or ($parentPath -eq ""))
      
  • Path error
    2 Posts | Last post August 25, 2017
    • When i run the script on a 2016 cluster i get the following error. Can anyone help with this?  Thanks Rob
      
      
      Get-VHD : Cannot validate argument on parameter 'Path'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
      At D:\Tools\Monitoring\Get-HyperVReport.ps1:2245 char:83
      + ...     $vmDiffDisk = Get-VHD -ComputerName $VMHostItem -Path $parentPath
      +                                                               ~~~~~~~~~~~
          + CategoryInfo          : InvalidData: (:) [Get-VHD], ParameterBindingValidationException
          + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.Vhd.PowerShell.Cmdlets.GetVHD
    • I found this yesterday and was looking to provide feedback to owner to update the script but found this Q&A and people have replied to many of the ask already... good job everyone!
      
      Please change the section
      Until (($parentPath -eq $null)
      
      with
      
      Until (($parentPath -eq $null) -or ($parentPath -eq ""))
      
      It took me some time to get to that and find the fix... but someone has answered this in other questions. All the Best!!!
  • Update required for multiple clusters
    1 Posts | Last post August 25, 2017
    • hi, its an awesome report but if we can get it for multiple clusters and/or per-SCVMM server, it will become 'just-perfect' report. looking forward
  • Sum Shared VHD
    1 Posts | Last post August 16, 2017
    • Hello,
      
      I think that your script don't care about shared VHD.
      
      
      On my cluster I've 4 Vm that shared 10 VHD (This VHD can growth to 2.5 Tb). The dashboard report that the CSV here are the shared VHD can get over 10 TB. Sou I think that the script accumulate the information to this shared VHD 4 times.
      
      Can you check please?
  • How to run script from Batch with multiples stand alone servers
    1 Posts | Last post August 04, 2017
    • We have tested your script but we have observed one strange issue, when we run the script by using .BAT file from hyper-v machine then the script is not showing the base Virtual machines.
       
      Can you please help me on this
      
      This is my .BAT file data.
      
      powershell .\HyperVReport.ps1 -VMHost FRCOLSWFSR01P,MXCUASWFSR01P,USCALSWFSR01P,FRILLSWFSR01P,DESTUSWFSR01P,CNSHASWFSR01P,AUSYDSWFSR01P,AEDUBSWFSR01P,ESMADSWFSR01P,ARBUESWFSR01P,INBANSWFSR01P,FRBRESWFSR01P
  • Win 2016
    3 Posts | Last post July 19, 2017
    • Can you please upload a script compatible for Windows Server 2016 OS.
    • Just update the following line to 
      
       if (($osVersion -like "6.2") -or ($osVersion -like "6.3") 
       
      to
      
       if (($osVersion -like "6.2") -or ($osVersion -like "6.3") -or ($osVersion -like "10.0"))
      
      needs to be done in 2 places.  then works fine on 2016
    • Heads up, there needs to be a * after 10.0 if you have a newer 2016 build or it will throw the incorrect OS Version error. Some early posts mention this.
      
       if (($osVersion -like "6.2") -or ($osVersion -like "6.3") -or ($osVersion -like "10.0*"))
  • Do you support VMs that are on SMB fileshare?
    1 Posts | Last post June 23, 2017
    • Based on my tests, the VHDs columns in the HTML says "Does not have a virtual disk" while it is obviously has, since it is running. This returns results for some VMs but for others it is not. I haven't found the difference between VM configs. Any idea?
      
      Anyway, the tool is great, congrats!
      
      Is it possible to generate XML instead of html in case further processing would be needed?
      
      Thanks,
      M.
  • Virtual Machines Table Formatting
    1 Posts | Last post May 23, 2017
    • Is there any way to fix the formatting of the Virtual Machines table.  In the demo report, and when I run it, the VMs do not line up in the columns, but rather create their own un-named columns to the right.  
31 - 40 of 101 Items