Windows Troubleshooting Platform Overview
Applies To: Windows 7
For many information workers and IT professionals, solving computer problems feels like nothing more than trial and error. It can be frustrating for users to try to solve their problems, but it can be expensive for corporations to maintain a fully staffed support center. To compound the problem, many support calls involve routine, recurring issues.
Windows® 7 takes steps to address both of these problems with the Windows Troubleshooting Platform, which allows users to solve many common problems on their own and improves Help desk efficiency by allowing IT administrators to extend the platform to solve routine issues that are specific to their environment.
This document describes the Windows Troubleshooting Platform, gives an example of how it is used in practice, and directs you to more information about customizing the platform to reduce support costs in your organization.
In this document:
For a complete view of Windows 7 resources, articles, demos, and guidance, please visit the Springboard Series for Windows 7 on the Windows Client TechCenter.
For a downloadable version of this document, see the Windows Troubleshooting Platform Overview in the Microsoft® Download Center (http://go.microsoft.com/fwlink/?LinkId=162884).
In previous versions of Windows, troubleshooting information was primarily written for support and IT professionals. Windows provided rich data through event log messages and other reporting mechanisms, but solutions to the problems that error messages described were not readily apparent. The technical nature of error messages caused some problems to go unreported, and in other cases, the information caused users to incorrectly interpret the data.
End users are not typically support professionals, and performing their own troubleshooting reduces their productivity by distracting them from their primary tasks. A lack of IT experience can result in end users spending much more time attempting to solve a problem than a support technician would, and in some cases, users might inadvertently introduce new problems while trying to find a solution. For example, a user with administrative rights who experiences an application networking problem might disable Windows Firewall in an attempt to solve the problem. Whether or not it solves the problem, this configuration change decreases the security of the user’s computer, and it might lead to a costly security compromise. In environments where users have only standard user privileges, they might delete important documents, change desktop settings, or remove bookmarks during their troubleshooting process.
Finding and correcting these user-initiated repairs can often be more time consuming than solving the original problem. In addition, repairs are usually routine actions that can be accomplished with a few simple commands. Windows 7 takes the guesswork out of troubleshooting many common issues by using automated scripts to enable users to solve their problems.
Introducing the Windows Troubleshooting Platform
When IT professionals troubleshoot a problem, they typically check for conditions that might cause the problem, resolve any problems that they find, and then test again to verify the solution. This iterative technique is effective, but it can be time consuming because it requires a user to contact the IT department, and it requires the IT professional to perform many steps manually. The Windows Troubleshooting Platform is designed to help users identify, resolve, and verify the solution to common problems by using the same process as IT professionals, but with the speed and consistency of a computer.
Troubleshooting Platform Components
The Windows Troubleshooting Platform comprises three main components:
Windows troubleshooting packs. A troubleshooting pack contains the intelligence for solving a particular problem. It assumes that for a given issue, there are one or more root causes that might result in the problem. A combination of Windows PowerShell™ 2.0 scripts and XML metadata are used to query the system to find out if one or more root causes is present for the problem.
Several troubleshooting packs ship with Windows 7, and they address many diverse issues, including audio playback, Aero Glass effects, and networking.
Troubleshooting packs are part of an open platform that enables IT professionals, developers, and even independent hardware or software vendors to create custom troubleshooting packs.
Windows troubleshooting engine. The engine interprets the content of the troubleshooting pack and coordinates communication between the system and the user. The Windows PowerShell scripts within a troubleshooting pack use a set of interfaces to identify root causes, prompt the user for information if necessary, and mark problems as resolved.
The Troubleshooting Wizard. The Troubleshooting Wizard provides a consistent user interface for the troubleshooting packs. The wizard displays the information that is contained in the troubleshooting pack in a form that the user can understand, and relays user input back to the engine. The wizard gives the platform a consistent appearance, no matter what problem the user is trying to solve. For efficiency, IT professionals can bypass the wizard interface and run a troubleshooting pack from a command prompt, or use XML-based answer files to run a troubleshooting pack with automated responses.
Similar to the process that a support engineer might use, the Windows Troubleshooting Platform solves problems in three phases:
Troubleshooting. The troubleshooting engine runs the scripts to determine whether any of the root causes that can be detected by the troubleshooting pack exist.
Resolution. For each root cause found, the Windows Troubleshooting Platform runs the associated resolver script to attempt to fix the root cause or to provide instructions to the user about how to fix the root cause.
Verification. The troubleshooting engine runs the verifier script for each detected root cause to determine whether the resolution was successful. The Troubleshooting Wizard displays the results to the user.