Top Five Sysinternals Windows Utilities
The Sysinternals utilities for Windows offer some of the best diagnostic and troubleshooting tools around. Long known for their power and capability, they're both free and incredibly useful. Here, we profile a handful of tools that Windows users of all stripes are likely to find invaluable.
Sysinternals is a company name to conjure within the Windows community. Although Sysinternals is now part of Microsoft—and one of its primary principals, Mark Russinovich, is now a Microsoft Technical Fellow—the Sysinternals name has been well-recognized since the mid-1990s when it burst onto the scene with some superlative Windows utilities.
Everything you'll find in this article is available from the Microsoft Windows Sysinternals web pages (now called Microsoft Sysinternals) for free. Our top five, as well as the rest of the over 100 other utilities you'll find there, are all worth digging into, and getting to know.
Picking the top five from Sysinternals is not unlike picking the five best artworks by Leonardo da Vinci or the five best symphonies by Mozart: No matter which ones you pick, they're bound to be good, but there's also bound to be disagreement from other cognoscenti with different tastes or objectives who have their own favorites to push and promote.
Nevertheless, we can state with absolute finality and security that all our choices are bound to be both useful and informative, and that looking for more choices will only result in the discovery of further treasures.
Not only are all of the Sysinternals utilities mentioned in this article available for download/installation from the Windows Sysinternals website but most also run live from their "home pages" in the Sysinternals area on the Microsoft website. To access the full list of Sysinternals utilities, click the Sysinternals Suite link in the left pane of the Windows Sysinternals home page.
If you want a complete picture of every TCP and UDP endpoint on your system, consider TCPView. This free Windows program works much like the netstat utility, but presents connection details in an easy-to-read GUI format instead of presenting character-mode tables at the command line.
TCPView updates every second, listing the process, local TCP port, remote address, and state of the TCP connection. TCPView also reports the name of the process that owns each endpoint (only in Windows XP and later OSs).
The program uses various colors to indicate changes in endpoints:
- Green: New endpoint
- Yellow: An endpoint that changed state from the last update
- Red: Deleted endpoint
Figure 1 TCPView lets you quickly determine endpoint ownership and changes.
In TCPView, you can quickly close an established connection (labeled with a state of ESTABLISHED) or end a process. Just highlight an entry in the display and select File > Close Connection, or right-click a connection and select Close Connection or End Process from the shortcut menu. To see the path to a program's EXE file, right-click the program name and select Process Properties.
TCPView updates connection information every second by default; however, you can change the rate by selecting View > Update Speed. To save the TCPView output window to a text file, select File > Save.
Figure 2 Select a different update speed rate or pause updates temporarily.
TCPView runs seamlessly on all Windows operating systems starting with Windows 98, and you can monitor Windows 95 systems if you install the Windows 95 Winsock 2 Update.
Whether you're using a brand-new computer with preconfigured applications or a PC you've loaded up yourself, you'll eventually want to control which programs automatically launch at bootup or as a user logs on.
Autoruns is a terrific utility for this purpose, providing a great user interface and more features than the old built-in Windows standby, MSConfig.
Autoruns lets you see which programs (and services, add-ons, toolbars, and so on) are set to run automatically at system bootup or user logon, in the order in which they're processed. Autoruns also displays the registry key, a brief description of each item, and file paths for each item as well.
The tabs at the top of the interface let you switch views to see lists of specific auto-start items, including known DLLs, Explorer add-ons, Internet Explorer add-ons, scheduled tasks, image hijacks, boot execute images, Windows services, LSA providers, Sidebar Gadgets (Windows Vista and later), and more.
Figure 3 Use the tabs in the Autoruns interface to view specific data.
Although you can use the built-in Windows MSConfig utility to view much of the same information, Autoruns offers many more bells and whistles. For example, the Hide Signed Microsoft Entries option lets you focus on third-party auto-starting programs, so you can see at a glance what's been added to your system.
To view auto-start programs for other user accounts on the system, just select User on the menu bar and select an account. It takes a few moments for Autoruns to gather and display all of the information.
In addition, you can highlight an item in the main Autoruns Entry list and click the Jump button (green arrow) on the toolbar to open Regedit with the selected entry displayed.
Figure 4 The Autoruns Jump button automatically opens the registry to a specific key.
Sometimes you'll need to temporarily disable an auto-start program while troubleshooting, or stop suspected malware, for example. Just uncheck the check box next to an entry.
To prevent an item from starting automatically in the future, right-click the entry and select Delete from the shortcut menu.
To get additional information about a program, right-click the entry and select Properties from the shortcut menu. For a quick Internet search, select Search Online from the same menu to open your default web browser with a list of appropriate websites.
This handy utility should be your first go-to program when attempting to resolve system glitches, such as possible handle leaks and DLL-version problems.
In a nutshell, Process Explorer lists resources that are being held by a process. For example, Process Explorer can show you what's holding a particular file open, preventing other programs from accessing it.
The Process Explorer interface consists of two main panels. The upper panel displays active processes, the PID, CPU usage (updates constantly), a description of the process, and the company name, by default.
However, there's a plethora of other columns you can view. Just right-click the column heading bar, select Select Columns, and select check boxes for columns you want displayed. The lower panel lists descriptive information for the item currently selected in the upper panel.
Figure 5 The Process Explorer interface is highly customizable, letting you focus only on the information you need.
Using the Process menu item, you can suspend, kill, or restart a process. You can also set affinity for a process to control which CPU(s) it can execute on, or set its priority. The Find menu item lets you search for a particular DLL or handle, and the Users menu lets you disconnect, log off, send a message from, or view the session properties of the current user.
You can also get a graphical view of your system's CPU, pagefile, I/O, and memory usage. Just select View > System Information to display the graphs.
Figure 6 The System Information window displays your system's CPU usage, commit, I/O bytes, and physical memory histories.
If you've successfully used Filemon and/or Regmon in the past to troubleshoot errors, track down sources of malware, or monitor the registry, for example, you'll be happy to come across Process Monitor. This advanced tool offers real-time monitoring of the file system, process/thread activity, and registry.
Process Monitor combines the features of the legacy "mon" utilities and adds numerous enhancements, making it a must-have addition to your troubleshooting toolkit.
One of the jewels of Process Monitor is in troubleshooting generic error messages. Let's say an error occurs without enough information to know which direction to take.
Just start Process Monitor, reproduce the situation in which the error occurs, and then watch for the issue to appear in the interface.
You can avoid spending inordinate amounts of time noodling through the wrong log or report entries, instead zeroing in on the culprit within minutes.
Figure 7 Process Monitor helps you quickly pinpoint system and registry problems.
A handful of the new or improved features in Process Monitor include the following:
- Ability to monitor DLL and kernel-mode device driver image loads
- Use of non-destructive filters, which enable you to configure filters without data loss
- Complete details of event properties, including user names, session IDs, and more
- Ability to capture thread stacks for each operation, which helps you to determine the root cause of an operation
Because of the breadth and depth of the feature set of Process Monitor, Microsoft recommends diving into the Help file and testing out menu items and options on a live system.
Finally, we'll wrap up this article with a look at a non-GUI toolset for the command-line junkie. PsTools is a set of text-based utilities within the Sysinternals suite that enable you to view process information and manage local and remote systems.
One of the utilities in PsTools is PsList, which displays detailed information about processes. Similar to the Windows PerfMon monitoring tool, PsList draws its information from the Windows performance counters.
Running pslist at the command line with these parameters enables you to view the following:
- -d: Thread details
- -m: Memory details
- -x: Processes, memory information, and threads
- -t: A process tree
And much more. You can see a more comprehensive list on the Windows Sysinternals PsList web page, or type pslist –help.
Figure 8 View all sorts of process information from the command line using PsList.
The Price Is Right, and the Power is Hard to Beat
As you get to know the Sysinternals utilities better, you'll find them invaluable for all kinds of Windows set-up, configuration, and troubleshooting situations. Though you can dive in and start anywhere, we think most Windows heads will find out top five worth investigating, and predict that all or most of them will be adopted for regular use shortly after learning about them.
Don't let this stop you from digging into the rest of the Sysinternals cornucopia: you won't be disappointed if you do.