Set an Exchange Activesync Policy for all users in a specific Company

Here is a command you can use to set a specific exchange activesync policy for all users in a specific company. This assumes that you have already set the company name in the ‘Company’ user attribute. Substitute YOUR_COMPANY_NAME with the company name the you have specified in the ‘Company’ user attribute for the users you wish to apply the policy to, and substitute YOUR_ACTIVESYNC_POLICY with the name of the activesync policy that you wish to set for this selection of users.   

Get-User -filter {Company -eq “YOUR_COMPANY_NAME”} | Set-CASMailbox -ActiveSyncMailboxPolicy(Get-ActiveSyncMailboxPolicy “YOUR_ACTIVESYNC_POLICY”).Identity

You can verify that the policy has been applied to the correct users by running the following command:

Get-CASMailbox | where{$_.ActivesyncMailboxPolicy -Match “YOUR_ACTIVESYNC_POLICY”} | ft Displayname, ActivesyncMailboxPolicy, Servername

If you want to view the activesync policies that are applied to all the users in your organisation simply run the following command:

Get-CASMailbox | ft Displayname, ActivesyncMailboxPolicy, Servername



Changing logging level using the Exchange Management Shell and Exchange Management Console

In this post I will describe how to set logging levels on your various Exchange logs. Earlier, I received event id 9327, with a source of MSExchangeSA in the event log on our Exchange server that is responsible for generating the offline address list. In order to find the offending entries in the address list, it was necessary to change the logging level for OAL generator:

Event ID: 9327 Source: MSExchangeSA Task Category: OAL Generator

There are 2 methods you can use to set this. The first is via the Exchange Management Shell. You can check the current logging levels for your various exchange logs by issuing the following command in the Exchange Management Shell:


This will list logging levels for all Exchange logs, but will also give you the identities of all of the different Exchange logs, which you will need for the next step.

Output from the Get-EventLogLevel command

In this instance, we are interested in the OAL Generator which can be found towards the bottom of the list under ‘MSExchangeSA\OAL Generator’, which is also the identity which we will need for the next command. The logging level for this entry was set to lowest:

OAL Generator showing a logging level of lowest

To change the logging level you can issue the following command using the identity that you discovered in the step above:

Set-EventLogLevel -Identity “MSExchangeSA\OAL Generator” -Level Medium

You can then verify that the new logging level has been set by issuing the Get-EventLogLevel command again:

OAL Generator showing a logging level of medium

If you feel more at home using the Exchange Management Console GUI, the same result can be achieved by doing the following. First open EMC and expand ‘Mailbox’, under ‘Server Configuration’. Next right click on the server that you want to set the logging level for and choose ‘Manage Diagnostic Logging Properties’ as shown below:

Choosing 'Manage Diagnostic Logging Properties' using the Exchange Management Console

Finally, in the ‘Manage Diagnostic Logging Properties’ screen, find the service that you are interested in and set the necessary logging level as appropriate, as show below, then click ‘Configure’, and you’re done.

Setting the logging level using the Exchange Management Console

Get a users mobile device details using the Exchange Management Shell

Here is a quick command to get the details of a particular users mobile device or smartphone, including the device ID and the time it last synced, etc, using the Exchange Management Shell. When you type the command replace Username, with the name of the user that you wish to examine:

Get-ActiveSyncDeviceStatistics -Mailbox Username | Format-List

Display mobile device statistics using get-activesyncdevicestatistics