Exchange ActiveSync User Agents Test

Devices communicating with Exchange via ActiveSync identify themselves to Exchange using a ‘User Agent’ string and a ‘User Agent Type’ string. For instance, an iPhone may identify itself to Exchange using the user agent string ‘Apple-iPhone/’ and the user agent type ‘iPhone’. While the user agent string is unique for every device, multiple devices can be of the same user agent type. By tracking the types of user agents that are accessing Exchange via ActiveSync, administrators can determine which type of devices are attempting to synchronize with the Exchange mailboxes. In times of an overload, this information may point administrators to the exact type of devices that could be contributing to the heavy load. To obtain this useful information, administrators can use the Exchange ActiveSync User Agents test. For every user agent type, this test reports the total number of user agents of that type that are accessing ActiveSync at any given point in time. In addition, it also reports the number of unique devices of each type synchronizing with Exchange. This not only indicates the current synchronization load on Exchange, but also helps identify the user agent types (i.e., device types) that could be contributing to the workload.

Target of the test : A Microsoft Exchange 2013/2016 server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each user agent type

Configurable parameters for the test
  1. Test period - Indicates how often this test needs to be executed.
  2. Host - Indicates the IP address of the Exchange server.
  3. port - The port number of the client access server. By default, this is 443. 
  4. xchgextensionshellpath - The Exchange Management Shell is a command-line management interface, built on Windows PowerShell v2, which enables you to administer every part of the Microsoft Exchange Server. This test uses the Exchange management shell to run scripts and collect the desired performance metrics from the Exchange server. To enable the test to load the Exchange management shell snap-in (exshell.psc1) for script execution, you need to specify the full path to the Exchange management shell in the XCHGEXTENSIONSHELLPATH text box. For instance, your specification can be, c:\progra~1\micros~1\exchan~1\v14\bin\exshell.psc1.
  5. Logfile Name – The Client Access Server is an IIS web server that hosts Exchange-related web pages. This is why, like any other IIS web server, the client access server creates a daily log of its activities – including Exchange ActiveSync-related activities - in the C:\inetpub\logs\logfiles\W3SVC1\ directory by default. To report metrics on ActiveSync, this test parses the client access server’s log file, reads the ActiveSync-related errors/warnings/general information messages that were recently logged (i.e., during the last 5 minutes) from the file, and writes them to a ActiveSynchLog.log file it creates in the <eg_agent_install_dir>\agent\logs directory. Then, the test reads the metrics of interest from this log file and reports them to the eG manager. To enable the test to do the above, you need to specify the exact path to the directory that contains the client access server’s logs in the logfilename text box.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Total hits:

Indicates the current number of synchronization requests from user agents of this type.


This is a good indicator of the current synchronization load on the Exchange server. You can compare the value of this measure across user agents to know which type of user agents are actually overloading the server.

Unique devices:

Indicates the number of unique devices of this user agent type that are currently accessing ActiveSync.


Compare the value of this measure across user agent types to identify the device type that is significantly impacting the server workload.