Posted on February 22, 2017 · Posted in Exchange

Calculating the Number of Client Access Licenses (CAL) for Exchange Server

In the previous article we discussed the peculiarities of Exchange Server licensing and mentioned that to access a mailbox on Exchange Server a user or a device needs a Client Access License (Exchange Server CAL). You can purchase a license for a device or a user (this is more expensive). Besides, there are two versions of Exchange Server CAL: Standard or Enterprise. The second one can be bought additionally, if a user needs extended Exchange functionality, as a rule, these are archiving, logging, Unified Messaging integration, etc.

If the mailbox is using a feature from the Enterprise package, it requires an Enterprise CAL in addition to Standard one. The presence or absence of a license doesn’t influence the functionality of a client, but to use the product legally an administrator need to count from time to time the number of used client licenses of both types.

In Exchange 2010, you can estimate the number of necessary licenses right in the root of the graphic Exchange Management Console. The information about the number of licenses needed is displayed in the Organization Summary section. In our case, 958 Standard CALs and 464 Enterprise CALs are necessary for licensing customer organization. Exchange 2010 Management Console - CAL in use

Note. Actually, this estimation method of the number of licenses is not very accurate. For more accurate estimation of the number of Exchange 2010 CALs, you’d better use this TechNet script.

In Exchange 2013 (and Exchange 2016), there is no such feature in the graphic interface. Two EMS cmdlets have been added instead:

  1. Get-ExchangeServerAccessLicense allows to get the names of the licenses used in the Exchange organization
  2. Get-ExchangServerAccessLicenseUser allows to request the information  about CALs used by the users

So, using Get-ExchangeServerAccessLicense get the exact license names:

Get-ExchangeServerAccessLicense | ft -AutoSize


Tip. In Exchange 2016, the license names are the same: Exchange Server 2016 Standard CAL and Exchange Server 2016 Enterprise CAL.

Copy the names of the licenses to clipboard and display the list of mailboxes that require this license type:

Get-ExchangeServerAccessLicenseUser –LicenseName "Exchange Server 2013 Standard CAL"


Count the number of mailboxes in this list:

Get-ExchangeServerAccessLicenseUser –LicenseName "Exchange Server 2013 Standard CAL" | Measure-Object | Select Count

Counting exchange 2016 Client Access Licenses

A similar calculation has to be made for Enterprise CALs.

Tip. Get-ExchangeServerAccessLicenseUser cmdlet doesn’t make the list of mailboxes that require Enterprise CALs very accurately. To make it correct, better use the script by British MVP (

So we have considered how to quickly count the total number of necessary client access licenses so that users could legally work with Exchange Server.

Related Articles