Contact Info

Crumbtrail

ActiveXperts.com » Administration » VBScript Collection » Operating System » Monitoring

Operating System Monitoring Scripts

Monitor Browser Service Performance
Monitor Operating System Objects
Monitor Operating System Performance
Monitor Server Performance
Monitor Server Work Queues


You can use any of the VBScript programs below in ActiveXperts Network Monitor. Click here for an explanation about how to include scripts in ActiveXperts Network Monitor.



Monitor Browser Service Performance


Uses cooked performance counters to monitor the rates of announcements, enumerations, and other browser transmissions
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set objRefresher = CreateObject("WbemScripting.SWbemRefresher")
Set colItems = objRefresher.AddEnum _
    (objWMIService, "Win32_PerfFormattedData_PerfNet_Browser").objectSet
objRefresher.Refresh

For i = 1 to 5
    For Each objItem in colItems
        Wscript.Echo "Announcements Domain Per Second: " & _
            objItem.AnnouncementsDomainPersec
        Wscript.Echo "Announcements Server Per Second: " & _
            objItem.AnnouncementsServerPersec
        Wscript.Echo "Announcements Total Per Second: " & _
            objItem.AnnouncementsTotalPersec
        Wscript.Echo "Caption: " & objItem.Caption
        Wscript.Echo "Description: " & objItem.Description
        Wscript.Echo "Duplicate Master Announcements: " & _
            objItem.DuplicateMasterAnnouncements
        Wscript.Echo "Election Packets Per Second: " & _
            objItem.ElectionPacketsPersec
        Wscript.Echo "Enumerations Domain Per Second: " & _
            objItem.EnumerationsDomainPersec
        Wscript.Echo "Enumerations Other Per Second: " & _
            objItem.EnumerationsOtherPersec
        Wscript.Echo "Enumerations Server Per Second: " & _
            objItem.EnumerationsServerPersec
        Wscript.Echo "Enumerations Total Per Second: " & _
            objItem.EnumerationsTotalPersec
        Wscript.Echo "Illegal Datagrams Per Second: " & _
            objItem.IllegalDatagramsPersec
        Wscript.Echo "Mailslot Allocations Failed: " & _
            objItem.MailslotAllocationsFailed
        Wscript.Echo "Mailslot Opens Failed Per Second: " & _
            objItem.MailslotOpensFailedPersec
        Wscript.Echo "Mailslot Receives Failed: " & _
            objItem.MailslotReceivesFailed
        Wscript.Echo "Mailslot Writes Failed: " & objItem.MailslotWritesFailed
        Wscript.Echo "Mailslot Writes Per Second: " & _
            objItem.MailslotWritesPersec
        Wscript.Echo "Missed Mailslot Datagrams: " & _
            objItem.MissedMailslotDatagrams
        Wscript.Echo "Missed Server Announcements: " & _
            objItem.MissedServerAnnouncements
        Wscript.Echo "Missed Server List Requests: " & _
            objItem.MissedServerListRequests
        Wscript.Echo "Name: " & objItem.Name
        Wscript.Echo "Server Announce Allocations Failed Per Second: " & _
            objItem.ServerAnnounceAllocationsFailedPersec
        Wscript.Echo "Server List Requests Per Second: " & _
            objItem.ServerListRequestsPersec
        Wscript.Sleep 2000
        objRefresher.Refresh
    Next
Next
	

Monitor Operating System Objects


Uses cooked performance counters to return the count of the objects maintained by the operating system, including events, mutexes, processes, sections, semaphores, and threads.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set objRefresher = CreateObject("WbemScripting.SWbemRefresher")
Set colItems = objRefresher.AddEnum _
    (objWMIService, "Win32_PerfFormattedData_PerfOS_Objects").objectSet
objRefresher.Refresh

