Home > Exchange 2003 > Which Exchange 2003 clients are being used?

Which Exchange 2003 clients are being used?

Like most organizations, supporting the endless amount of Outlook, POP, IMAP, ActiveSync, Webdav and any other 3rd party applications are support staffs’ worst nightmares.  More often than not if users would upgrade their applications to the latest and greatest patches, most of our support issues would go away.  We have written a small script to poll our exchange servers and dump which clients are being used.  We are calling the objItem.ClientVersion by virtue of the Exchange WMI class.  This should help track down all of your rogue clients out there and help determine who is in cached or non-cached mode!

Outlook 2003 Version 11.0.6555 Count:                                                    339
Outlook 2003 Version 11.0.8000 Count:                                                    20440
===============================================
Outlook 2007 12.0.3820.1002 Count:
Outlook 2007 12.0.4407.1004 Count:
Outlook 2007 12.0.4518.1014 Count:                                                        986
Outlook 2007 12.0.6017.5000 Count:
Outlook 2007 12.0.6023.5000 Count:
Outlook 2007 12.0.6024.5000 Count:                                                        5102
===============================================
HTTP Count (Webmail, RPC over HTTP,WebDav):                                        27150
IMAP4 Count:                                                                                       763
SMTP Count:                                                                                        328
OLEDB Count: “This is System Mailbox work.”                                              16
Other Connection Count:                                                                        23
===============================================
===============================================
Total Count:                                                                                        58294
===============================================
===============================================
=============Client Mode Logons Used===========
Client Mode 0 Count:                                                                             650 (‘pre-Outlook)
Client Mode 1 Count:                                                                             22052 (Online)
Client Mode 2 Count:                                                                             14149 (Cached Mode)

Here is the script:

‘========================================================================================

‘Exchange Client Summary
‘Author: Ed McKinzie
https://edmckinzie.wordpress.com

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array(“EmailServer1”, “EmailServer2″,”EmailServer3”)

For Each strComputer In arrComputers
Set objWMIService = GetObject(“winmgmts:\\” & strComputer & “\root\MicrosoftExchangeV2”)
Set colItems = objWMIService.ExecQuery(“SELECT * FROM Exchange_Logon”, “WQL”, _
wbemFlagReturnImmediately + wbemFlagForwardOnly)

Prior_User = ” ”
Wscript.Echo ” ”

‘Enable these to see what server is being hit.
Wscript.Echo ” Processing: ” & strComputer & “…………………………….”
‘Wscript.Echo ” IF users appear here, they are running Outlook clients ”
‘Wscript.Echo ” older than 10.0.0.6515 or Outlook 2000 or older: ”
‘Wscript.Echo ” ”

For Each objItem In colItems

‘Client Mode
Select Case objItem.ClientMode
Case 0
Mode0 = Mode0 + 1
Case 1
Mode1 = Mode1 + 1
Case 2
Mode2 = Mode2 + 1

Case Else

End Select

If Prior_user <> objItem.LoggedOnUserAccount then

‘If objItem.ClientMode = 0 or objItem.ClientMode = 2 then

‘WScript.Echo “Non-Cached Mode ” & objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount

‘Client Version
Select Case objItem.ClientVersion

Case “10.0.0.2625”
‘**************************************************************************ENABLE THIS TO SEE WHO HAS OLDER CLIENTS ON THE FLY**************
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-2002-(Initial-RTM)-Version-10.0.0.2625”
Outlook2625 = Outlook2625 + 1

Case “10.0.0.2627”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-2002-Version-10.0.0.2627”
Outlook2627 = Outlook2627 + 1

Case “10.0.0.3416”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-2002-Version-10.0.0.3416”
Outlook3416 = Outlook3416 + 1

Case “10.0.0.4115”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-2002-Version-10.0.0.4115”
Outlook4115 = Outlook4115 + 1

Case “10.0.0.6515”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-2002-Version-10.0.0.6515”
Outlook6515 = Outlook6515 + 1

Case “10.0.0.6742”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-2002-Version-10.0.0.6515”
Outlook6742 = Outlook6742 + 1

Case “11.0.5604.0”
Outlook5604 = Outlook5604 + 1

Case “11.5608.5703”
Outlook11_5608 = Outlook11_5608 + 1

Case “11.0.6352.0”
Outlook6352 = Outlook6352 + 1

Case “11.0.6359.6360”
Outlook11_6359 = Outlook11_6359 + 1

Case “11.0.6555.0”
Outlook6555 = Outlook6555 + 1

Case “11.0.8000.0”
Outlook8000 = Outlook8000 + 1

Case “11.0.8161.0”
Outlook8161 = Outlook8161 + 1

Case “11.0.8200.0”
Outlook8200 = Outlook8200 + 1

Case “12.0.3820.1002”
Outlook12_0 = Outlook12_0 + 1

