Operating System Monitoring Scripts
Monitor Browser Service PerformanceMonitor 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