For i = 1 to 5
    For Each objItem in colItems
        Wscript.Echo "Caption: " & objItem.Caption
        Wscript.Echo "Description: " & objItem.Description
        Wscript.Echo "Events: " & objItem.Events
        Wscript.Echo "Mutexes: " & objItem.Mutexes
        Wscript.Echo "Name: " & objItem.Name
        Wscript.Echo "Processes: " & objItem.Processes
        Wscript.Echo "Sections: " & objItem.Sections
        Wscript.Echo "Semaphores: " & objItem.Semaphores
        Wscript.Echo "Threads: " & objItem.Threads
        objRefresher.Refresh
    Next
Next
	

Monitor Operating System Performance


Uses cooked performance counters to monitor counters that apply to more than one instance of a component processors on the computer
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set objRefresher = CreateObject("WbemScripting.SWbemRefresher")
Set colItems = objRefresher.AddEnum _
    (objWMIService, "Win32_PerfFormattedData_PerfOS_System").objectSet
objRefresher.Refresh

For i = 1 to 5
    For Each objItem in colItems
        Wscript.Echo "Alignment Fixups Per Second: " & _
            objItem.AlignmentFixupsPersec
        Wscript.Echo "Caption: " & objItem.Caption
        Wscript.Echo "Context Switches Per Second: " & _
            objItem.ContextSwitchesPersec
        Wscript.Echo "Description: " & objItem.Description
        Wscript.Echo "Exception Dispatches Per Second: " & _
            objItem.ExceptionDispatchesPersec
        Wscript.Echo "File Control Bytes Per Second: " & _
            objItem.FileControlBytesPersec
        Wscript.Echo "File Control Operations Per Second: " & _
            objItem.FileControlOperationsPersec
        Wscript.Echo "File Data Operations Per Second: " & _
            objItem.FileDataOperationsPersec
        Wscript.Echo "File Read Bytes Per Second: " & _
            objItem.FileReadBytesPersec
        Wscript.Echo "File Read Operations Per Second: " & _
            objItem.FileReadOperationsPersec
        Wscript.Echo "File Write Bytes Per Second: " & _
            objItem.FileWriteBytesPersec
        Wscript.Echo "File Write Operations Per Second: " & _
            objItem.FileWriteOperationsPersec
        Wscript.Echo "Floating Emulations Per Second: " & _
            objItem.FloatingEmulationsPersec
        Wscript.Echo "Name: " & objItem.Name
        Wscript.Echo "Percent Registry Quota In Use: " & _
            objItem.PercentRegistryQuotaInUse
        Wscript.Echo "Processes: " & objItem.Processes
        Wscript.Echo "Processor Queue Length: " & _
            objItem.ProcessorQueueLength
        Wscript.Echo "System Calls Per Second: " & _
            objItem.SystemCallsPersec
        Wscript.Echo "System UpTime: " & objItem.SystemUpTime
        Wscript.Echo "Threads: " & objItem.Threads
        Wscript.Sleep 2000
        objRefresher.Refresh
    Next
Next
	

Monitor Server Performance


Uses cooked performance counters to monitor communications using the WINS Server service.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set objRefresher = CreateObject("WbemScripting.SWbemRefresher")
Set colItems = objRefresher.AddEnum _
    (objWMIService, "Win32_PerfFormattedData_PerfNet_Server").objectSet
objRefresher.Refresh

