Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 228
  • Last Modified:

Exchange 2010 Liciencing

Hi All

I have an exchange 2010, 2008 server on which the EMC is showing that we need 3 enterprise cal licences, is there anyway to identify which accounts are requiring the 3 enterprise licences?

Thanks in advance
0
ncomper
Asked:
ncomper
1 Solution
 
Lior KarasentiCommented:
0
 
Red-KingCommented:
I've been playing around with this in powershell.
I've hacked up the script from this Technet page.

Save the content of the code box below in a file e.g. c:\tmp\CALstatus.ps1

Open the Exchange Management Shell and run the script like so to give a count of Enterprise features being used (I'm getting everybody using the Archive feature so that might need to be removed from the script);

[PS] C:\> c:\tmp\CALstatus.ps1

To get a list of users that make up those numbers use the ShowUsers switch e.g.

[PS] C:\> c:\tmp\CALstatus.ps1 -ShowUsers

Param (
	[switch]$ShowUsers = $false
	 )

$Users = @()

$UMUsers = 0
$ArchiveUsers = 0
$RetUsers = 0
$MCFUsers = 0
$ASUsers = 0

$AllMailboxes = Get-Mailbox

$AllMailboxes.Identity | foreach {
$Mailbox = Get-Mailbox $_

	if ($Mailbox.UMEnabled)
	{
		$Users += ($Mailbox.Identity).Name
		$UMUsers++
	}

	if ($Mailbox.ArchiveGuid -ne [System.Guid]::Empty)
	{
		$Users += ($Mailbox.Identity).Name
		$ArchiveUsers++
	}

	if ($Mailbox.RetentionPolicy -ne $null)
	{
		$Users += ($Mailbox.Identity).Name
		$RetUsers
	}

	if ($Mailbox.ManagedFolderMailboxPolicy -ne $null)
	{
		$ManagedFolderLinks = (Get-ManagedFolderMailboxPolicy $Mailbox.ManagedFolderMailboxPolicy).ManagedFolderLinks
		foreach ($FolderLink in $ManagedFolderLinks)
		{
			$ManagedFolder = Get-ManagedFolder $FolderLink

			if ($ManagedFolder.FolderType -eq "ManagedCustomFolder")
			{
				$Users += ($Mailbox.Identity).Name
				$MCFUsers++
			}
		}
	}

	$CASMailbox = Get-CASMailbox $_
	if ($CASMailbox.ActiveSyncEnabled -and ($CASMailbox.ActiveSyncMailboxPolicy -ne $null))
	{
		$ASPolicy = Get-ActiveSyncMailboxPolicy $CASMailbox.ActiveSyncMailboxPolicy

		if (($ASPolicy.AllowDesktopSync -eq $False) -or
		($ASPolicy.AllowStorageCard -eq $False) -or
		($ASPolicy.AllowCamera -eq $False) -or
		($ASPolicy.AllowTextMessaging -eq $False) -or
		($ASPolicy.AllowWiFi -eq $False) -or
		($ASPolicy.AllowBluetooth -ne "Allow") -or
		($ASPolicy.AllowIrDA -eq $False) -or
		($ASPolicy.AllowInternetSharing -eq $False) -or
		($ASPolicy.AllowRemoteDesktop -eq $False) -or
		($ASPolicy.AllowPOPIMAPEmail -eq $False) -or
		($ASPolicy.AllowConsumerEmail -eq $False) -or
		($ASPolicy.AllowBrowser -eq $False) -or
		($ASPolicy.AllowUnsignedApplications -eq $False) -or
		($ASPolicy.AllowUnsignedInstallationPackages -eq $False) -or
		($ASPolicy.ApprovedApplicationList -ne $null) -or
		($ASPolicy.UnapprovedInROMApplicationList -ne $null))
		{
			$Users += ($Mailbox.Identity).Name
			$ASUsers++
		}
	}
}

write-host "==============================" 
write-host "Exchange Feature Usage Report" 
write-host "==============================" 
write-host "" 
Write-Host "Unified Messaging User count: " $UMUsers
Write-Host "Archiving User count: " $ArchiveUsers
Write-Host "Retention User count: " $RetUsers
Write-Host "Managed Custom Folders User count: " $MCFUsers
Write-Host "Advanced Activesync User count: " $ASUsers


if($ShowUsers)
{
	write-host "==================================" 
	write-host "Exchange Enterprise Feature Users" 
	write-host "==================================" 
	Write-Host ""
	Write-Host "The User list follows"
	Write-Host ""
	$Users
}

Open in new window

0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now