How many users are connected to Exchange per protocol?

Update May, 9 2016:

Please read the new post with the new version of the script here

Get-ActiveExchangeUsers 2.0

If you want to know how many unique users per protocol are currently connected to your Exchange server you can pull it from performance counters:

MSExchange RpcClientAccess\User Count

Shows the number of users connected to the service

MSExchange RpcClientAccess\Connection Count

Shows the total number of client connections maintained

RPC/HTTP Proxy\Current Number of Unique Users

Shows the number of unique users currently connected to a back-end server via RPC/HTTP

MSExchange OWA\Current Unique Users

Shows the number of unique users currently logged on to Outlook Web App. This value monitors the number of unique active user sessions, so that users are only removed from this counter after they log off or their session times out

MSExchange ActiveSync\Current Requests

Shows the number of HTTP requests waiting to be assigned to a thread

W3SVC_W3WP(*msexchangeservicesapppool)\Active Requests

Shows the number of active EWS requests

Web Service(_Total)\Current Connections

Shows the number of current total connections to the IIS

Web Service(_Total)\Maximum Connections

Shows the max number of total connections to the IIS

Netlogon(_Total)\Semaphore Timeouts

Shows the number of Semaphore Timeouts since the last start of the Netlogon service

Most of those counters are described here. Why should you also have an eye on the Netlogon counter? If you have a larger environment and/or multiple forests you will agree that this is a good idea after you read this. In short: the counter should be always zero. If not you might have a bottleneck and consider to tweak MaxConcurrentAPI.

Looking at the number of counters it might be possible to collect on one or two servers, but still not optimal. Especially if you have to deal with a larger number of server. Maybe you also want to have a list per server or a summary.

Therefore I wrote a script to collect the performance counters from all Exchange server within a given AD site. The script looks for all Exchange 2010 server with CAS role  or all Exchange 2013 server with MB role installed. In Exchange 2013 you have to look at the MB server due to the change in the architecture. The script takes advantage of the function I described in a post before. You need only PS and the permission (at least must be part of the local group “Performance Monitor Users” on the servers) in order to run it successful:Get-ActiveExchangeUsers04

This gives you also a good overview if your load balancer is working as expected. You can download the script here:


10 thoughts on “How many users are connected to Exchange per protocol?

  1. Pingback: How many users are connected to Exchange per protocol? | Keep it tidy

  2. Pingback: Get-ActiveExchangeUsers 2.0 | The clueless guy

  3. Question.. The account im running this with is a domain admin, and also local admin, member of performance monitor users. It returns the server names, but all zeros.. thoughts?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s