For i = 1 to 5
    For Each objItem in colItems
        Wscript.Echo "Blocking Requests Rejected: " & _
            objItem.BlockingRequestsRejected
        Wscript.Echo "Bytes Received Per Second: " & _
            objItem.BytesReceivedPersec
        Wscript.Echo "Bytes Total Per Second: " & objItem.BytesTotalPersec
        Wscript.Echo "Bytes Transmitted Per Second: " & _
            objItem.BytesTransmittedPersec
        Wscript.Echo "Caption: " & objItem.Caption
        Wscript.Echo "Context Blocks Queued Per Second: " & _
            objItem.ContextBlocksQueuedPersec
        Wscript.Echo "Description: " & objItem.Description
        Wscript.Echo "Errors Access Permissions: " & _
            objItem.ErrorsAccessPermissions
        Wscript.Echo "Errors Granted Access: " & _
            objItem.ErrorsGrantedAccess
        Wscript.Echo "Errors Logon: " & objItem.ErrorsLogon
        Wscript.Echo "Errors System: " & objItem.ErrorsSystem
        Wscript.Echo "File Directory Searches: " & _
            objItem.FileDirectorySearches
        Wscript.Echo "Files Open: " & objItem.FilesOpen
        Wscript.Echo "Files Opened Total: " & objItem.FilesOpenedTotal
        Wscript.Echo "Logon Per Second: " & objItem.LogonPersec
        Wscript.Echo "Logon Total: " & objItem.LogonTotal
        Wscript.Echo "Name: " & objItem.Name
        Wscript.Echo "Pool Nonpaged Bytes: " & objItem.PoolNonpagedBytes
        Wscript.Echo "Pool Nonpaged Failures: " & _
            objItem.PoolNonpagedFailures
        Wscript.Echo "Pool Nonpaged Peak: " & objItem.PoolNonpagedPeak
        Wscript.Echo "Pool Paged Bytes: " & objItem.PoolPagedBytes
        Wscript.Echo "Pool Paged Failures: " & objItem.PoolPagedFailures
        Wscript.Echo "Pool Paged Peak: " & objItem.PoolPagedPeak
        Wscript.Echo "Server Sessions: " & objItem.ServerSessions
        Wscript.Echo "Sessions Errored Out: " & objItem.SessionsErroredOut
        Wscript.Echo "Sessions Forced Off: " & objItem.SessionsForcedOff
        Wscript.Echo "Sessions Logged Off: " & objItem.SessionsLoggedOff
        Wscript.Echo "Sessions Timed Out: " & objItem.SessionsTimedOut
        Wscript.Echo "Work Item Shortages: " & objItem.WorkItemShortages
        Wscript.Sleep 2000
        objRefresher.Refresh
    Next
Next
	

Monitor Server Work Queues


Uses cooked performance counters to monitor the length of the queues and objects in the queues
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set objRefresher = CreateObject("WbemScripting.SWbemRefresher")
Set colItems = objRefresher.AddEnum(objWMIService, _
    "Win32_PerfFormattedData_PerfNet_ServerWorkQueues").objectSet
objRefresher.Refresh

For i = 1 to 5
    For Each objItem in colItems
        Wscript.Echo "Active Threads: " & objItem.ActiveThreads
        Wscript.Echo "Available Threads: " & objItem.AvailableThreads
        Wscript.Echo "Available Work Items: " & objItem.AvailableWorkItems
        Wscript.Echo "Borrowed Work Items: " & objItem.BorrowedWorkItems
        Wscript.Echo "Bytes Received Per Second: " & _
            objItem.BytesReceivedPersec
        Wscript.Echo "Bytes Sent Per Second: " & objItem.BytesSentPersec
        Wscript.Echo "Bytes Transferred Per Second: " & _
            objItem.BytesTransferredPersec
        Wscript.Echo "Caption: " & objItem.Caption
        Wscript.Echo "Context Blocks Queued Per Second: " & _
            objItem.ContextBlocksQueuedPersec
        Wscript.Echo "Current Clients: " & objItem.CurrentClients
        Wscript.Echo "Description: " & objItem.Description
        Wscript.Echo "Name: " & objItem.Name
        Wscript.Echo "Queue Length: " & objItem.QueueLength
        Wscript.Echo "Read Bytes Per Second: " & objItem.ReadBytesPersec
        Wscript.Echo "Read Operations Per Second: " & _
            objItem.ReadOperationsPersec
        Wscript.Echo "Total Bytes Per Second: " & objItem.TotalBytesPersec
        Wscript.Echo "Total Operations Per Second: " & _
            objItem.TotalOperationsPersec
        Wscript.Echo "Work Item Shortages: " & objItem.WorkItemShortages
        Wscript.Echo "Write Bytes Per Second: " & objItem.WriteBytesPersec
        Wscript.Echo "Write Operations Per Second: " & _
            objItem.WriteOperationsPersec
        Wscript.Sleep 2000
        objRefresher.Refresh
    Next
Next