Win32_PerfFormattedData_W3SVC_WebService python sample code
The foundations for Manageability in Windows is Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).
ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself. The Win32_PerfFormattedData_W3SVC_WebService WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Sample Code
import win32com.client def WMIDateStringToDate(dtmDate): strDateTime = "" if (dtmDate[4] == 0): strDateTime = dtmDate[5] + '/' else: strDateTime = dtmDate[4] + dtmDate[5] + '/' if (dtmDate[6] == 0): strDateTime = strDateTime + dtmDate[7] + '/' else: strDateTime = strDateTime + dtmDate[6] + dtmDate[7] + '/' strDateTime = strDateTime + dtmDate[0] + dtmDate[1] + dtmDate[2] + dtmDate[3] + " " + dtmDate[8] + dtmDate[9] + ":" + dtmDate[10] + dtmDate[11] +':' + dtmDate[12] + dtmDate[13] return strDateTime strComputer = "." objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator") objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2") colItems = objSWbemServices.ExecQuery("SELECT * FROM Win32_PerfFormattedData_W3SVC_WebService") for objItem in colItems: if objItem.AnonymousUsersPersec != None: print "AnonymousUsersPersec:" + ` objItem.AnonymousUsersPersec` if objItem.BytesReceivedPersec != None: print "BytesReceivedPersec:" + ` objItem.BytesReceivedPersec` if objItem.BytesSentPersec != None: print "BytesSentPersec:" + ` objItem.BytesSentPersec` if objItem.BytesTotalPersec != None: print "BytesTotalPersec:" + ` objItem.BytesTotalPersec` if objItem.Caption != None: print "Caption:" + ` objItem.Caption` if objItem.CGIRequestsPersec != None: print "CGIRequestsPersec:" + ` objItem.CGIRequestsPersec` if objItem.ConnectionAttemptsPersec != None: print "ConnectionAttemptsPersec:" + ` objItem.ConnectionAttemptsPersec` if objItem.CopyRequestsPersec != None: print "CopyRequestsPersec:" + ` objItem.CopyRequestsPersec` if objItem.CurrentAnonymousUsers != None: print "CurrentAnonymousUsers:" + ` objItem.CurrentAnonymousUsers` if objItem.CurrentBlockedAsyncIORequests != None: print "CurrentBlockedAsyncIORequests:" + ` objItem.CurrentBlockedAsyncIORequests` if objItem.Currentblockedbandwidthbytes != None: print "Currentblockedbandwidthbytes:" + ` objItem.Currentblockedbandwidthbytes` if objItem.CurrentCALcountforauthenticatedusers != None: print "CurrentCALcountforauthenticatedusers:" + ` objItem.CurrentCALcountforauthenticatedusers` if objItem.CurrentCALcountforSSLconnections != None: print "CurrentCALcountforSSLconnections:" + ` objItem.CurrentCALcountforSSLconnections` if objItem.CurrentCGIRequests != None: print "CurrentCGIRequests:" + ` objItem.CurrentCGIRequests` if objItem.CurrentConnections != None: print "CurrentConnections:" + ` objItem.CurrentConnections` if objItem.CurrentISAPIExtensionRequests != None: print "CurrentISAPIExtensionRequests:" + ` objItem.CurrentISAPIExtensionRequests` if objItem.CurrentNonAnonymousUsers != None: print "CurrentNonAnonymousUsers:" + ` objItem.CurrentNonAnonymousUsers` if objItem.DeleteRequestsPersec != None: print "DeleteRequestsPersec:" + ` objItem.DeleteRequestsPersec` if objItem.Description != None: print "Description:" + ` objItem.Description` if objItem.FilesPersec != None: print "FilesPersec:" + ` objItem.FilesPersec` if objItem.FilesReceivedPersec != None: print "FilesReceivedPersec:" + ` objItem.FilesReceivedPersec` if objItem.FilesSentPersec != None: print "FilesSentPersec:" + ` objItem.FilesSentPersec` if objItem.Frequency_Object != None: print "Frequency_Object:" + ` objItem.Frequency_Object` if objItem.Frequency_PerfTime != None: print "Frequency_PerfTime:" + ` objItem.Frequency_PerfTime` if objItem.Frequency_Sys100NS != None: print "Frequency_Sys100NS:" + ` objItem.Frequency_Sys100NS` if objItem.GetRequestsPersec != None: print "GetRequestsPersec:" + ` objItem.GetRequestsPersec` if objItem.HeadRequestsPersec != None: print "HeadRequestsPersec:" + ` objItem.HeadRequestsPersec` if objItem.ISAPIExtensionRequestsPersec != None: print "ISAPIExtensionRequestsPersec:" + ` objItem.ISAPIExtensionRequestsPersec` if objItem.LockedErrorsPersec != None: print "LockedErrorsPersec:" + ` objItem.LockedErrorsPersec` if objItem.LockRequestsPersec != None: print "LockRequestsPersec:" + ` objItem.LockRequestsPersec` if objItem.LogonAttemptsPersec != None: print "LogonAttemptsPersec:" + ` objItem.LogonAttemptsPersec` if objItem.MaximumAnonymousUsers != None: print "MaximumAnonymousUsers:" + ` objItem.MaximumAnonymousUsers` if objItem.MaximumCALcountforauthenticatedusers != None: print "MaximumCALcountforauthenticatedusers:" + ` objItem.MaximumCALcountforauthenticatedusers` if objItem.MaximumCALcountforSSLconnections != None: print "MaximumCALcountforSSLconnections:" + ` objItem.MaximumCALcountforSSLconnections` if objItem.MaximumCGIRequests != None: print "MaximumCGIRequests:" + ` objItem.MaximumCGIRequests` if objItem.MaximumConnections != None: print "MaximumConnections:" + ` objItem.MaximumConnections` if objItem.MaximumISAPIExtensionRequests != None: print "MaximumISAPIExtensionRequests:" + ` objItem.MaximumISAPIExtensionRequests` if objItem.MaximumNonAnonymousUsers != None: print "MaximumNonAnonymousUsers:" + ` objItem.MaximumNonAnonymousUsers` if objItem.MeasuredAsyncIOBandwidthUsage != None: print "MeasuredAsyncIOBandwidthUsage:" + ` objItem.MeasuredAsyncIOBandwidthUsage` if objItem.MkcolRequestsPersec != None: print "MkcolRequestsPersec:" + ` objItem.MkcolRequestsPersec` if objItem.MoveRequestsPersec != None: print "MoveRequestsPersec:" + ` objItem.MoveRequestsPersec` if objItem.Name != None: print "Name:" + ` objItem.Name` if objItem.NonAnonymousUsersPersec != None: print "NonAnonymousUsersPersec:" + ` objItem.NonAnonymousUsersPersec` if objItem.NotFoundErrorsPersec != None: print "NotFoundErrorsPersec:" + ` objItem.NotFoundErrorsPersec` if objItem.OptionsRequestsPersec != None: print "OptionsRequestsPersec:" + ` objItem.OptionsRequestsPersec` if objItem.OtherRequestMethodsPersec != None: print "OtherRequestMethodsPersec:" + ` objItem.OtherRequestMethodsPersec` if objItem.PostRequestsPersec != None: print "PostRequestsPersec:" + ` objItem.PostRequestsPersec` if objItem.PropfindRequestsPersec != None: print "PropfindRequestsPersec:" + ` objItem.PropfindRequestsPersec` if objItem.ProppatchRequestsPersec != None: print "ProppatchRequestsPersec:" + ` objItem.ProppatchRequestsPersec` if objItem.PutRequestsPersec != None: print "PutRequestsPersec:" + ` objItem.PutRequestsPersec` if objItem.SearchRequestsPersec != None: print "SearchRequestsPersec:" + ` objItem.SearchRequestsPersec` if objItem.ServiceUptime != None: print "ServiceUptime:" + ` objItem.ServiceUptime` if objItem.Timestamp_Object != None: print "Timestamp_Object:" + ` objItem.Timestamp_Object` if objItem.Timestamp_PerfTime != None: print "Timestamp_PerfTime:" + ` objItem.Timestamp_PerfTime` if objItem.Timestamp_Sys100NS != None: print "Timestamp_Sys100NS:" + ` objItem.Timestamp_Sys100NS` if objItem.TotalAllowedAsyncIORequests != None: print "TotalAllowedAsyncIORequests:" + ` objItem.TotalAllowedAsyncIORequests` if objItem.TotalAnonymousUsers != None: print "TotalAnonymousUsers:" + ` objItem.TotalAnonymousUsers` if objItem.TotalBlockedAsyncIORequests != None: print "TotalBlockedAsyncIORequests:" + ` objItem.TotalBlockedAsyncIORequests` if objItem.Totalblockedbandwidthbytes != None: print "Totalblockedbandwidthbytes:" + ` objItem.Totalblockedbandwidthbytes` if objItem.TotalBytesReceived != None: print "TotalBytesReceived:" + ` objItem.TotalBytesReceived` if objItem.TotalBytesSent != None: print "TotalBytesSent:" + ` objItem.TotalBytesSent` if objItem.TotalBytesTransfered != None: print "TotalBytesTransfered:" + ` objItem.TotalBytesTransfered` if objItem.TotalCGIRequests != None: print "TotalCGIRequests:" + ` objItem.TotalCGIRequests` if objItem.TotalConnectionAttemptsallinstances != None: print "TotalConnectionAttemptsallinstances:" + ` objItem.TotalConnectionAttemptsallinstances` if objItem.TotalCopyRequests != None: print "TotalCopyRequests:" + ` objItem.TotalCopyRequests` if objItem.TotalcountoffailedCALrequestsforauthenticatedusers != None: print "TotalcountoffailedCALrequestsforauthenticatedusers:" + ` objItem.TotalcountoffailedCALrequestsforauthenticatedusers` if objItem.TotalcountoffailedCALrequestsforSSLconnections != None: print "TotalcountoffailedCALrequestsforSSLconnections:" + ` objItem.TotalcountoffailedCALrequestsforSSLconnections` if objItem.TotalDeleteRequests != None: print "TotalDeleteRequests:" + ` objItem.TotalDeleteRequests` if objItem.TotalFilesReceived != None: print "TotalFilesReceived:" + ` objItem.TotalFilesReceived` if objItem.TotalFilesSent != None: print "TotalFilesSent:" + ` objItem.TotalFilesSent` if objItem.TotalFilesTransferred != None: print "TotalFilesTransferred:" + ` objItem.TotalFilesTransferred` if objItem.TotalGetRequests != None: print "TotalGetRequests:" + ` objItem.TotalGetRequests` if objItem.TotalHeadRequests != None: print "TotalHeadRequests:" + ` objItem.TotalHeadRequests` if objItem.TotalISAPIExtensionRequests != None: print "TotalISAPIExtensionRequests:" + ` objItem.TotalISAPIExtensionRequests` if objItem.TotalLockedErrors != None: print "TotalLockedErrors:" + ` objItem.TotalLockedErrors` if objItem.TotalLockRequests != None: print "TotalLockRequests:" + ` objItem.TotalLockRequests` if objItem.TotalLogonAttempts != None: print "TotalLogonAttempts:" + ` objItem.TotalLogonAttempts` if objItem.TotalMethodRequests != None: print "TotalMethodRequests:" + ` objItem.TotalMethodRequests` if objItem.TotalMethodRequestsPersec != None: print "TotalMethodRequestsPersec:" + ` objItem.TotalMethodRequestsPersec` if objItem.TotalMkcolRequests != None: print "TotalMkcolRequests:" + ` objItem.TotalMkcolRequests` if objItem.TotalMoveRequests != None: print "TotalMoveRequests:" + ` objItem.TotalMoveRequests` if objItem.TotalNonAnonymousUsers != None: print "TotalNonAnonymousUsers:" + ` objItem.TotalNonAnonymousUsers` if objItem.TotalNotFoundErrors != None: print "TotalNotFoundErrors:" + ` objItem.TotalNotFoundErrors` if objItem.TotalOptionsRequests != None: print "TotalOptionsRequests:" + ` objItem.TotalOptionsRequests` if objItem.TotalOtherRequestMethods != None: print "TotalOtherRequestMethods:" + ` objItem.TotalOtherRequestMethods` if objItem.TotalPostRequests != None: print "TotalPostRequests:" + ` objItem.TotalPostRequests` if objItem.TotalPropfindRequests != None: print "TotalPropfindRequests:" + ` objItem.TotalPropfindRequests` if objItem.TotalProppatchRequests != None: print "TotalProppatchRequests:" + ` objItem.TotalProppatchRequests` if objItem.TotalPutRequests != None: print "TotalPutRequests:" + ` objItem.TotalPutRequests` if objItem.TotalRejectedAsyncIORequests != None: print "TotalRejectedAsyncIORequests:" + ` objItem.TotalRejectedAsyncIORequests` if objItem.TotalSearchRequests != None: print "TotalSearchRequests:" + ` objItem.TotalSearchRequests` if objItem.TotalTraceRequests != None: print "TotalTraceRequests:" + ` objItem.TotalTraceRequests` if objItem.TotalUnlockRequests != None: print "TotalUnlockRequests:" + ` objItem.TotalUnlockRequests` if objItem.TraceRequestsPersec != None: print "TraceRequestsPersec:" + ` objItem.TraceRequestsPersec` if objItem.UnlockRequestsPersec != None: print "UnlockRequestsPersec:" + ` objItem.UnlockRequestsPersec`