Applies to: ENow Management System (EMS) 8.x — Mailscape, Mailscape 365 / ENow for Microsoft 365, and Compass for Active Directory.
Does not apply to: GALsync and contactSync, which are licensed separately.
Summary
This article explains how to see how many mailboxes and Active Directory users ENow is counting against your license. You can use it before a renewal, after a license limit warning, or whenever you want to confirm you have enough license capacity. It covers two methods:
- The License Profile — the official count that ENow Licensing uses to issue your license key.
- PowerShell — read-only commands you can run yourself to check that count against your own environment.
Before you begin: ENow licenses are not Microsoft licenses
This article is about your ENow license, which sets how many mailboxes and Active Directory users EMS is entitled to monitor. EMS also reports on your Microsoft 365 licenses (License Cost, Licensed Users, Candidates for License Optimization). Those reports describe your Microsoft subscription and have no effect on your ENow license. If you want to export your Microsoft 365 license counts, see Exporting Microsoft 365 Licence Data for the ENow License Cost Report instead.
What ENow counts
| License type | Counted | Not counted |
|---|---|---|
| Mailboxes — Exchange on-premises | User mailboxes whose Active Directory account is enabled | Shared, room, equipment and discovery mailboxes; disabled accounts |
| Mailboxes — Exchange Online | User mailboxes that are enabled and hold a Microsoft 365 license that includes Exchange Online (for example E3 or E5) | Shared, room, equipment and discovery mailboxes; disabled accounts; mailboxes with no Exchange Online license |
| Mailboxes — Hybrid | The on-premises count and the Exchange Online count added together | As above, in each environment |
| Active Directory users (Compass) | Every enabled user account in the domains EMS monitors, including service and test accounts | Disabled user accounts |
Note: The Active Directory count includes every enabled user account, not just people who have mailboxes. Service accounts, test accounts, and accounts for contractors or interns all count. That is why your Active Directory count is usually higher than your mailbox count.
Method 1: Collect your License Profile (recommended)
The License Profile is a text file that EMS generates. It shows exactly what EMS is counting. ENow Licensing needs this file to issue or renew a license key.
- On the ENow web server, open the ENow Admin Console.
- Go to Server > Deployment > Support Status.
- Click Send License Profile.
- Click Save and save the file as a text file.
- Open the file. The counts are shown as:
TotalMailboxes— on-premises Exchange mailboxes countedOnlineMailboxes— Exchange Online mailboxes countedTotalADEnabledUsers— enabled Active Directory users countedDomains— number of Active Directory domains monitored
- If you are renewing, changing your license, or have received a license limit warning, attach the file to your support ticket or email it to ENow Support.
Tip: Mailbox counts are refreshed during nightly report processing, not on the monitoring cycle. If you have just cleaned up mailboxes or accounts, wait for the next nightly run before collecting the profile. You can also open the Top 20 Mailbox report and click Update Now first.
Method 2: Check the counts yourself with PowerShell
Use these scripts to compare your own environment against the License Profile, or to plan license capacity before a renewal. All of them are read-only and make no changes. Run only the ones that match your environment:
- Active Directory users → Script A
- Exchange on-premises → Script B
- Exchange Online → Script C
- Hybrid → run Script B and Script C, then add the two mailbox totals together
Script A — Enabled Active Directory users (all domains in the forest)
Run on: any domain-joined Windows machine with the Active Directory PowerShell module (RSAT) installed.
Permissions: any domain user account. No administrative rights are needed.
#Requires -Version 5.1
#Requires -Modules ActiveDirectory
<#
.SYNOPSIS
Read-only. Counts enabled Active Directory user accounts in every domain in the forest.
#>
[CmdletBinding()]
param()
$ErrorActionPreference = 'Stop'
$results = foreach ($domain in (Get-ADForest).Domains) {
try {
$dc = (Get-ADDomainController -DomainName $domain -Discover).HostName[0]
$count = (Get-ADUser -Server $dc -Filter 'Enabled -eq $true' -ResultSetSize $null |
Measure-Object).Count
[pscustomobject]@{ Domain = $domain; EnabledUsers = $count }
}
catch {
Write-Warning "Could not query domain '$domain': $($_.Exception.Message)"
[pscustomobject]@{ Domain = $domain; EnabledUsers = $null }
}
}
$results | Format-Table -AutoSize
'Total enabled AD users: {0}' -f ($results | Measure-Object -Property EnabledUsers -Sum).Sum
Expected output: one row per domain, followed by a total. If EMS monitors only some of your domains, add up only those domains when you compare against TotalADEnabledUsers.
Script B — Exchange on-premises mailboxes
Run in: the Exchange Management Shell on an Exchange server, or on a machine with the Exchange management tools installed.
Permissions: View-Only Organization Management or higher.
#Requires -Version 5.1
<#
.SYNOPSIS
Read-only. Counts on-premises user mailboxes whose AD account is enabled.
Shared, room, equipment and discovery mailboxes are excluded by -RecipientTypeDetails UserMailbox.
#>
[CmdletBinding()]
param()
$ErrorActionPreference = 'Stop'
try {
$users = @(Get-User -RecipientTypeDetails UserMailbox -ResultSize Unlimited)
$counted = @($users | Where-Object { $_.UserAccountControl -notmatch 'AccountDisabled' })
[pscustomobject]@{
UserMailboxesFound = $users.Count
ExcludedDisabledAccounts = $users.Count - $counted.Count
CountedTowardENowLicense = $counted.Count
} | Format-List
}
catch {
Write-Error "Mailbox count failed: $($_.Exception.Message)"
}
Expected output: CountedTowardENowLicense should be close to TotalMailboxes in your License Profile.
Script C — Exchange Online mailboxes
Run on: any Windows machine with the ExchangeOnlineManagement PowerShell module. To install the module, run Install-Module ExchangeOnlineManagement -Scope CurrentUser.
Permissions: Global Reader, or View-Only Organization Management in Exchange Online.
#Requires -Version 5.1
#Requires -Modules ExchangeOnlineManagement
<#
.SYNOPSIS
Read-only. Counts Exchange Online user mailboxes that are enabled and hold a
license that includes Exchange Online.
.PARAMETER UserPrincipalName
Optional. The admin account to sign in with.
#>
[CmdletBinding()]
param(
[string]$UserPrincipalName
)
$ErrorActionPreference = 'Stop'
try {
$connect = @{ ShowBanner = $false }
if ($UserPrincipalName) { $connect.UserPrincipalName = $UserPrincipalName }
Connect-ExchangeOnline @connect
$mailboxes = @(Get-EXOMailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited `
-Properties AccountDisabled, SKUAssigned)
$disabled = @($mailboxes | Where-Object { $_.AccountDisabled })
$unlicensed = @($mailboxes | Where-Object { -not $_.AccountDisabled -and -not $_.SKUAssigned })
$counted = @($mailboxes | Where-Object { -not $_.AccountDisabled -and $_.SKUAssigned })
[pscustomobject]@{
UserMailboxesFound = $mailboxes.Count
ExcludedDisabledAccounts = $disabled.Count
ExcludedNoExchangeLicense = $unlicensed.Count
CountedTowardENowLicense = $counted.Count
} | Format-List
}
catch {
Write-Error "Exchange Online mailbox count failed: $($_.Exception.Message)"
}
finally {
Disconnect-ExchangeOnline -Confirm:$false -ErrorAction SilentlyContinue
}
Expected output: CountedTowardENowLicense should be close to OnlineMailboxes in your License Profile.
Comparing the results
Small differences between your PowerShell results and the License Profile are normal. The License Profile shows the count from the last nightly report processing run, and the scripts show your environment as it is right now. When the two disagree, ENow Licensing uses the License Profile.
| What you see | Likely reason | What to do |
|---|---|---|
| Your own mailbox count is higher than the License Profile | Your count includes shared, room or equipment mailboxes, or unlicensed Exchange Online mailboxes | Use Scripts B and C as written. They apply the same exclusions EMS does. |
| Neither side of a hybrid environment looks over the limit, but EMS reports an overage | EMS compares the combined on-premises and Exchange Online total against your license | Add the results of Scripts B and C together. |
| Active Directory count is much higher than the mailbox count | Every enabled user account counts, including service, test and contractor accounts | Review enabled accounts that are no longer needed, or plan license capacity around the Active Directory figure. |
| License Profile has not changed after a clean-up | Counts refresh during nightly report processing | Wait for the next nightly run, or click Update Now on the Top 20 Mailbox report, then collect a new profile. |
| A mailbox count shows 0 | The count has not been collected yet. It does not mean there are no mailboxes. | Confirm nightly report processing is completing, then force a refresh with Update Now. |
Next steps
- You need more license capacity: contact your ENow Account Executive or reseller, and attach your License Profile.
- You received a license limit warning: open a ticket with ENow Support and attach your License Profile. ENow can issue a temporary key while your license is updated.
- You received a new license key: apply it, wait 24 hours, then send a new License Profile so ENow can confirm the key matches your environment.
Comments
0 comments
Please sign in to leave a comment.