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″]

109 thoughts on “vSphere 5 License Entitlements

  1. Pingback: VMware vSphere 5 licensing update explained - ivobeerens.nl

  2. Pingback: Uitgebreide toelichting nieuw licentiemodel | NL Demo

  3. Pingback: Uitgebreide toelichting nieuw licentiemodel | Netherlands

  4. Pingback: Licensing: Pools and Architecture Changes? • The Virtualization Practice

  5. Pingback: VMware Kills Despised vRAM Pricing Model - Dice News

  6. Pingback: les modes de licence vSphere 5 - VMnerds blog

  7. Pingback: vSphere 5 Licensing – post grief post « Matt Vogt

  8. Pingback: VMware vSphere 5 licensing update explained | IVOBEERENS.NL

  9. Pingback: Vmware vSphere 5 license comparizone | VMwaremine - Mine of knowledge about virtualization

  10. Pingback: vSphere 5 licence comparison table – UPDATE | VMwaremine - Mine of knowledge about virtualization

  11. Pingback: vSphere 5 licence comparison table – UPDATE | Mine of knowledge about virtualization

  12. Pingback: vSphere 5 Licensing - Acronis – Official Blog

  13. DavidR

    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.

  14. Jesse

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

  15. Pingback: Third Quarter 2011 Meeting – Followup « Triad VMUG

  16. donkarnash

    Pardon me, I should have provided the details…

    ESXi 4.1 and VC 4.1 on windows 2008 R2 server

  17. donkarnash

    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

  18. Jonas

    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

  19. Virtu-Al

    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.

  20. Paul

    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.

  21. donkarnash

    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

  22. Virtu-Al

    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.

  23. Virtu-Al

    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"}
  24. donkarnash

    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

  25. Ryan McLean

    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

  26. Ryan McLean

    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

  27. Virtu-Al

    Ahh ok cool, I might have to add it to PowerGUI to see how it looks then, can I also add it into the community PowerPack ?

  28. Pingback: 125: Evdeki hesap çarşıya uyar mı? « Orcunus.cOm

  29. Pingback: vSphere 5 licence comparison table | Mine of knowledge about virtualization

  30. Ryan

    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

  31. Virtu-Al

    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

  32. Ryan McLean

    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

  33. Glenn

    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.

  34. Glenn

    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.

  35. Jonas

    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

  36. Virtu-Al

    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 ?

  37. Jonas

    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

  38. Pingback: Calculate vSphere 5 Licenses with Powershell | PeetersOnline

  39. Pingback: Talking taxes? In IT? Really? « Datalink Blog

  40. Pingback: Como obtener la huella vRAM de una infraestructura virtual | El Blog de la Virtualización de Servidores y del Cloud Computing en español

  41. Virtu-Al

    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.

  42. Jeff

    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

  43. Jeff

    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

  44. Jeff

    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

  45. Ed

    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!

  46. Pingback: How to determine your vRAM footprint in vCenter | The VMguy

  47. Virtu-Al

    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.

  48. Ed

    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?

  49. Virtu-Al

    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.

  50. Virtu-Al

    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.

  51. Jeff

    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

  52. Jason

    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 …

  53. Pingback: VitalIT » Blog Archive » Why the new vRAM licensing in vSphere 5 is a good thing.

  54. Paul

    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

  55. Pingback: Top 5, I mean 10 Planet V12N blog posts for week 28 | Download VDI Solutions

  56. Jonathan Medd

    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.

  57. Pingback: vSphere 5 Licensing Thoughts – Mark Vaughn's Weblog

  58. Pingback: vSphere 5 Lisanslama Bölüm 2 | Sanallaştırma ve Yönetimi Üzerine Notlar

  59. Pingback: vSphere 5 Launch Links | Toys and Tasks

  60. Virtu-Al

    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.

  61. Christian van Barneveld

    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 <<<< @ }

  62. Dejan Ilic

    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.

  63. joss

    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 ?

  64. Virtu-Al

    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.

  65. Ed

    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!

  66. Ed

    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.

  67. Virtu-Al

    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 ?

  68. Pingback: VMware is not evil – my opinion on their new licensing model « vTexan

  69. Ed

    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

  70. Ron

    Alan,

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

    -R

  71. Virtu-Al

    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.

  72. joss

    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

  73. Nicholas Carde

    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.?

  74. Shane Williford

    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

  75. Pingback: Script to Calculate your vSphere 5 License Requirements | Something Virtual

  76. Chris

    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.

  77. Aaron

    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?

  78. Sean D

    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.

  79. Virtu-Al

    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

  80. Dejan Ilic

    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.

  81. Pingback: Links for your vSphere 5 Appetit « Sudrsn's Blog

  82. Troy Clavell

    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:

  83. JKav

    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.

  84. cwjking

    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.

  85. JKav

    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.

  86. Pingback: VMware vSphere 5 licensing aka #vTax : the opinions and math | UP2V

  87. Pingback: Welcome to vSphere-land! » vSphere 5 Links

Leave a Reply to donkarnash

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.