4. Reporting Logon Statistics
You can use the
Get-LogonStatistics EMS cmdlet to retrieve logon
statistics, such as user name, logon time, last access time, client version, and
adapter speed for a single mailbox, for all the mailboxes in a mailbox database,
or for all the mailboxes on a Mailbox server. You can use the
FL and FT PowerShell cmdlets to
display the results in list or table format, and you can redirect the results
into a TXT or CSV file for use by reporting software. For example, the following
command obtains all available logon statistics for the Kim Akers mailbox:
Get-LogonStatistics -Identity "Kim Akers" | FL
Note that this command returns no information if the user has not logged on to
his or her mailbox.
The following command displays logon statistics for the mailbox database
Mailbox Database 1514648952:
Get-LogonStatistics -Database "Mailbox Database 1514648952" | FT
Figure 14 shows the output of
this command.
You can specify the particular logon statistics you want to display. For
example, the following command displays the mailbox name and last logon time (if
available) for all the mailboxes on Mailbox server VAN-EX1:
Get-LogonStatistics -Server VAN-EX1 | FT Name,LastLogonTime
5. Creating Reports on Number of Users of a Particular Protocol
You can use the EMS to determine how many mailbox-enabled users are configured
to use specific client protocols, such as Post Office Protocol version 3 (POP3),
Internet Message Access Protocol version 4 (IMAP4), and OWA. It is more
difficult to discover how much network traffic is being generated by these
protocols. This requires a network monitoring tool, such as Microsoft Network
Monitor.
To list the client settings on a Client Access server, you can use EMS
commands based on the Get-CASMailbox cmdlet. For example,
to get client settings for all mailboxes in an Exchange organization, you would
enter the following command:
Get-CasMailbox
Figure 15 shows the output from
this command.
You specify parameters with the Get-CasMailbox cmdlet to
get client settings for a single mailbox or for all mailbox-enabled users in an
OU. Also, the Get-CasMailbox cmdlet supports the Filter
parameter, but properties such as OWAenabled and PopEnabled are not filterable.
Therefore, you need to use the PowerShell Where-Object (?)
cmdlet. For example the following command returns the client settings for all
the mailboxes on the server on which it runs that have OWA enabled:
Get-CasMailbox | ? { $_.OWAEnabled -eq $True }
The following command saves information about client access settings in an
Exchange organization to a CSV file for further processing:
Get-CasMailbox | Export-CSV C:\ClientSettings.csv -NoType
This command returns a great deal of information, particularly about OWA
settings. In a production environment, this would be a very large file and would
be processed by powerful data manipulation software, such as SQL Server.
6. Using Exchange Server Performance Monitor
You can use counters provided by the MSExchange OWA object in Exchange Server
Performance Monitor to monitor, for example, the number of OWA users, the number
of unique users, the number of proxy users, and logons per second. You can view
the current values in these counters with System Monitor, or you can capture a
log over an extended period with the Performance Logs and Alerts tool and
compare the results with baseline logs.
Figure 16 shows the MSExchange OWA
performance object and some of its associated counters.