It's a given: PCs go south and do so often. Whether it's hardware, software, or user error, there will always be something in the way of that PC running smoothly. Problem is, there are so many things that can go wrong, it's often difficult to know where to start to simply discover the problem.
I do a lot of remote support, so I've had to learn many ways to troubleshoot a sick PC without the luxury of being in front of the patient. Of course, there are countless routes to take with this process, but I thought I'd share the steps I like to follow. These are not your standard "Run your antivirus" or "Defrag the drive" approaches, either. This is the method I follow from the beginning of the phone call to the client.
1: Describe the problem
The first thing I have the client do is describe the problem. Before jumping onto the PC, I gather as much information as possible. This means having the client describe what is happening, when it started happening, and whether there was any particular incident that coincided with the problem starting. Many times, this information gathering will lead you directly to the solution. Sometimes, the information gathering will lead you to realize a reboot is all that is necessary to solve the problem.
2: Define the affected subsystem
There are instances when a problem is isolated to a specific subsystem of a machine — such as printing. Although you might think this a no-brainer, many end users will call saying, "My computer isn't working," when in reality what they mean is, "My printer isn't printing." In some cases, multiple subsystems might be affected, such as printing and mapped network drives... you can see where this is leading. If multiple subsystems are having issues, the combination of those will often lead you directly to a solution.
3: Is it hardware or software?
If a client describes an issue such as a slow PC, one of the first things I do is check out the hardware. Is there enough RAM? Is there enough free space on the C drive? And if the problem is network related, are the lights on the network card blinking, on, or dark? If these don't highlight an issue, don't immediately assume the issue is software related —there could be hard drive issues. But before you dig deeper into hardware issues, this would be a good jumping point for software. If nothing becomes apparent after you've investigated software issues, come back to hardware and do a drive test or defrag.
4: Diagnose printing woes
Printers can be tricky. But there are ways to make this troubleshooting job a bit easier. First, find out what type of printer you are dealing with. If the printer is a networked printer, make sure the network is actually up. If it is, ask whether other machines can print to the printer in question. If they can, check to see whether any jobs are stuck in the machine's printer queue. If you open up the Printers And Devices window and the printer is not listed, find out if it just recently disappeared. If it did, the driver most likely is corrupt and will need to removed from within Regedit. If the printer is still listed and no jobs are in the queue, have the client restart the machine and then try to print. A good restart will cure a host of woes in Windows.
5: Deal with networking trauma
Can the client see the internal servers? If not, can they open their browser and see google.com? If not, this becomes a challenge, as you can't do remote troubleshooting. But never fear, help is near. I start by walking the client through rebooting the machine and starting in safe mode. Usually, if there isn't an actual hardware issue, safe mode will circumvent the nasties that are keeping the machine from getting online. Once in safe mode, let the fun begin!
Of course, if no one can get online, the first thing to be done is power cycling the router/modem/switch hardware. If that fails, there is always DNS to troubleshoot. But that gets beyond standard triage (as it will often lead you away from the client machine and to a DNS server issue).
6: Resolve login issues
How often do you get this one: "Where's my password?" A client calls in to say they can't log into their computer. Have they forgotten their password? Is the machine on a domain? If it's on a domain, is the machine online? There are so many problems with this one, it's hard to know where to start. But here's the first thing you should do: If the client is on a domain and you have access to their Active Directory server, try to log onto that server with their credentials. If you can do that, the issue has been narrowed down to either their network connection or the manner in which they are logging in. If they are to be logging in to a domain, make sure they are doing so at their computer and not logging in to the local machine.
7: Troubleshoot specific software
Sometimes, it will boil down to a single piece of software that's giving the user fits. This, in turn, can give the support technician fits (especially if it's a niche piece of software). The first thing I would do is double-check to make sure the issue is, in fact, isolated to one particular piece of software. If the problem is network related and all other applications can get online, the issue is most likely isolated to that one piece of software. If so, and the software depends upon a network connection, make sure neither the firewall or the antivirus software has started blocking the software from getting packets in or out. When I discover the problem is isolated to a single piece of software, often a repair install will solve the issue.
8: Look for virus issues
I find that 50 percent of support calls wind up being viruses. Since viruses cause all sorts of differing behavior, how can you quickly determine whether the issue is a virus? I know support techs who have spent hours trying to track down a virus on a machine that wasn't actually infected. There are a few questions I like to ask. The first is "What behavior is your computer displaying that makes you believe it has a virus?" The answer to that question will dictate where you go from there. Other questions to ask are:
- Did your computer recently show signs of drastic slowdown?
- Are strange or unwanted popup windows appearing at random times?
- Were you recently on a Web site you don't normally visit?
- Did someone else use your machine?
- Did you recently open an email attachment?
- Has a strange security window recently started popping up?
The above questions will help guide you in the right direction to help cure a possibly infected PC.
9: Ask for a demonstration
If a discussion about the issue brings up nothing and you can remote into the user's PC, it will do you a world of good to see the problem in action. This is especially true when the issue is unique to a client's PC, network, or software. Although the majority of issues can be figured out from description, some issues simply need to be viewed in action. Have the client reproduce the error for you. Make sure the error happens in the same way every time. With this visual reproduction, you will have confirmation that there is an issue, and you'll have a definitive place with which to start your troubleshooting.
10: Use your tools
When all else fails, you have that outstanding collection of tools you can use to throw at a machine. When this is the case, I tend to start with the most innocuous software, such as Malwarebytes, and then go up from there. This is a good time to run those hard drive diagnostic tools (should the issue possibly point toward a faulty or degraded drive). This is the kitchen sink approach and can sometimes lead to more issues. But when you've gone down every rabbit hole you can think of, it might be your best shot.
As I said, there are many ways to approach troubleshooting a problem. I have found the procedure described above to work well for me, as a remote support engineer. What about you? What methods do you typically employ for troubleshooting, either remote or local?
More on troubleshooting
Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.