Case “12.0.4407.1004”
Outlook12_4 = Outlook12_4 + 1

Case “12.0.4518.1014”
Outlook12_4518 = Outlook12_4518 + 1

Case “12.0.6017.5000”
Outlook12_17 = Outlook12_17 + 1

Case “12.0.6023.5000”
Outlook12_23 = Outlook12_23 + 1

Case “12.0.6024.5000”
Outlook12_24 = Outlook12_24 + 1

Case “12.0.6211.1000”
Outlook12_6211 = Outlook12_6211 + 1

Case “12.6315.5000”
Outlook12_6315 = Outlook12_6315 + 1

Case “12.6504.5001”
Outlook12_6504 = Outlook12_6504 + 1

Case “5.0.2178.7”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-98-Ver-8.5-(MSX-Build-5.0.2178.7)”
Outlook50_2178_7 = Outlook50_2178_7 + 1

Case “5.0.2544.7”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-98-BlackBerry-Legacy-Version-5.0.2544.7 ”
Outlook50_2544_7 = Outlook50_2544_7 + 1

Case “5.0.2600.0”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-2000-(Initial-RTM)-Version-5.0.2600.0 ”
Outlook50_2600_0 = Outlook50_2600_0 + 1

Case “5.0.3121.0”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-2000-Version-5.0.3121.0 ”
Outlook50_3121_0 = Outlook50_3121_0 + 1

Case “5.0.3165.0”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-2000-5.0.3165.0 ”
Outlook50_3165_0 = Outlook50_3165_0 + 1

Case “6.0.6249.0”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “32-Bit-tool-6.0.6249.0”
Outlook60_6249_0 = Outlook60_6249_0 + 1

Case “6.0.7226.0”
Outlook60_7226_0 = Outlook60_7226_0 + 1

Case “6.0.7638.2”
‘WScript.Echo objItem.ClientIP & CHR(9) & objItem.LoggedOnUserAccount & CHR(9) & “Outlook-98-BlackBerry-Legacy-Version-6.0.7638.2 ”
Outlook60_7638_2 = Outlook60_7638_2 + 1

Case “HTTP”
HTTP_Count = HTTP_Count + 1

Case “IMAP4”
IMAP4_Count = IMAP4_Count + 1

Case “SMTP”
SMTP_Count = SMTP_Count + 1

Case “OLEDB”
OLEDB_Count = OLEDB_Count + 1

Case Else     ‘If no client version is found
client_none = client_none + 1

End Select

‘Totalling the results
Total_Count = (Outlook2627 + Outlook2625 + Outlook3416 + Outlook4115 +  Outlook6515 + Outlook6742 + Outlook5604 + Outlook11_5608 + Outlook6352 + Outlook6555 + Outlook8000 + Outlook8200 + Outlook8161 + Outlook12_0 + Outlook12_4 + Outlook50_2178_7 + Outlook12_17 + Outlook12_4518 + Outlook12_6315 + Outlook12_6504 + Outlook12_23 + Outlook12_24 + Outlook50_2544_7 + Outlook50_2600_0 + Outlook50_3121_0 + Outlook50_3165_0 + Outlook60_6249_0 + Outlook11_6359 + Outlook60_7226_0 + Outlook60_7638_2 +HTTP_Count + IMAP4_Count + SMTP_Count + OLEDB + client_none)

End if
‘End if
Prior_User = objItem.LoggedOnUserAccount

Next

Next

WScript.Echo “============================================================================”
WScript.Echo “********** Mailbox Logons per Client Used **********”
WScript.Echo “32 Bit tool 6.0.6249.0 Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Outlook60_6249_0
WScript.Echo “BlackBerry 6.0.7226.0 Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Outlook60_7226_0
WScript.Echo “============================================================================”
WScript.Echo “Outlook 98 Ver 8.5 (MSX Build 5.0.2178.7) Count: ” & Chr(9) & Chr(9) & Outlook50_2178_7
WScript.Echo “Outlook 98\BlackBerry\Legacy – Version 5.0.2544.7 Count: ” & Chr(9) & Chr(9) & Outlook50_2544_7
WScript.Echo “Outlook 98\BlackBerry\Legacy – Version 6.0.7638.2 Count: ” & Chr(9) & Outlook60_7638_2
WScript.Echo “============================================================================”
WScript.Echo “Outlook 2000 (Initial RTM) Version 5.0.2600.0 Count: ” & Chr(9) & Chr(9) & Outlook50_2600_0
WScript.Echo “Outlook 2000 Version 5.0.3121.0 Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Outlook50_3121_0
WScript.Echo “Outlook 2000 5.0.3165.0 Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Outlook50_3165_0
WScript.Echo “============================================================================”
WScript.Echo “Outlook 2002 (Initial RTM) Version 10.0.0.2625 Count: ” & Chr(9) & Chr(9) & Outlook2625
WScript.Echo “Outlook 2002 Version 10.0.0.2627 Count: ” & Chr(9) & Chr(9) & Chr(9) & Outlook2627
WScript.Echo “Outlook 2002 (SP1) Version 10.0.0.3416 Count: ” & Chr(9) & Chr(9) & Chr(9) & Outlook3416
WScript.Echo “Outlook 2002 (SP2) Version 10.0.0.4115 Count: ” & Chr(9) & Chr(9) & Chr(9) & Outlook4115
WScript.Echo “Outlook 2002 (SP3) Version 10.0.0.6515 Count: ” & Chr(9) & Chr(9) & Chr(9) & Outlook6515
WScript.Echo “Outlook 2002 Version 10.0.0.6742 Count: ” & Chr(9) & Chr(9) & Chr(9) & Outlook6742
WScript.Echo “============================================================================”
WScript.Echo “Outlook 2003 (Initial RTM) Version 11.0.5604 Count: ” & Chr(9) & Chr(9) & Outlook5604
WScript.Echo “Outlook 2003 Version 11.5608.5703 (MSX Build 11.0.5604) Count: ” & Chr(9) & Chr(9) & Outlook11_5608
WScript.Echo “Outlook 2003 (SP1 RTM) Version 11.0.6352 Count: ” & Chr(9) & Chr(9) & Outlook6352
WScript.Echo “Outlook 2003 SP1 11.6359.6360 (MSX Build 11.0.6353) Count: ” & Chr(9) & Chr(9) & Outlook11_6353
WScript.Echo “Outlook 2003 Version 11.0.6555 Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Outlook6555
WScript.Echo “Outlook 2003 Version 11.0.8000 Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Outlook8000
WScript.Echo “Outlook 2003 Version 11.0.8161 Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Outlook8161
WScript.Echo “Outlook 2003 Version 11.0.8200 Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Outlook8200
WScript.Echo “============================================================================”
WScript.Echo “Outlook 2007 Beta Version 12.0.3820.1002 Count: ” & Chr(9) & Chr(9) & Outlook12_0
WScript.Echo “Outlook 2007 Beta Version 12.0.4407.1004 Count: ” & Chr(9) & Chr(9) & Outlook12_4
WScript.Echo “Outlook 2007 Beta Version 12.0.4518.1014 Count: ” & Chr(9) & Chr(9) & Outlook12_4518
WScript.Echo “Outlook 2007 12.0.6017.5000 Count: ” & Chr(9) & Chr(9) & Outlook12_17
WScript.Echo “Outlook 2007 12.0.6023.5000 Count: ” & Chr(9) & Chr(9) & Outlook12_23
WScript.Echo “Outlook 2007 12.0.6024.5000 Count: ” & Chr(9) & Chr(9) & Outlook12_24
WScript.Echo “Outlook 2007 12.0.6211.1000 Count: ” & Chr(9) & Chr(9) & Outlook12_6211
WScript.Echo “Outlook 2007 12.0.6315.5000 Count: ” & Chr(9) & Chr(9) & Outlook12_6315
WScript.Echo “Outlook 2007 12.0.6504.5001 Count: ” & Chr(9) & Chr(9) & Outlook12_6504
WScript.Echo “============================================================================”
WScript.Echo “HTTP Count (Includes Webmail, RPC over HTTP and WebDav: ” & Chr(9) & HTTP_Count
WScript.Echo “IMAP4 Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & IMAP4_Count
WScript.Echo “SMTP Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & SMTP_Count
WScript.Echo “OLEDB Count: ” & “”” — This is System Mailbox work. — “”” & Chr(9) & Chr(9) & OLEDB_Count
Wscript.Echo “Other Connection Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & client_none
WScript.Echo “============================================================================”
WScript.Echo “============================================================================”
Wscript.Echo “Total Count: ” & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Total_Count
WScript.Echo “============================================================================”
WScript.Echo “============================================================================”
WScript.Echo “=============Client Mode Logons Used================”
WScript.Echo “Client Mode 0 Count: ” & Mode0 & ” (‘unknown’ and seems to indicate pre-Outlook 2003 (version 11) clients.)”
WScript.Echo “Client Mode 1 Count: ” & Mode1 & ” (Online)”
WScript.Echo “Client Mode 2 Count: ” & Mode2 & ” (Cached Mode)”
WScript.Echo “============================================================================”
WScript.Echo “Contact Ed McKinzie or the Email Server Group with questions about this script.”

Function WMIDateStringToDate(dtmDate)
WScript.Echo dtm:
WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & “/” & _
Mid(dtmDate, 7, 2) & “/” & Left(dtmDate, 4) _
& ” ” & Mid (dtmDate, 9, 2) & “:” & Mid(dtmDate, 11, 2) & “:” & Mid(dtmDate,13, 2))
End Function

Advertisements
Categories: Exchange 2003
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: