GFI
English Deutsch Français Italiano Nederlands Español
Products > GFI Network Server Monitor > Scripting > WMI > Samples > Exchange related

MSExchangeAL Performance Counter
MSExchangeIS Performance Counter
MSExchangeISMailbox Performance Counter


MSExchangeAL Performance Counter
The Recipient Update Service (RUS) plays a crucial role in the day-to-day operations of Exchange 2000 because it is responsible for keeping e-mail addresses and membership of address lists up to date. You should measure the Address List Queue Length when examining the RUS:
  • Address List Queue Length - shows the load the Recipient Update Service is under. If this value is consistently high compared to your baseline, you should seriously consider upgrading the server that has this role, or transferring the role from a weak or overloaded server to a more powerful one.


On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_MSExchangeAL_MSExchangeAL",,48)
For Each objItem in colItems
    Wscript.Echo "ActiveAddressListThreads: " & objItem.ActiveAddressListThreads
    Wscript.Echo "ActiveRecipientThreads: " & objItem.ActiveRecipientThreads
    Wscript.Echo "AddressListModifications: " & objItem.AddressListModifications
    Wscript.Echo "AddressListsQueueLength: " & objItem.AddressListsQueueLength
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "Frequency_Object: " & objItem.Frequency_Object
    Wscript.Echo "Frequency_PerfTime: " & objItem.Frequency_PerfTime
    Wscript.Echo "Frequency_Sys100NS: " & objItem.Frequency_Sys100NS
    Wscript.Echo "LDAPModifycalls: " & objItem.LDAPModifycalls
    Wscript.Echo "LDAPModifycallsPersec: " & objItem.LDAPModifycallsPersec
    Wscript.Echo "LDAPModifyfailures: " & objItem.LDAPModifyfailures
    Wscript.Echo "LDAPModifyfailuresPersec: " & objItem.LDAPModifyfailuresPersec
    Wscript.Echo "LDAPResults: " & objItem.LDAPResults
    Wscript.Echo "LDAPResultsPersec: " & objItem.LDAPResultsPersec
    Wscript.Echo "LDAPSearchcalls: " & objItem.LDAPSearchcalls
    Wscript.Echo "LDAPSearchcallsPersec: " & objItem.LDAPSearchcallsPersec
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "RecipientModifications: " & objItem.RecipientModifications
    Wscript.Echo "RecipientsPersec: " & objItem.RecipientsPersec
    Wscript.Echo "RecipientsQueueLength: " & objItem.RecipientsQueueLength
    Wscript.Echo "Timestamp_Object: " & objItem.Timestamp_Object
    Wscript.Echo "Timestamp_PerfTime: " & objItem.Timestamp_PerfTime
    Wscript.Echo "Timestamp_Sys100NS: " & objItem.Timestamp_Sys100NS
Next

MSExchangeIS Performance Counter
For this object, monitor the following counters:
  • User Count – This displays the number of people currently using the Information Store (not the number of connections). It is impossible to properly judge the performance of a server running Exchange unless you know how many people are using it.
  • RPC Requests – This shows the number of client requests currently being processed by the store. You should expect this figure to be fairly small, typically below 25. If it is consistently higher than this, your server is overloaded.


On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_MSExchangeIS_MSExchangeIS",,48)
For Each objItem in colItems
    Wscript.Echo "ActiveAnonymousUserCount: " & objItem.ActiveAnonymousUserCount
    Wscript.Echo "ActiveConnectionCount: " & objItem.ActiveConnectionCount
    Wscript.Echo "ActiveUserCount: " & objItem.ActiveUserCount
    Wscript.Echo "AnonymousUserCount: " & objItem.AnonymousUserCount
    Wscript.Echo "AppointmentInstanceCreationRate: " & objItem.AppointmentInstanceCreationRate
    Wscript.Echo "AppointmentInstanceDeletionRate: " & objItem.AppointmentInstanceDeletionRate
    Wscript.Echo "AppointmentInstancesCreated: " & objItem.AppointmentInstancesCreated
    Wscript.Echo "AppointmentInstancesDeleted: " & objItem.AppointmentInstancesDeleted
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "ConnectionCount: " & objItem.ConnectionCount
    Wscript.Echo "DatabaseSessionHitRate: " & objItem.DatabaseSessionHitRate
    Wscript.Echo "DatabaseSessionHitRate_Base: " & objItem.DatabaseSessionHitRate_Base
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "FBPublishCount: " & objItem.FBPublishCount
    Wscript.Echo "FBPublishRate: " & objItem.FBPublishRate
    Wscript.Echo "Frequency_Object: " & objItem.Frequency_Object
    Wscript.Echo "Frequency_PerfTime: " & objItem.Frequency_PerfTime
    Wscript.Echo "Frequency_Sys100NS: " & objItem.Frequency_Sys100NS
    Wscript.Echo "MaximumAnonymousUsers: " & objItem.MaximumAnonymousUsers
    Wscript.Echo "MaximumConnections: " & objItem.MaximumConnections
    Wscript.Echo "MaximumUsers: " & objItem.MaximumUsers
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "PeakPushNotificationsCacheSize: " & objItem.PeakPushNotificationsCacheSize
    Wscript.Echo "PushNotificationsCacheSize: " & objItem.PushNotificationsCacheSize
    Wscript.Echo "PushNotificationsGeneratedPersec: " & objItem.PushNotificationsGeneratedPersec
    Wscript.Echo "PushNotificationsSkippedPersec: " & objItem.PushNotificationsSkippedPersec
    Wscript.Echo "ReadBytesRPCClientsPersec: " & objItem.ReadBytesRPCClientsPersec
    Wscript.Echo "RecurringAppointmentDeletionRate: " & objItem.RecurringAppointmentDeletionRate
    Wscript.Echo "RecurringAppointmentModificationRate: " & objItem.RecurringAppointmentModificationRate
    Wscript.Echo "RecurringAppointmentsCreated: " & objItem.RecurringAppointmentsCreated
    Wscript.Echo "RecurringAppointmentsDeleted: " & objItem.RecurringAppointmentsDeleted
    Wscript.Echo "RecurringAppointmentsModified: " & objItem.RecurringAppointmentsModified
    Wscript.Echo "RecurringApppointmentCreationRate: " & objItem.RecurringApppointmentCreationRate
    Wscript.Echo "RecurringMasterAppointmentsExpanded: " & objItem.RecurringMasterAppointmentsExpanded
    Wscript.Echo "RecurringMasterExpansionRate: " & objItem.RecurringMasterExpansionRate
    Wscript.Echo "RPCOperationsPersec: " & objItem.RPCOperationsPersec
    Wscript.Echo "RPCPacketsPersec: " & objItem.RPCPacketsPersec
    Wscript.Echo "RPCRequests: " & objItem.RPCRequests
    Wscript.Echo "RPCRequestsPeak: " & objItem.RPCRequestsPeak
    Wscript.Echo "SingleAppointmentCreationRate: " & objItem.SingleAppointmentCreationRate
    Wscript.Echo "SingleAppointmentDeletionRate: " & objItem.SingleAppointmentDeletionRate
    Wscript.Echo "SingleAppointmentModificationRate: " & objItem.SingleAppointmentModificationRate
    Wscript.Echo "SingleAppointmentsCreated: " & objItem.SingleAppointmentsCreated
    Wscript.Echo "SingleAppointmentsDeleted: " & objItem.SingleAppointmentsDeleted
    Wscript.Echo "SingleAppointmentsModified: " & objItem.SingleAppointmentsModified
    Wscript.Echo "Timestamp_Object: " & objItem.Timestamp_Object
    Wscript.Echo "Timestamp_PerfTime: " & objItem.Timestamp_PerfTime
    Wscript.Echo "Timestamp_Sys100NS: " & objItem.Timestamp_Sys100NS
    Wscript.Echo "UserCount: " & objItem.UserCount
    Wscript.Echo "WriteBytesRPCClientsPersec: " & objItem.WriteBytesRPCClientsPersec
Next

MSExchangeISMailbox Performance Counter
MSExchangeIS Mailboxes and Public Folders:
  • Send Queue Size – This shows the queue of messages outbound from the Information Store. In situations where the SMTP service is down or there is a reduction in performance, you will see a nonzero value for this queue. On large busy systems (2000 users or more) you may never see this value at zero, but on smaller ones (500 or so medium users) you would not expect to see nonzero values for any significant period of time.
  • Messages Sent/Min – This shows the rate at which messages are sent to the transport. This figure being low is not a problem in itself, but if the Send Queue Size is nonzero and the value is still low compared to your baseline, then there are performance issues that need to be resolved (you will only be able to tell what these are by monitoring other Exchange 2000 Server and Windows 2000 counters);
  • Received Queue Size – This shows the queue of messages inbound to the Information Store. Unlike the Send Queue size, this is often nonzero, except on a bridgehead server with no local mailboxes. However, if the value is consistently high compared to your baseline, it could indicate a problem;
  • Messages Received/Min – Again a low value here could simply indicate a quiet server; however if the Receive Queue Size value is high and this value is low, it indicates that you are receiving messages that are stacking up and are not being processed.


On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_MSExchangeIS_MSExchangeISMailbox",,48)
For Each objItem in colItems
    Wscript.Echo "ActiveClientLogons: " & objItem.ActiveClientLogons
    Wscript.Echo "AverageDeliveryTime: " & objItem.AverageDeliveryTime
    Wscript.Echo "AverageLocalDeliveryTime: " & objItem.AverageLocalDeliveryTime
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "CategorizationCount: " & objItem.CategorizationCount
    Wscript.Echo "ClientLogons: " & objItem.ClientLogons
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "FolderOpensPersec: " & objItem.FolderOpensPersec
    Wscript.Echo "Frequency_Object: " & objItem.Frequency_Object
    Wscript.Echo "Frequency_PerfTime: " & objItem.Frequency_PerfTime
    Wscript.Echo "Frequency_Sys100NS: " & objItem.Frequency_Sys100NS
    Wscript.Echo "HTTPPerDAVCurrentPendingNotifications: " & objItem.HTTPPerDAVCurrentPendingNotifications
    Wscript.Echo "HTTPPerDAVCurrentSubscriptions: " & objItem.HTTPPerDAVCurrentSubscriptions
    Wscript.Echo "HTTPPerDAVCurrentTransactionLocks: " & objItem.HTTPPerDAVCurrentTransactionLocks
    Wscript.Echo "HTTPPerDAVNotifyRequestsPersec: " & objItem.HTTPPerDAVNotifyRequestsPersec
    Wscript.Echo "HTTPPerDAVTotalLocksCreated: " & objItem.HTTPPerDAVTotalLocksCreated
    Wscript.Echo "HTTPPerDAVTotalNotifyRequests: " & objItem.HTTPPerDAVTotalNotifyRequests
    Wscript.Echo "HTTPPerDAVTotalSubscriptionsCreated: " & objItem.HTTPPerDAVTotalSubscriptionsCreated
    Wscript.Echo "HTTPPerDAVTotalSubscriptionsExpired: " & objItem.HTTPPerDAVTotalSubscriptionsExpired
    Wscript.Echo "Localdeliveries: " & objItem.Localdeliveries
    Wscript.Echo "Localdeliveryrate: " & objItem.Localdeliveryrate
    Wscript.Echo "MessageOpensPersec: " & objItem.MessageOpensPersec
    Wscript.Echo "MessageRecipientsDelivered: " & objItem.MessageRecipientsDelivered
    Wscript.Echo "MessageRecipientsDeliveredPermin: " & objItem.MessageRecipientsDeliveredPermin
    Wscript.Echo "MessagesDelivered: " & objItem.MessagesDelivered
    Wscript.Echo "MessagesDeliveredPermin: " & objItem.MessagesDeliveredPermin
    Wscript.Echo "MessagesSent: " & objItem.MessagesSent
    Wscript.Echo "MessagesSentPermin: " & objItem.MessagesSentPermin
    Wscript.Echo "MessagesSubmitted: " & objItem.MessagesSubmitted
    Wscript.Echo "MessagesSubmittedPermin: " & objItem.MessagesSubmittedPermin
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "PeakClientLogons: " & objItem.PeakClientLogons
    Wscript.Echo "ReceiveQueueSize: " & objItem.ReceiveQueueSize
    Wscript.Echo "SendQueueSize: " & objItem.SendQueueSize
    Wscript.Echo "SingleInstanceRatio: " & objItem.SingleInstanceRatio
    Wscript.Echo "SingleInstanceRatio_Base: " & objItem.SingleInstanceRatio_Base
    Wscript.Echo "Timestamp_Object: " & objItem.Timestamp_Object
    Wscript.Echo "Timestamp_PerfTime: " & objItem.Timestamp_PerfTime
    Wscript.Echo "Timestamp_Sys100NS: " & objItem.Timestamp_Sys100NS
    Wscript.Echo "TotalCountofRecoverableItems: " & objItem.TotalCountofRecoverableItems
    Wscript.Echo "TotalSizeofRecoverableItems: " & objItem.TotalSizeofRecoverableItems
Next


   © 2008. All rights reserved. GFI Software Home Products Download trials Support Ordering Site map About us Contact us
GFI solutions: Exchange anti spam filter - exchange anti virus - isa server - network vulnerability scanner - event log management - USB security software - exchange archiving - fax server software