vSphere 5 License Entitlements

A somewhat surprising popular topic at the moment considering the amazing features announced by VMware this week is vSphere 5 Licensing, I have seen a lot of people talking about this and a lot of confusion and misunderstanding of the new licensing model announced by VMware in vSphere 5. Hopefully this post and my script below will help people work out what their v5 License entitlements will be.

vSphere 5 License Overview

vSphere 5.0 will be licensed on a per-processor basis with a vRAM entitlement. Each vSphere 5.0 CPU license (whether deployed to a host or not) will entitle the purchaser to a specific amount of vRAM, or memory configured to virtual machines. The vRAM entitlement can be pooled across a vSphere environment and through linked mode vCenters to enable a true cloud or utility based IT consumption model.

vSphere Advanced is now being removed from the license editions, anyone who currently has licenses for vSphere Advanced – and is active on Subscription and Support – in v4 will automatically be entitled to Enterprise in v5 free of charge, the following vRAM entitlements will be given per license type:

License Type Essentials Essentials Plus Standard Enterprise Enterprise Plus
vRAM Entitlement per license 24GB 24GB 24GB 32GB 48GB

There are a few key things to remember about this:

  • vRAM is pooled per license type to create a pool
  • Make sure all license keys you have purchased are entered into vCenter
  • All Licenses (whether deployed or not) add Pooled vRAM capacity
  • Make sure existing vCenter servers are linked – vRAM licenses are pooled across linked mode vCenters giving a total vRAM per license type.

More information on these changes can be found in the Licensing, Pricing and Packaging white paper here.

License Validator

So as this is mainly a PowerCLI site, how can I help? In the same way I always do, I have written a script to give you not only the current license information but how this will relate to v5 licensing, the script will detail each license type and tell you how much vRAM you will be entitled to and how much you are using.

Remediation

Following the run of this script if you are over on the vRAM then don’t panic! There are things you can do which might mean things will still equal out with your current licenses.

You might want to think about the following steps:

  • Make sure all licenses are loaded into vCenter Server
  • Link vCenter Servers if one vCenter has excess vRAM entitlement
  • Turn off unused VMs
  • Rebalance licenses from undeployed vCenters to the current vCenter
  • Ensure the vRAM configured to VMs is appropriate (right sizing)
  • Rebalance VMs to use other hosts which have available vRAM from hosts with different editions of vSphere

How to use the script

1. Install PowerCLI (If you need some instructions on this then please follow this great blog post)

2. Download the script from the bottom of this post

3. Watch the below video on how to run the script

How to run

Sample Output

{filelink=10}

Download

Since the release of this post VMware have revised the vRAM entitlements, please see here for the latest figures and script

Not included

This script doesn’t account for linked mode, so make sure you use it against each vCenter and add the vRAM figures (Pooled vRAM Capacity and vRAM Used) together for each vSphere Edition to make sure you entitlements are correct.

This script requires vSphere 4.1 or higher.

This script requires Windows PowerShell V2 (http://support.microsoft.com/kb/968930)

Update: As of V1.7 I have added log file which will be created in the same folder as the html file, if you have any issues please email the log file and html result to contact(at)virtu-al.net for further help with the results.

Please fill in the Poll !

[poll id=”2″]

Alan

Alan Renouf has a role of Automation Frameworks Product Manager at VMware responsible for providing the architects and operators of the cloud infrastructure with the toolkits/frameworks and command-line interfaces they require to build a fully automated software-defined datacenter. Alan is a frequent blogger at http://blogs.vmware.com/vipowershell and has a personal blog at http://virtu-al.net. You can follow Alan on twitter as @alanrenouf.

You may also like...

105 Responses

  1. Ian Cook says:

    ignore me lol my cache got messed up and sent me to this one not the new one ! :)

  2. Ian Cook says:

    Hi, it seems VMware have changed the vRam allocations since this article was written,

    Entitlement by vSphere edition
    – 32GB vRAM for Essentials Kit
    – 32GB vRAM for Essentials Plus Kit
    – 32GB vRAM for Standard
    – 64GB vRAM for Enterprise
    – 96GB vRAM for Enterprise Plus

    Source http://www.vmware.com/files/pdf/vsphere_pricing.pdf

    Regards

    Ian

  3. DavidR says:

    Thought you might want to know that the email VMware sent out this morning, announcing new vRAM limits and other changes to vSphere licensing, includes a link to an old version of your LicenseValidator script. The version they link to has the old vRAM entitlements, and will probably have a lot of people upset that their vRAM entitlement is the same as it was originally.

  4. Jesse says:

    @Ed, I just was notified by a VMware employee about those changes, that they will be announced later today!!

  5. donkarnash says:

    Pardon me, I should have provided the details…

    ESXi 4.1 and VC 4.1 on windows 2008 R2 server

  6. donkarnash says:

    I still can’t run the script, I get

    Get-View : Cannot validate argument on parameter ‘VIObject’. The argument is nu
    ll or empty. Supply an argument that is not null or empty and then try the comm
    and again.
    At C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Licens
    eValidator.ps1:313 char:27
    + $licAssignMgr = Get-View <<<< $licMgr.licenseAssignmentManager
    + CategoryInfo : InvalidData: (:) [Get-View], ParameterBindingVal
    idationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutom
    ation.ViCore.Cmdlets.Commands.DotNetInterop.GetVIView

    You cannot call a method on a null-valued expression.
    At C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Licens
    eValidator.ps1:317 char:54
    + $license = $licAssignMgr.QueryAssignedLicenses <<<< ($VMHostI
    d)
    + CategoryInfo : InvalidOperation: (QueryAssignedLicenses:String)
    [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

  7. Ed says:

    Since we’re all obviously concerned about vRAM, this new rumor should excite us if it’s true:

    http://www.gabesvirtualworld.com/vmware-changes-vram-licensing-on-vsphere-5-after-customer-feedback-on-vtax/

  8. Jonas says:

    Hi Alan – thanks for helping me figure out the DNS related problem explained in Comments #7262,7234,7217

    It turned out to be a problem related to renaming a ESXi host after the fact. I remember adding the servers when they were named .com and later renaming them to .local in the vSphere client, turns out this doesn’t change their name behind the scenes in regards to their licensed name..

    Thanks again for taking the time to troubleshoot this with me. Fixed it by removing the host all-together and re-adding them.

    -Jonas, Denmark

  9. Paul says:

    All the scripts I’ve seen base the vRAM compliance on all the licenses avaiable not just the ones assigned. so they are not correct since our licesning has future capacity included and multiple vcenters in linked mode.

    • Virtu-Al says:

      Paul, They are correct as vRAM is based on all licenses available not just assigned, unfortunately I do not account for linked mode in this version as yet.

  10. donkarnash says:

    I managed to run the script but get

    Get-View : Cannot validate argument on parameter ‘VIObject’. The argument is nu
    ll or empty. Supply an argument that is not null or empty and then try the comm
    and again.
    At C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Licens
    eValidator.ps1:313 char:27
    + $licAssignMgr = Get-View <<<< $licMgr.licenseAssignmentManager
    + CategoryInfo : InvalidData: (:) [Get-View], ParameterBindingVal
    idationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutom
    ation.ViCore.Cmdlets.Commands.DotNetInterop.GetVIView

    You cannot call a method on a null-valued expression.
    At C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Licens
    eValidator.ps1:317 char:54
    + $license = $licAssignMgr.QueryAssignedLicenses <<<< ($VMHostI
    d)
    + CategoryInfo : InvalidOperation: (QueryAssignedLicenses:String)
    [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

  11. Jonas says:

    Hi again.. Any ieas to my continued problems in regards to DNS
    http://www.virtu-al.net/2011/07/14/vsphere-5-license-entitlements/#comment-7234

    I’ve rebooted both ESXi servers, didn’t help one bit..

    The script produces the html file with the two servers as .com – eventhough get-vmhost lists them as .local

    vm0.firm.local vSphere 4 Enterprise Plus
    vm1.firm.com vSphere 4 Enterprise Plus
    vm2.firm.com vSphere 4 Enterprise Plus

    vm1 and vm2 are causing the problems..

    • Virtu-Al says:

      Hi Jonas, looks like something strange with the DNS or naming somewhere, do you want to email me the log file and the html file so i can try and help ?

      My contact details can be found in “Contact Me” menu on this site.

  12. donkarnash says:

    I have Esxi 4.1 U1 and my Vc is windows 2008R2. I can’t seem to get powershell to work. I go to c:\windows32\windows Powershell but have v 1. I can’t seem to download where can I get v2. The http://support.microsoft.com/kb/968929 site has download for 2008 but not for R2.

    any advise ? Thanks

    • Virtu-Al says:

      You have R2 so it will come with PowerShell V2 installed, you can always run powershell.exe and paste the following code into it to make sure….

      if (test-path variable:psversiontable) {$psversiontable.psversion} else {[version]"1.0.0.0"}
  13. Ryan McLean says:

    Oh, if you merge my whole powerpack let me know and I’ll update my site & the library accordingly so people are aware they have merged.

    Regards,

    Ryan

  14. Ryan McLean says:

    Yes of course.

    If you want you are welcome to take all the scripts in my powerpack and merge them with the community pack.

    Feel free to tweak the scripts as needed to integrate them.

    Regards,

    Ryan

  15. Ryan says:

    Alan,

    I look at each vmhost in the vcenter and calculate the entitlements individually for that host, I also keep a running total which is what is used at the very end for overall compliance.

    The reason for this is that it was aimed at use inside powergui, the original script that this one was based off was slightly better in terms of an “overall” view but was limited as I made the decision for it to assume E+ licensing for everything (we had just signed an ELA and thus bumped all our licenses up) so I didnt think it was as useful for most other people.

    Line 38+ is where I get the cpu*licenseType for the current host
    Line 51+ is where I track the overall totals.

    Regards,

    Ryan

  16. Ryan McLean says:

    Hi,

    Just to warn you that there is a reporting error in your script that I think it originates from vCenter though in that one of our servers a R900 4CPU 6Core system without hyper-threading is reported as having 8 CPUs.

    I wrote a license validator script that doesn’t suffer from the problem last week (I didn’t find out about your script until today)

    Here is my script which uses a slightly different methodology than yours.
    http://ninet.org/2011/07/vmware-vsphere-5-license-validator/

    Regards,

    Ryan

    • Virtu-Al says:

      Ryan,

      Thanks, your correct my script grabs the information from vCenter so you should get a reflection of the numbers represented in vCenter.

      I like your script but just to note (I couldnt see where you were doing this) vRAM is by license type so if you have multiple license versions your vRAM figure may get a little confusing, unless I am wrong and you do this ?

      Alan

  17. Glenn says:

    Interesting. We have 12TB of vram configured on our running guests. We are licensed for 130 Ent + licenses (approx 6TB of VRAM entitlement now). Running the script says we are using 7TB.

    So according to the script I only need to purchase enough licenses for about 1TB, not the 6TB we calculated.

    Now I’m really confused as to what’s going on.

  18. Glenn says:

    Are you sure this script is 100% aligned with the vram licensing entitlement of vsphere 5? The reason I ask is the script appears to return the actual guest memory in use (thin provisioning in storage speak), rather than the amount of memory configured in the guest. For example an under utilised web server guest configured with 4GB of ram may only be using 1GB ram as its largely inactive.

    My interpretation of the vmware licensing document is the vram entitlement is based on configured memory, not “used” memory.

    Vmware sales folk are using your script as a way to reassure customers they are not under licensed in the new model, and I think this is going to create an issue down the track once vsphere 5 becomes GA.

    (Hope I am proven incorrect)

    From the vmware licensing document:
    vRAM is defined as the virtual memory configured to virtual machines. When a virtual machine is created, it is configured with a certain amount of virtual memory (vRAM) available to the virtual machine.

    Cheers,
    Glenn.

  19. Jonas says:

    Hi Virtu-Al

    Still getting the same error when connecting to the vCenter Server using ip-address and running the script (version 1.8)

    Weather I connect to the vCenter server via hostname or ip-address I get the same output from Get-VMHost, namely the hostname.firm.local which is correct.

    But the script keeps giving me the same error looking for hostname.firm.com. Again this is pingable from both my machine and the vCenter server due to DNS CNAME/Alias records made.

    Get-VMHost : 24-07-2011 13:41:19 Get-VMHost VMHost with name ‘hostname.firm.com’ was not found, using the specified filter(s).

    Any help or ideas would be much appreciated!

    -Jonas, Denmark

  20. Jonas says:

    Hi Virtu-Al

    Getting a DNS related error.

    Both my machine (mine from where I’m running the script) + the vCenter server can ping this DNS name?!

    Any ideas?

    Get-VMHost : 22-07-2011 11:58:04 Get-VMHost VMHost with name ‘vm1.firm.com’ was not found, using the specified filter(s).
    At C:\LicenseValidator.ps1:554 char:39
    + $v5EntPlusAllVM += Get-VMHost <<<< $_.Host | Get-VM
    + CategoryInfo : ObjectNotFound: (:) [Get-VMHost], VimException
    + FullyQualifiedErrorId : Core_OutputHelper_WriteNotFoundError,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetVMHost

    This goes for 2 of our 3 Enterprise Plus servers, causing wrong output in the .html file..

    **

    The Log file lists the servers with their correct DNS name (.local) instead of (.com)

    This is from the .arhvcenterLogfile_22-7-2011.txt file

    Name : vm1.firm.local
    ConnectionState : Connected

    The script is complaining about not finding the .com addresses. So I added an Alias in our DNS and cleared the cache (ipconfig /flushdns) on my machine and the vCenter server making both machines able to ping with the .com address – no change.

    -Jonas, Denmark

    • Virtu-Al says:

      Hi Jonas,

      So if you launch a PowerCLI prompt and connect to your vcenter:

      connect-viserver vcipaddress -user username -pass password

      Then once connected what happens if you run Get-VMHost ?

  21. Virtu-Al says:

    Didnt get it – you did take out the brackets from my email address didnt you 😉

  22. Jeff says:

    Okay – so I got it to run – but the screen does not build like the video – and I am unsure what I am looking at.

    vSphere 5 Enterprise Total = 8 Pooled vRam = 256 GB

    vRam total if all VMs on 91GB
    vRam current is 78GB
    vRam current % is 30%

    How do I translate this into vSphere 5 – new licensing?

    THanks
    Jeff

    • Virtu-Al says:

      Jeff, glad you got it working, please can you make sure you are using the latest version from this post and then email me the log file and html file if you are still having issues with your output.

  23. Jeff says:

    Okay – on the PS1 script – I found unblock – I was trying on the CLI program shortcut (I believe that was waht I read above).

    That WORKED! Unblocked the PS1 script and it ran.
    Thanks guys.
    Jeff

  24. Jeff says:

    Ran the Get-ExecutionPolicy and it returns the “RemoteSigned” value (I did this both from the Windows PowerShell and the VM CLI PowerShell)

    I moved the script folder to the C:\ and tried the script again. I get the same result.

    VCI is installed on the D drive, scripts are on the C drive.
    I am logged in as domain admin – full rights on my workstation, No AD policy killing the PS script that I can see.

    Even ran as Administrator (the VM CLI) just in case UAC was a factor on my win 7 machine. I am going to test on a plain XP machine and see what happens.

    Please provide any other suggestions you might have.
    Jeff

  25. Ed says:

    Without support for linked vCenter instances, it’s pretty challenging since the license and vRAM entitlements get counted multiple times but the the guests don’t get added up. The percentage number is now totally useless.

    I’d also like to suggest an “average vRam” per host (and datacenter and cluster). We happen to have an enterprise license agreement in place so we have a lot more licenses installed than we’re actually using today so even though we might be okay today, we could not be if we switch to the new license model.

    Thanks again for all the great work!

  26. Ed says:

    I got the report to give me a useful report. It turned out the account I was using didn’t have the privs it needed (it had a Read Only role).

    I’m still a bit confused on how licensing and vRam works with linked vCenters. Should the report have counted the guests managed by the linked clones or is each pool only within the vCenter instance?

    • Virtu-Al says:

      Ed, In this version it is only 1 vCenter instance, you will need to run it on each linked vCenter and add the results to get a true reading of a linked vCenter instance.

  27. Virtu-Al says:

    Jeff, have you tried running it from local disk, also what does it say when you type Get-ExecutionPolicy ? Sometimes companies set the execution policy through AD group policy so it may be reverting back.

  28. Virtu-Al says:

    For those of you not getting the host licenses and individual breakdown of licenses try using the latest version of the script, I have made a change to use a more secure method of retrieving the data.

  29. Jeff says:

    I too am having an issue running the script –

    I executed the “Set-ExecutionPolicy RemoteSigned” and verified that this was valid. I executed on both x86 and the 64 bit PowerShells
    I verified PowerShell 2.0

    I do not see a right click “unblock” option.

    My error is :
    LicenseValidator.ps1 is not digitally signed. The script will not execute on the system.

    Windows 7 64bit.

    Please help?
    Jeff

  30. Jason says:

    I followed the instructions without any errors but I didn’t get that pretty report. All I got was

    Edition Entitlement Licenses
    ——- ———– ——–
    Essentials/Essentials P… 1 pCpu + 24 GB vRAM 132 with 1734 GB vRAM …
    Enterprise 1 pCpu + 32 GB vRAM 132 with 2790 GB vRAM …
    Enterprise Plus 1 pCpu + 48 GB vRAM 132 with 4902 GB vRAM …

  31. Mike Barratt says:

    More awesomeness from Al. Cheers!

  32. Paul says:

    I’m getting the following error messages….
    Missing ‘)’ in method call.
    At line:663 char:26
    + $picturebox6.Name = ” <<< #———————————————-
    [vSphere PowerCLI] C:\>
    [vSphere PowerCLI] C:\> #Save the initial state of the form
    [vSphere PowerCLI] C:\> $InitialFormWindowState = $HAandDRSForm.WindowState
    [vSphere PowerCLI] C:\> #Init the OnLoad event to correct the initial state of the form
    [vSphere PowerCLI] C:\> $HAandDRSForm.add_Load($Form_StateCorrection_Load)
    You cannot call a method on a null-valued expression.
    At line:1 char:27
    + $HAandDRSForm.add_Load <<< #Show the Form
    [vSphere PowerCLI] C:\> return $HAandDRSForm.ShowDialog()
    You cannot call a method on a null-valued expression.
    At line:1 char:36
    + return $HAandDRSForm.ShowDialog <<<
    [vSphere PowerCLI] C:\> } #End Function
    Unexpected token ‘}’ in expression or statement.
    At line:1 char:2
    + } <<<
    [vSphere PowerCLI] C:\> #Call OnApplicationLoad to initialize
    [vSphere PowerCLI] C:\> if(OnApplicationLoad -eq $true)
    >> {
    >> #Create the form
    >> Call-vSphere_5_License_Checker_pff | Out-Null
    >> #Perform cleanup
    >> OnApplicationExit
    >> }
    >>
    The term ‘Call-vSphere_5_License_Checker_pff’ is not recognized as the name of a cmdlet, function, script file, or operable
    program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:4 char:39
    + Call-vSphere_5_License_Checker_pff <<<< | Out-Null
    + CategoryInfo : ObjectNotFound: (Call-vSphere_5_License_Checker_pff:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

  33. joss says:

    right click methos worked for me, thanks.

  34. Great stuff as always! Really like the way you have made the Winform not look like a winform!

    One suggestion: In the ‘Current License Information’ section of the HTML report could you sort the returned results? When you have multiple results and a mix of license types it is quite difficult to read when they are jumbled up.

  35. Christian van Barneveld says:

    Hi Alan,

    Yes, Powershell 2.0 and VMware PowerCLI 4.1.1

  36. Christian van Barneveld says:

    I got the following errors after a run. The output html only display “Current License Information” with the licenses:

    [D] Do not run [R] Run once [S] Suspend [?] Help (default is “D”): R
    WARNING: There were one or more problems with the server certificate:

    * The X509 chain could not be built up to the root certificate.

    * The certificate’s CN name does not match the passed value.

    New-Object : A parameter cannot be found that matches parameter name ‘Property’
    .
    At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:435 char:63
    + $v5EntPlus = New-Object -TypeName PSO
    bject -Property <<<< @{ New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:435 char:63 + $v5EntPlus = New-Object -TypeName PSO bject -Property <<<< @{ New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:435 char:63 + $v5EntPlus = New-Object -TypeName PSO bject -Property <<<< @{ New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ { New-Object : A parameter cannot be found that matches parameter name ‘Property’ . At C:\opt\scripts\powercli\vram\LicenseValidator.ps1:320 char:58 + $CurLic = New-Object -TypeName PSObject -Property <<<< @ }

  37. Dejan Ilic says:

    Alterantive way is to right-click the icon of the script, select “property” and then select “unblock”. After that you can run the script regardless of your current Set-executionpolicy.

  38. joss says:

    hi, I did set Set-ExecutionPolicy RemoteSigned according this article but still get the same error “LicenseValid
    ator.ps1 is not digitally signed.”

    Any other config to set ?

    • Virtu-Al says:

      Joss as suggested try the right click method, also try running from a local drive, try running Get-executionPolicy from the PowerCLI prompt to confirm it is set correct before running the script.

  39. Ed says:

    My VMware SE actually pointed me to THIS tool to generate a vRAM report and said it’s the “Officially blessed VMware vRAM calculator”. I think VMware owes you big time!

    • Virtu-Al says:

      Ed,

      I will need to look at trying to replicate an environment like yours to see if i can see what the issue is, I do work for VMware so I dont do to bad out of them already 😉

      This tool was created to help people work out the true figure rather than accidentally work out a wrong figure and assume they needed to buy new licenses.

  40. Ed says:

    The replacement lets the job run without errors but the output html is as empty as before (just the header section down to the VC name).

    We’re at VC 4.1U1 and there are a couple of linked VCs in the environment. PowerCLI is also 4.1U1.

  41. Manas says:

    Will vmware support help us when we need urgent help with this script?

  42. Ed says:

    I’m getting the OutOfMemoryException too. The resultant html has no useful data in it.

    [vSphere PowerCLI] C:\temp\lv> ..\LicenseValidator.ps1

    Security Warning
    Run only scripts that you trust. While scripts from the Internet can be useful, this script can potentially harm your computer. Do you want to run
    C:\temp\LicenseValidator.ps1?
    [D] Do not run [R] Run once [S] Suspend [?] Help (default is “D”): r
    WARNING: There were one or more problems with the server certificate:

    * The X509 chain could not be built up to the root certificate.

    Get-View : 7/15/2011 2:41:26 PM Get-View Exception of type ‘System.OutOfMemoryException’ was thrown.
    At C:\temp\LicenseValidator.ps1:526 char:26
    + $vmhosts = Get-View <<<< -viewtype hostsystem
    + CategoryInfo : NotSpecified: (:) [Get-View], VimException
    + FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.ViCore.Cmdlets.Commands.DotNetInterop.GetVIView

    • Virtu-Al says:

      Very strange, if you do a search for “$vmhosts = Get-View -viewtype hostsystem” and replace it with “$vmhosts = Get-VMHost | Get-View” does that work ok ?

  43. Ron says:

    Alan,

    I am getting a System.OutOfMemoryException and all my values except for the E+ license count show up as a 0.

    -R

  44. joss says:

    errors this:

    File C:\tmp\LicenseValidator.ps1 cannot be loaded. The file C:\tmp\LicenseValid
    ator.ps1 is not digitally signed. The script will not execute on the system. Pl
    ease see “get-help about_signing” for more details..
    At line:1 char:23
    + .\LicenseValidator.ps1 <<<<
    + CategoryInfo : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

    • Virtu-Al says:

      You have not yet set your execution policy, by default PowerShell is a secure shell, you will need to use get-help about_signing to find out more about this but if you read the PowerCLI install post this shows you that you will need to type “Set-ExecutionPolicy RemoteSigned” at the powershell prompt for scripts to run.

  45. Nicholas Carde says:

    Disregard – looks like View still has unlimited vRAM with no licensing penalty:

    http://blogs.vmware.com/euc/2011/07/vsphere-desktop-licensing-overview.html

  46. Nicholas Carde says:

    Virtu-Al — does this work against View ESX Clusters? When I attempt it all it does is return a total ‘vSphere 4 Desktop Host’ license cost without any of the pooled vRAM information, etc.?

  47. Shane Williford says:

    Hey Alan,
    I ran this against a 4.0U2 environment, and it seemed to have worked. BTW…for those reading, I am at a SMB, have Ent+, and do NOT use a great deal of pRAM (only 32GB/pPROC; running 3 DL380 G7, dual 12-core; 64GB total pRAM per host), so I’m more than good. But…it would be nice to be able to choose to use more pRAM if I were to purchase/need it.

    Twitter: @coolsport00

  48. Chris says:

    Great script! FYI, Hugo Peeter’s has another version that may be worth looking at. Keep up the great work. The results I have seen so far from every person I know that has run the script is that they have GB’s to TB’s of vRAM to spare! They are running out of CPU capacity long before vRAM.

  49. Aaron says:

    I’m not overly surprised by the amount of coverage the licensing is getting.
    Based on list prices for physical 8Gb RAM modules and vRAM, based on 3 years of S&S (and 24×7 warranty for hardware). We worked out that 1Gb of vRAM will cost $20 more than 1Gb of physical RAM.

    So it comes down to: if you are paying more for vRAM than physical RAM when sharing and oversubscribing. Does this take away from the memory sharing that VMware offers that Hyper-V doesn’t?

  50. Sean D says:

    It may be worth noting that this script will give a mostly blank output if you run it with read-only privileges. It seems to work will full administrator privileges though.

  51. Dejan Ilic says:

    Nice script.

    It detected my Essentials ESX license, but didn’t show any details on that server. Also, it would be nice to have the licenses and server info sorted by ie “feature-size” from Essentials to Enterprise Plus.

    • Virtu-Al says:

      Would love to see the output so that I can see what the issue is here, are you able to email it to me ? contact (at) virtu-al.net

      Thanks

  52. Troy Clavell says:

    Fantastic! Wanted to let you know there is a typo. The following hosts will be assigned Enterprise Licesnes:

    Should read: The following hosts will be assigned Enterprise Licenses:

  53. JKav says:

    Consistently get:
    Exception calling “GetValue” with “1” argument(s): “Index was outside the bounds of the array.”
    At C:\scripts\licensevalidator.ps1:328 char:36
    + $license = $license.GetValue <<<< (0)
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

    but output looks great.

  54. cwjking says:

    Your right. If anyone would take a look at the forums licensing is the number with traffic. Thus far, no real concerns or VMware employees have really been able to have ammunition to battler peoples concerns either. Even so, this is a nice script Alan. As always its pretty slick.

    I am going to run it. I already did the numbers and we are going to have to buy 47 additional licenses to our current plans. Not sure I can justify the budget proposal.

  55. JKav says:

    Wish I could watch the video… corporate firewall blocks most video sources. As for being surprised about the topic most mentioned… times are tough and costs will overshadow features/enhancements when trying to justify it.

  1. July 14, 2011

    […] of vSphere 5 Licensing (Virtual VCP) A Deeper Look Into VMware vSphere 5 Licensing (Virtual VCP) vSphere 5 License Entitlements (Virtu-al) Understanding vSphere5 Licensing (Virtualised Reality) vSphere 5 – Did VMware Misjudge […]

  2. July 14, 2011

    […] vSphere 5 License Entitlements by Alan Renouf. Alan wrote a  script to give you not only the current license information but how this will relate to v5 licensing, the script will detail each license type and tell you how much vRAM you will be entitled to and how much you are using. […]

  3. July 14, 2011

    […] Alan’s vSphere 5 License Entitlements: http://www.virtu-al.net/2011/07/14/vsphere-5-license-entitlements/ […]

  4. July 15, 2011

    […] UPDATE: Virtu-AL also has a different script that provide similar information. http://www.virtu-al.net/2011/07/14/vsphere-5-license-entitlements/ […]

  5. July 15, 2011

    […] vSphere5 Licensing Entitlements (Power CLI Script) […]

  6. July 16, 2011
  7. July 16, 2011

    […] yapmayı tercih ediyorum dedi. Bu iş o kadar kolay ki gerçekten sırf bu sebeple bir kaç ufak araç bile geliştirildi ki hesaplama kimseyi zorlamasın diye. Tabiki bunun yanında tüm […]

  8. July 18, 2011

    […] http://www.virtu-al.net/2011/07/14/vsphere-5-license-entitlements/ This entry was posted on 18/07/2011 (Monday) at 2:06 am and is filed under Architecture, Cloud Computing, Technology, VMware, Virtualization, business. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. Printed from: http://blog.mvaughn.us/2011/07/18/vsphere-5-licensing-thoughts/ . © Mark Vaughn’s Weblog 2011. […]

  9. July 18, 2011

    […] Renouf -  vSphere 5 License Entitlements – A somewhat surprising popular topic at the moment considering the amazing features […]

  10. July 19, 2011

    […] Alan Renouf over on virtu-al.net has posted an excellent cli script to calculate you license entitlements.  Click here for details and the download. […]

  11. July 20, 2011

    […] If you would rather run a PowerCLI script to gather the info, you can find a great article on how to do it here. […]

  12. July 21, 2011

    […] segundo post, vSphere 5 License Entitlements, lo encontramos en Virtu-Al.net y consiste en ejecutar un script escrito en PowerShell. El script […]

  13. July 21, 2011

    […] your anger” – Run the tool to see what’s actually being used. It may not be that […]

  14. July 22, 2011

    […] type x for ALL your pCpu’s. If your environment consists of a mix of vSphere editions, check out Alan Renouf’s script to analyse your environment. $vCenterServerName = "MyVC1.domain.local", […]

  15. July 26, 2011

    […] license validator can be download from http://www.virtu-al.net/ , is PowerCLI […]

  16. July 26, 2011

    […] bu işlemi çok daha yanar-döner şekilde yapan scriptler mevcut. Onlardan bir tanesine buradan erişebilirsiniz. Ben çok daha basit, amaç odaklı ve kolay anlaşılabilir bir […]

  17. August 2, 2011

    […] to one version, a second,  and  another.  The third is “official VMware” since it is by Alan Renouf and here is the VMware […]

  18. August 5, 2011

    […] Here is a great script which you can run to identify the number of licenses you will need for the environment Script. […]

  19. August 15, 2011

    […] license validator can be download from http://www.virtu-al.net/ , is PowerCLI script which produce HTML license report. Read information on virtu-al.net page to […]

  20. August 18, 2011

    […] license validator can be download from http://www.virtu-al.net/ , is PowerCLI script which produce HTML license report. Read information on virtu-al.net page to […]

  21. October 24, 2011

    […] license validator can be download from http://www.virtu-al.net/ , is PowerCLI script which produce HTML license report. Read information on virtu-al.net page to […]

  22. April 10, 2012

    […] License Validator by Alan […]

  23. February 18, 2013

    […] There have been gobs of reactions to VMware’s new license model that was announced last week, and the vast majority of it was negative. I will admit that I took part in some of the initial back lash. We sysadmins don’t like change, especially when we’ve engineered systems to maximize a certain licensing model and then that model changes. But then I started to think it’s possible likely that I’m overreacting. Maybe it won’t have any effect on us. So I started doing the math. Licenses are still purchase by the CPU, at minimum one for each socket in your system, with each license having a vRAM Entitlement. For reference, one of the best license summaries I’ve found is on Alan Renouf’s blog http://www.virtu-al.net. (the following is borrowed from his blog post http://www.virtu-al.net/2011/07/14/vsphere-5-license-entitlements/) […]

  24. December 16, 2013

    […] License Validator de Alan Renouf (PowerCLI) […]

  25. April 4, 2014

    […] datacenters have, up until now, relied on a complex vRAM licensing model that even required a tool and video to help decipher, and was based on the amount of virtualized RAM run by a virtual […]

Leave a Reply

%d bloggers like this: