About the author

Ed Bott is an award-winning technology journalist and author who has been writing about Microsoft technologies for more than two decades. He is the author of more than 25 books on Microsoft Windows and Office, including Windows 10 Inside Out (Microsoft Press, 2015) and writes regularly about technology for The Ed Bott Report at ZDNet.

Chapter 1. Power tools for IT pros

I have a confession to make. The title of this book isn’t, strictly speaking, accurate. It actually contains descriptions and hands-on advice for more than 10 apps, accessories, and utilities—many more, in fact.

I began with a list of several hundred software tools and accessories, all built by Microsoft and compatible with Microsoft Windows 10. Eventually, I narrowed the list to my top 10, giving each of the finalists its own turn in the spotlight in the remaining chapters of this book. But that winnowing process wasn’t easy.

The sheer volume of Windows programs and accessories, including utilities such as Sysinternals Suite, says a lot about the power and complexity of Windows—a fact that every IT pro knows from firsthand experience. There’s a tool for nearly every task, and a large part of the process of becoming a Windows expert is knowing how to find the appropriate one when you need it.

This chapter provides an overview of many of the apps and accessories that are included in the box with Windows 10, along with a brief explanation of how and why I picked the top 10. It’s also an opportunity to highlight a few of my favorites that I couldn’t include elsewhere.

And, of course, it’s an opportunity for me to share some hard-won knowledge with my fellow IT pros, helping you to figure out the best way to make Windows 10 work for you. There’s rarely a right or wrong way to accomplish a particular goal, but there’s often a faster, smarter way, which is what I look for.

Some of these tools are for everybody—end users and experts alike—whereas some are strictly for professionals. A few are so specialized that you’ll only need them once in a blue moon. Collectively, though, they make up a toolbox that can save you (and your company) time and money.

Finding the right tool for the job

Sometimes, accomplishing a task requires nothing more than adjusting a Windows setting by selecting a check box or moving a slider to the right position. Other times, you might need a stand-alone program.

Occasionally, those two options are related. The Settings app and classic Control Panel are filled with buttons and links that do nothing more than launch executable files, typically from the Windows\System32 folder on the system drive.

You could, for example, run the Color Management Control Panel tool (Colorcpl.exe) directly from that location, but experienced Windows users are more accustomed to opening Control Panel and navigating through Hardware And Sound to Display.

In Windows 10, it’s even easier to just search for the setting or program you need. You can find nearly anything you want by using the search box on the Windows 10 taskbar, located to the right of the Start button. Because settings and built-in tools are indexed by keyword, you don’t need to know the exact name to find what you’re looking for. Figure 1-1, for example, shows the results when I searched for the term “task,” all neatly categorized.

Figure 1-1: Most of the time, just searching for a related term is enough to find what you’re looking for.

With the help of a few subtle controls on those raw search results, you can filter your search to refine the list, eliminate the noise, and show more of the type of results you’re looking for. The controls on the search results list are so subtle that you might not even notice them. Click the arrow to the right of a heading (Apps or Settings, in Figure 1-1, for example) to show only results from that category. Or, click one of the icons at the top of the results list to show a group of categories that you can use to refine your search, as I’ve done in Figure 1-2.

Figure 1-2: Tap an icon at the top of the search results to refine your search. In this case, I’ve asked for just results in the Settings category.

By the way, Figure 1-2 also reveals a shortcut that is especially useful if you prefer using the keyboard rather than the mouse. Instead of using the hidden menu at the top to refine by categories, just type one of the text operators—apps, settings, or files, for example—followed by a colon and then the search term.

Here’s one final secret in this section: Get in the habit of using the Quick Links menu, which is available by right-clicking Start or by using the keyboard shortcut Windows logo key+X. Figure 1-3 shows that this menu contains several of the tools I feature in this book as well as the ability to quickly open a Command Prompt window with administrative rights. For Windows experts, it offers instant access to programs that you will use regularly.

Figure 1-3: Every would-be Windows expert should memorize the keyboard shortcut Windows logo key+X, which opens the incredibly useful Quick Links menu shown here.

Everyday tasks and information

This book includes full chapters on File Explorer (a tool you probably use many times a day) and Event Viewer (which performs tasks on your behalf all day, even though most people rarely open it).

Elsewhere in Windows 10, you’ll find simple dashboards that can provide information about the current configuration. For example, in the Search box, type About and then, from the results that appear, click About Your PC to see details such as the name of the PC on which you’re running the command, the current Windows version, the system type (64-bit or 32-bit), the processor, and the amount of RAM that’s installed on your device. Click System from the same results list to see some of the same details in classic Control Panel.

One related tool that deserves a quick shout-out is the System Information accessory, MsInfo32.exe. (Yes, that’s the correct executable name, even if you’re running a 64-bit Windows version.) Figure 1-4 shows the main page, which contains a wealth of information about the current system. One of the most important details it offers is one that you can’t easily find elsewhere: the current version of the system BIOS or UEFI firmware.

Figure 1-4: To open System Information, use the command Msinfo32. One normally hard-to-find detail it offers is the current BIOS (or UEFI firmware) version.

Tweaking Windows 10

Hundreds, perhaps even thousands, of customization and personalization options are available directly within Windows 10: the picture on your lock screen, your current time zone, and User Account Control settings are just a few examples.

Over the past few years, Microsoft has been slowly but steadily migrating these options from the classic Control Panel to the new Settings app. The result of this work-in-progress is that you can find the check box or option you’re looking for in either place.

Both the Settings app and classic Control Panel have search boxes. But here’s a secret most people don’t know: the search box in the Settings app also returns results from Control Panel.

So, if you’re looking for a specific setting, try opening the Settings app; using the shortcut Windows logo key+I (that’s a capital “eye”) is the fastest way. In the search box, type your keyword (see Figure 1-5) to see a list of matching results. Options from the Settings app appear at the top of the list; options for Control Panel settings appear below those for the Settings app and are easily identified by the colorful icons.

Figure 1-5: When you type a keyword in the search box at the top of the modern Settings app, the results include options from both Settings and classic Control Panel.

Note that the reverse is not true. If you open Control Panel and search for a term, your search returns results only for items that are in Control Panel. You won’t see any options that have been migrated to the newer Settings app. Figure 1-6 shows the results using the same search term as in the previous figure, but from within Control Panel.

Figure 1-6: Searching for a keyword in Control Panel returns only results from Control Panel. Options that have migrated to the newer Settings app aren’t included.

Most of the tweaks you’ll make using any of these “official” options are likely to be saved in the Windows registry. For deployment purposes or to make tweaks that aren’t readily available in the Settings app and Control panel, you’ll most likely use Registry Editor (which I cover in detail in Chapter 3) or Windows PowerShell (Chapter 9). Organizations also have the option to tweak computer and user settings by using Group Policy, which I discuss later in this chapter.

Performance and troubleshooting tools

By far the largest group of Windows tools and accessories is intended to provide information about system performance as well as diagnostic tools that can help you to identify the cause of reliability problems. In this book, I include separate chapters for four professional-strength tools that fall into the following categories:

• Event Viewer (Chapter 4) There’s a log for nearly everything in Windows, which makes Event Viewer indispensable and potentially overwhelming. I have some suggestions to zero-in on the exact information you need to solve a problem.

• Task Manager and Resource Monitor (Chapter 5) Anyone moving to Windows 10 from Windows 7 should be pleasantly surprised by the improvements in Task Manager. This chapter also includes details about Resource Monitor, a separate accessory that you can access on the Performance tab in Task Manager.

• Sysinternals Suite (Chapter 7) This amazing and powerful collection of utilities (nearly 80 in all) is regularly updated and available for you to download for free. My discussion includes three absolute essentials.

• Diagnostic and Recovery Toolset (Chapter 8) Among the top 10, this choice is unique in that it’s not available to every Windows 10 user. But if your organization has a Volume Licensing contract with Software Assurance, or if you have access to a Visual Studio subscription, this collection of tools is a must-have troubleshooting resource.

A few other useful tools didn’t make the cut but are worth a mention here.

You can think of Reliability Monitor, for example, as a highly filtered version of Event Viewer. It lists successful and failed software and driver installations as well as crashes, apps, and programs that stopped responding, and other errors, on a time-based scale. It can often provide important clues about the cause of sudden changes in system behavior. Figure 1-7 shows a typical display, with events presented in a weekly rather than daily view.

Figure 1-7: Reliability Monitor can help pinpoint clusters of events that might provide clues to the cause of a sudden change in performance or an outbreak of crashes and nonresponsive apps.

Although it’s not immediately obvious, double-clicking any event listed at the bottom of Reliability Monitor opens a more detailed display of information, such as that shown in Figure 1-8. You can use error messages, codes, and other details to search for more information about the issue.

Figure 1-8: Double-clicking an event in Reliability Monitor provides important clues that you can use when troubleshooting problems and performance issues.

Another tool that should be familiar to longtime Windows users, especially if you have had to troubleshoot problems with a user’s PC, is System Configuration (MSConfig.exe). One especially useful capability is on the Services tab, shown in Figure 1-9, with which you can disable third-party services, either one at a time or in batches, and then restart to narrow-down the cause of a problem.

Figure 1-9: You can use the venerable System Configuration tool (also known as MSConfig) for basic troubleshooting tasks such as temporarily disabling services to narrow down the possible cause of a problem.

Here’s a power tip for using System Configuration: At the bottom of the Services tab, select the Hide All Microsoft Services check box, and then click Disable All and restart. If the problem no longer occurs, you’ve narrowed-down the cause to a third-party service.

Finally, there’s the Powercfg command, an odd beast that is extremely useful for isolating the cause of an overactive portable PC that isn’t getting the battery life you expect. Used with the /energy switch, it generates a profile of system activity over a period of 60 seconds and saves it as an HTML page in the current directory.

The versatile Microsoft Management Console

By itself, the Microsoft Management Console (MMC) is hopelessly boring and literally good for only one task, which is adding one or more snap-ins that provide in-depth management capabilities for a specific function or feature. You can save these as Microsoft Common Console Document files, which you can identify by the .msc extension.

MMC is the foundation for many preconfigured management tools that are available as .msc files in Windows 10. Perhaps the best known and richest is the Computer Management console, shown in Figure 1-10, which combines multiple snap-ins for easy access to a wide range of system settings.

Figure 1-10: Computer Management is a built-in console that combines multiple snap-ins for one-stop access to common system management tools.

The MMC layout is consistent (if a bit old-fashioned looking) across all of its tools. MMC-based hardware configuration tools include Device Manager, which you can open in stand-alone mode or access from Computer Management, and Disk Management (which gets the spotlight in Chapter 6).

If you like the way Computer Management works—with a preconfigured collection of snap-ins—you can build your own custom console by running the MMC command and then adding snap-ins to the new, empty console window. Figure 1-11 shows the Add Or Remove Snap-Ins dialog box, which you can open on the File menu. From the list on the left, select a snap-in, and then click Add to include it in your custom console. Finally, save the result as an .msc file.

Figure 1-11: You can build a custom MMC console by using this list of snap-ins.

Table 1-1 lists all the snap-ins included with Windows 10 Pro. A description of each one is available at the bottom of the Add Or Remove Snap-Ins dialog box when you select it from the list on the left.

Table 1-1: Snap-ins available with Windows 10 Pro

One other feature common to every MMC-based console is the ability to open an item to view additional details about it as well as configuration options. In the Services snap-in, for example, you can double-click any entry in the list of available local services to set its startup type and start, stop, pause, or resume that service, as shown in Figure 1-12.

Figure 1-12: You can use the details pane in the center of an MMC snap-in to see details about an item, such as the configuration options for this service.

Management and deployment tools

In homes and small businesses, you typically work on computers one at a time. In Windows domains, you can use Group Policy Objects to configure settings for users and machines. I discuss this option in Chapter 3.

Even if you’re on a small network, though, you can use the same policy editor to manage Local Computer Policy settings. To accomplish that task, open the oddly named Local Group Policy Editor (Gpedit.msc), which is available only in Windows 10 Pro, Enterprise, and Education editions. Many policies available here date back years, even decades, but each new Windows version typically includes its own new policies. Figure 1-13 shows a group of privacy settings that are new in Windows 10.

Figure 1-13: Group Policy isn’t just for Windows domains: You can use local policies to define or restrict capabilities for users of an individual PC.

I could spend an entire book on the subject of Group Policy, but for now the single example in Figure 1-14 will have to suffice. Note that the policy is turned on for the local PC, which in turn makes available to you (as administrator) the three options in the Select A Setting section.

Figure 1-14: To enforce a specific policy on a PC, you first must configure it. For some policies, as in this privacy setting, you can select from multiple options that a standard user can’t override.

Powered by the cloud

Many of Microsoft’s cloud services are designed to be platform-agnostic, with management from a web browser running on any operating system. As an administrator, for example, you can manage virtual machines and cloud services in Microsoft Azure from its web-based interface.

A few cloud services are tied directly to Windows 10, including the most recent client software for Microsoft’s cloud-based file storage. This so-called next-generation sync client is capable of synchronizing OneDrive and OneDrive for Business files from a single PC and displaying the synchronized contents in File Explorer. I discuss this option more in Chapter 2.

Similarly, you can create a Windows 10 virtual machine in the Microsoft Azure cloud, or connect a work account to a Windows 10 PC by using Azure Active Directory. I discuss both options in Chapter 11.

Chapter 2. File Explorer

Of all the tools I cover in this book, File Explorer (formerly called Windows Explorer in Microsoft Windows 7 and earlier editions) is the one you no doubt use most often. And yet even many Windows experts only scratch the surface of this incredibly rich built-in app.

My basic principles for organizing files are simple:

• Consolidate your files into a handful of easy-to-access locations.

• Use keywords and descriptive filenames to make searches more effective.

• Master the powerful search tools in File Explorer.

• Have a backup plan.

Understanding how to make the most of File Explorer requires some background into how Windows itself organizes files. Some of these details are incredibly obvious, whereas others are subtle enough that even an experienced hand can miss them. So, in the interest of making sure we’re on the same page, allow me to start with a quick overview.

File Explorer essentials

File Explorer has its own button pinned to the taskbar by default. If you prefer not to take your hands off the keyboard, use its easy-to-remember keyboard shortcut, Windows logo key+E.

Figure 2-1 shows the default layout for File Explorer.

Figure 2-1: With a few tweaks, you can personalize the File Explorer layout to match your working style.

The ribbon that runs along the top of the File Explorer window resembles its counterpart in Microsoft Office applications, with a key distinction—you can’t customize it. You can hide its contents, however, by double-clicking any of the tab headings. With the ribbon contents hidden, the headings resemble an old-fashioned menu bar and there’s more room for the contents pane.

The navigation pane on the left side is arranged into nodes that expand and collapse on demand. If you prefer the older, tree-style view with a single hierarchy, select This PC, and then, on the View tab, click Navigation Pane, and then select Show All Folders, as shown here:

With the Show All Folders option selected, the navigation pane looks like the example shown in Figure 2-2. (Note that I’ve collapsed the Quick Access menu to make the listing even more compact.)

Figure 2-2: After selecting the Show All Folders option, the navigation pane shows only two nodes, Quick Access and Desktop.

An optional element, hidden by default, is a pane that appears to the right of the contents pane. Depending on which option you select in the Panes group on the View tab, you see either a preview of the current selection or details about that selection. Figure 2-3 shows the preview pane for a high-resolution photo saved in JPEG format. Windows 10 contains filters with which you can preview most photo formats as well as Office documents, PDF files, and other common document formats.

Figure 2-3: Windows 10 contains filters that you can use to see a preview of the currently selected file in a pane to the right of the contents.

Figure 2-4 shows the Details pane for the same file.

Figure 2-4: When the Details pane is visible, you can edit metadata for the current file; after you click in a field, Save and Cancel buttons appear at the bottom of the pane.

Change views quickly

Sometimes you want to see a table listing details about a file. Sometimes you want to see thumbnails of all files in a folder. In any File Explorer window, you can toggle between Details view and Large Thumbnails view by using the small, subtle buttons in the lower-right corner. Details view is especially useful when you want to filter the contents of a folder, as I explain later in this chapter.

As I noted earlier, you can’t customize the ribbon, but you can arrange the Quick Access Toolbar (QAT) to your heart’s content.

By default, the QAT appears in the title bar, above the ribbon. Click the down arrow to its right and then click Show Below The Ribbon to move it. With the QAT in its new position, that option changes so that you can move it back above the ribbon, as shown here:

That same menu includes a short list of commonly used commands that you can add to the QAT. To add commands that are on the ribbon but not on that menu, right-click the command and then, on the shortcut menu that appears, choose Add To Quick Access Toolbar.

One of my favorite customization secrets involves a little-known fact about the QAT. You can add groups of commands to it, as well. For example, click the View tab, right-click the label at the bottom of the Panes group, and then choose Add To Quick Access Toolbar. Now, when you click that icon on the QAT, you can choose the Preview pane or the Details pane, as shown here:

Using Quick Access to organize files

The Quick Access node always appears at the top of the navigation pane. Its purpose is to give you a quick way to open frequently used files and folders. In addition, you can customize its contents by pinning locations here.

I consider this the most important real estate in File Explorer. As I mentioned at the beginning of this chapter, organizing files into a handful of locations is one of the first steps on the road to staying organized. After you have those locations established, you can pin shortcuts to each location here so that you can get to them quickly.

To pin a drive, folder, library, or other location to the Quick Access list, right-click that location and then, on the shortcut menu, choose Pin To Quick Access. To remove a pinned location, right-click its entry in the Quick Access list and then choose Unpin From Quick Access.

Space permitting, folders you’ve opened recently appear at the bottom of the Quick Access list. If you select the Quick Access heading, the Quick Access pane shows pinned and recent folders in a group at the top of the contents pane, with recently opened files beneath that group.

You can browse that list of recent files (and even pin a shortcut to the Quick Access pane) by going to %AppData%\Microsoft\Windows\Recent. You can get to the same location even more quickly by opening the Run box and entering shell:recent.

You’ll find some extra Quick Access settings in the Folder Options dialog box, shown in Figure 2-5. At the very top is where you can specify whether you want new File Explorer windows to open in Quick Access or in This PC.

Figure 2-5: Clear either or both of the Privacy options at the bottom of the Folder Options dialog box to prevent recently opened files and folders from appearing in Quick Access.

If you don’t want recent files or folders to appear in Quick Access clear either or both of the options. Click Clear to empty the Recent folder and remove any shortcuts (except those you’ve pinned).

Using libraries and known folders

The longer you’ve been using a PC, the more at ease you’re likely to be with a hierarchy of folders that starts with drives and drive letters.

If you’re willing to break those old habits, though, you can be significantly more productive with File Explorer. The secret is to master the so-called known folders in your user profile—Documents, Downloads, Music, Pictures, Videos, and so on. And then, crucially, learn to use libraries, which represent an incredibly powerful way to pull together files from multiple locations into virtual folders that are easy to search and filter.

In a clean Windows 10 installation, libraries are hidden. If you don’t see the Libraries node in the navigation pane, click View, Navigation Pane, Show Libraries to make them visible.

The default selection of libraries basically duplicates the Documents, Music, Pictures, and Videos folders from your user profile. If you don’t plan to customize those libraries or create your own, you can keep them hidden. But I hope to convince you in this section that the benefits of using libraries are worth the trouble.

Adding folders to a library

To view and manage the folders that go into an existing library, select the library to make the Manage tab visible (it’s under the Library Tools heading), and then click Manage Library. Figure 2-6 shows the results for the Documents library on one of my Windows 10 PCs, with files drawn from four folders—the default Documents folder in my user profile, two separate synced OneDrive folders, and a shared folder called Company, located on a network file server.

Figure 2-6: This customized Documents library consists of four folders: three local folders on two different drives, along with a shared folder from a network server.

Expanding the Documents library in the navigation pane shows a separate entry for each folder that the library contains. You can use those links to browse through individual folders. More important, though, all of the folders in a library are automatically indexed, which means that you can search and filter contents from multiple sources as if they were in a single folder. In addition, all files in a library are backed up by File History, a feature I discuss later in this chapter.

To add a folder to an existing library, click the Manage Library button, click Add, and then browse to the location that you want to include. An easier way is to right-click the folder you want to add and then, on the shortcut menu, choose Include In Library. That option shows a list of existing libraries, as demonstrated in Figure 2-7.

Figure 2-7: Right-click a folder and use this shortcut menu to add it to an existing library, or use the Create New Library option at the bottom to start a library from scratch.

Eagle-eyed readers will no doubt note that the list of available libraries on that shortcut menu includes two that are not in the navigation pane. The Photos app created the Camera Roll and Saved Pictures libraries for its own use, and other apps can do the same.

To create your own custom library, use the Create New Library option at the bottom of that menu. Or as an alternative, click the Libraries heading in the navigation pane, right-click in the contents pane and choose New, and then choose Library. When you open the new library, click Include A Folder to browse for the first folder to include, or click Manage Library to add multiple folders.

I regularly use a custom library to keep track of content stored in multiple cloud services. I have both OneDrive and OneDrive for Business accounts, of course, but I also use third-party cloud services to work with clients and partners who prefer those services.

To keep track of all that cloud content, I created a custom library called Ed’s Cloud and added the local sync folder for each of those cloud services. The resulting library gives me a unified view of all those cloud files, as well as the option to quickly find any file, even if I can’t remember in which service it’s stored.

Moving your data folders to a new location

On a related note, you can also move the known folders in your user profile—Documents, Downloads, Music, Pictures, and so on—to a different location. This is especially useful on a desktop PC with the option to add a second physical disk drive. Use a small, fast solid-state drive (SSD) as the system drive, and move data files to a conventional hard disk with greater capacity. The effects are most noticeable if your collection of digital music or photos is too large to fit comfortably on the system drive, where it’s normally located.

The process is simple. Open your user profile (easiest way is to enter %UserProfile% in the address bar), right-click the folder that you want to move, and then, on the shortcut menu, click the Location tab. That opens a dialog box like the one shown in Figure 2-8.

Figure 2-8: To move a known folder (in this case, Documents) from your user profile to a new location, use the controls on the Location tab.

You can enter the path of the folder that you want to use or click Move to browse for a folder (with the option to create a new folder if necessary). Click Apply or OK to change the location.

When you do that, expect to see a dialog box like the one shown here:

The correct answer is Yes, unless you want to keep an orphaned folder (and its contents) in your user profile.

Repeat this process for any other folders in your profile that you want to relocate.

It’s OK to mix and match locations for these known folders. In fact, here’s a tweak you can make that makes it possible for you to see the current location for all folders at a glance.

1. In the File Explorer address bar, open your user profile by typing %userprofile% and then pressing Enter.

2. Switch to Details view, if necessary.

3. Right-click any column heading and then, at the bottom of the shortcut menu that appears, choose More. That opens the Choose Details dialog box shown here:

4. Select Folder Path from the list, and then click OK.

The contents of the File Explorer window should now look something like Figure 2-9. In this case, you can see at a glance that I have moved the Downloads and Pictures folder. (I’ve also chosen to put the synced copy of my OneDrive files on a separate drive, but making that change requires a different set of steps, as I explain later in this chapter.)

Figure 2-9: With Folder Path added to the list of columns displayed in Details view, you can see at a glance where each of your user profile folders is located.

Search

If you’ve skimmed through this chapter so far, you might want to pay closer attention in this section. Mastering the search tools in File Explorer is the single most essential technique you can learn. The biggest increase in productivity comes when you realize that you can save files in a single folder and find them quickly with searches instead of meticulously organizing them in subfolders.

Every search in File Explorer consists of three parts:

• Scope This is where you’re searching. It can be a folder (with or without its subfolders), a library, or another search.

• Filters You use filters to restrict the search results by specifying dates, file types, tags, and other properties, typically by picking from a list or a calendar control.

• Search terms These are text strings that you type in the search box. Windows finds files and folders that contain the search terms in the file name or its contents.

You can, of course, search for files by using the search box on the taskbar. Type a search term and then click one of the small icons at the top of the results list to show documents, folders, pictures, music files, or videos that match those terms.

But for anything more than simple searches, the search box in File Explorer is the logical starting point.

Building a search by using the ribbon

Over the years, the tools for building a search in Windows have evolved impressively. With Windows 10, you can build a search by using a collection of point-and-click lists. In the upper-right corner of the File Explorer window, click in the search box to reveal the Search Tools ribbon, shown in Figure 2-10.

Figure 2-10: These search tools appear only after you click to position the insertion point in the search box. You can combine multiple criteria for moderately complex searches.

The choices you make using the Search Tools tab apply to the scope you have selected. In Figure 2-10, for example, OneDrive is selected in the navigation pane, and All Folders (the default) is selected in the Location group on the ribbon. Clicking Date Modified and selecting Today from the drop-down list shows me the two files that were added or changed in my OneDrive folder today.

If you’re looking for notes you created after a meeting and you remember the meeting was last month, you can click Last Month from the Date Modified list. If the set of results is still too large to scan, you can apply additional filters or click in the search box and type a word or phrase that you know was in the file’s name or its contents.

Three filters get top billing in the Refine group on the Search Tools tab:

• Date Modified This property is the most recent date a file or folder was saved, either when it was created or when it was last edited. For a downloaded program file, it shows the date you saved the file locally, not the date on which the developer created it.

• Kind This field shows predefined groups of file types, including those for some items that aren’t stored in Explorer. The most common choice to make here is Document, which includes text files, any file in an Office format, and PDF files. Try Music or Pictures if you’re looking for digital media files.

• Size This offers a range of sizes. If you’re trying to clear space on your system drive, choosing Huge (16 to 128 MB) or Gigantic (more than 128 MB) is a good way to locate large files that you can safely delete or archive on an external drive.

Clicking Other Properties on the Search Tools tab displays four additional filters with which you can refine the search results:

• Type This property uses the file type attribute. You can type a file name extension (pdf, xls, or docx, for example) or any part of the description (such as Excel, Word, image, text, or folder).

• Name Type a string of text here. The results list will show any file or folder that contains that exact string anywhere in its name.

• Folder Path Type a string of text here. The results list will show any file or folder that contains that exact string anywhere in its full path. For example, try typing doc; the results will include all files and folders in your Documents folder and any of its subfolders (because Documents is part of the path for those subfolders) as well as the contents of any other folder whose name contains those three letters.

• Tags Almost every data file contains this field, which is stored as metadata in the file itself. You can add one or more tags to any file by using the Details pane or the Details tab in its properties dialog box.

Use tags for pinpoint searches

Entering tags requires an extra step, but the effort can be worth it, especially for shared projects. The advantage of adding a tag like Project X or 2016 Taxes to a group of files is that you can count on finding those files even if the tag text isn’t in the file’s name or contents. Because tags are saved as metadata, they can be used to identify files that are part of the group project.

You can build a search by combining values from these different fields. So, you might choose This Week from the Date Modified list, and then Document from Kind. The result filters out any items that are older than the beginning of the current week as well as any extraneous files such as MP3 files and pictures.

You can’t, however, choose more than one value from the drop-down list for a particular field. If you choose a value such as Last Week from Date Modified, it replaces whatever value you previously chose from that list. (There’s a workaround, which I explain a bit later in this chapter, in the section “Creating complex searches.”)

Using filters to find groups of files

Using the Search Tools tab on the ribbon is fine for occasional one-off searches, but it’s often faster and more flexible to switch to Details view in File Explorer and use its built-in filtering options.

Figure 2-11, shows an example of how to filter files in a library by Type. Unlike the corresponding options on the Search Tools tab, you can choose multiple file types by selecting check boxes from the drop-down list associated with the Type column.

Figure 2-11: In Details view, click the right edge of any column heading to display a drop-down list built from that contents of that folder, and then select check boxes to show matching files.

It’s worth noting that this technique filters only whatever is currently displayed in the contents pane, which is typically the contents of a folder or library. It doesn’t search in subfolders.

Combine searches and filters

To expand a filtered Details view so that it includes all subfolders, click in the search box and then type the * wildcard character. This displays every file and folder in the current folder and all of its subfolders in a list. Now, you can switch to Details view and use the drop-down filter list on any column heading to refine the results.

The Date Modified filter is worth a closer look. As shown in Figure 2-12, it includes a calendar control that displays the current month and some predefined options below it.

Figure 2-12: This calendar control looks simple, but it provides far more options than you’d think.

The list of options at the bottom is dynamic, only showing choices that will return valid search results. This is different from the fixed menu on the Search Tools tab.

The calendar control is considerably more versatile than it looks at first glance. By default, it shows the current month. Click the month heading to change the control so that it shows all 12 months in the current year, as shown here:

With this view open, you can Shift-click or click and drag to select multiple consecutive months in the same year. (Sorry, you can’t Ctrl+click to select nonadjacent months.)

Click the year heading to show all 10 years in the current decade, as shown here:

Again, you can click and drag to see files from two or more consecutive years. This is a handy trick if you’re looking through an archive that contains many years’ worth of files and folders.

If you like that calendar control, you can incorporate it into searches from the search box itself. To make it appear, click the search box and type datemodified: (don’t forget the colon). If there’s already a datemodified filter in the search box, click it to display the same calendar control, as shown here (note that you can select multiple options from the list below the calendar):

This calendar control works exactly the same as the one you display from the Date Modified heading in Details view. The fixed menu of options below it is different, however.

Creating complex searches

The search capabilities in Windows 10 are the direct descendants of features that date back more than a decade. Those original search tools relied on something called Advanced Query Syntax (AQS), which survives in a mostly undocumented form today.

You can see some vestiges of AQS when you build a search by using the Search Tools tab. Each entry you make from the ribbon adds a corresponding query to the search box.

You can distinguish a search operator from a search string because it appears in blue and is followed by a colon. If you follow that with an equal sign (=), you can enclose your search string in quotes to force an exact match.

If you’re willing to tinker a bit, you can try manually building a search. For example, if you want to see only folders whose names begin with the letters A through E, in the search box, enter type:="File folder" name:(>A AND <F).

You can also use two dots to mean “between” a pair of dates. So, datemodified:12/1/2015 .. 1/31/2016 displays files created in either December 2015 or January 2016, a range you can’t select via the calendar control.

You’ll find a much more detailed discussion of these advanced queries in Windows 10 Inside Out (Microsoft Press, 2015).

Saving a search

I’ve saved the most powerful search trick of all for last: You can save a search and reuse it.

When you save a search, Windows writes your settings to an XML file, which is stored in the Searches folder within your user profile. This Saved Search format uses the .search-ms file name extension.

The beauty of saved searches is that relative dates such as This Week and Last Month are evaluated fresh each time you run the saved search, so the results should always be what you expect.

For example, suppose that you want to quickly see all of the synchronized OneDrive files you’ve added or edited in the past week or two. Here’s how to create that saved search:

1. Open your OneDrive folder by clicking its entry in the navigation pane.

2. Click the search box and type datemodified:This Week OR datemodified:last week.

3. On the ribbon’s Search tab, click Save Search.

That’s all you need to do. Windows automatically saved the current search scope and your date filters as an XML file in your %UserProfile%\Searches folder. Open that folder and double-click any saved search to rerun it.

Figure 2-13 shows my collection of saved searches. To make it easier to figure out what each search does, I’ve renamed the Saved Search files. (Right-click the saved search, choose Rename, and change the generic name to one that’s more descriptive.)

Figure 2-13: The Searches folder in your user profile contains all saved searches. In this example, I’ve changed the default names to more descriptive ones.

Use a saved search as a starting point

If you open a saved search, you can use its results as the scope for a new search. Any terms you type in the search box will return matching files and folders from the results of your saved search. So, if you have a saved search that shows all the files you saved to OneDrive this year, you can open that saved search and then type invoice or budget in the search box. This finds files that contain your search term in the name or the file itself, but only if they’re in OneDrive and were modified this year.

The type of searches you can save is limited only by your imagination. You can define a nearly infinite number of combinations of locations, dates, file types, and other properties.

After you’ve built up a collection, here are two things you can do to make those saved searches easier to access:

• Pin a shortcut for the Searches folder to Quick Access. This way, you can quickly see all your saved searches and double-click any one to rerun that search.

• In the Searches folder, right-click any saved search and then, on the shortcut menu, choose Pin To Start, as I’ve done with two of my most useful searches in the example shown here:

Syncing with OneDrive

One of the first things I do with any new PC is connect it to OneDrive, which gives me immediate access to the tens of thousands of documents, pictures, and other files I’ve stored there, not to mention my digital music collection.

OneDrive is no substitute for a solid backup routine, but it’s an excellent part of that routine. If a drive suffers a hardware failure, I know that I don’t need to worry about the files that were synced from OneDrive, because they’re still safe in the cloud. There’s also a Recycle Bin on OneDrive, so even if I accidentally delete a file or folder, I can sign in to onedrive.com using my Microsoft account and restore it.

Because I have a Microsoft Office 365 Enterprise subscription I also have access to 1 TB of storage in OneDrive for Business, which is a separate cloud service. Until recently, those two services, despite the similar name, used separate sync clients. That’s no longer true. Microsoft has rolled out what it calls the Next-Generation Sync Client for Windows 10, which makes it possible for a single sync engine to work with OneDrive and OneDrive for Business accounts.

Figure 2-14 shows what the Next-Generation Sync Client looked like as of this writing. Because this cloud service and its associated sync client are constantly evolving, it’s possible that the version you see might look different.

Figure 2-14: With the Next-Generation Sync Client, you can set up OneDrive personal accounts and OneDrive for Business accounts from a single starting point.

For now, at least, the sync client lets you add one personal account but multiple OneDrive for Business accounts. In either case, as part of the initial setup you get to do two things.

First, you get to choose the location for the local folder that will store your synced files. By default, this folder is stored in your user profile, on your system drive. For a personal OneDrive account, this folder is named simply OneDrive. For a OneDrive for Business account, the folder name includes the name of your business, as well.

In either case, you can see the suggested location and change it by clicking the Change Location link on this setup page. (Allow your mouse pointer to hover over the location to see its full path.)

Make this choice carefully! If you change your mind later, there’s no easy way to relocate your synced files. Instead, you must unlink the folder, move the now-orphaned local files to the new location, and then set up sync again.

Second, you get to choose whether to sync all of your folders from the cloud to your local device or just choose some. Figure 2-15 shows these settings for a OneDrive for Business account, awaiting my approval or changes.

Figure 2-15: With either type of OneDrive account, personal or business, you get to choose which folders to sync to your local PC.

Your sync settings can be different for every device. On my desktop computer, for example, which has multiple terabytes of storage, I sync my entire OneDrive collection—several hundred gigabytes in all. On a Windows 10 tablet or laptop with limited storage, I sync only a few essential folders. As you can see from Figure 2-15, on the other hand, my OneDrive for Business account currently contains less than 10 GB of files, which means I can afford to be less selective with my sync decisions.

Each sync agent gets its own icon in the taskbar, a white cloud for your personal OneDrive account, a blue cloud for a OneDrive for Business account.

Use the Notifications page in the Settings app to show or hide the icons for any of your OneDrive accounts, as shown in Figure 2-16.

Figure 2-16: Use the Windows 10 Settings app to show or hide icons for OneDrive accounts.

Regardless of whether the taskbar icon is visible or hidden, the files you chose to sync do so automatically, in the background. If the OneDrive icon is visible, its icon changes when it’s syncing files, and you can click the icon to see the progress of the operation, as shown here:

For either account, you can right-click the icon in the notification area and then, on the shortcut menu, click Settings to make changes after the fact. You can’t change the location of the local synced folder, but you can change which folders are synced locally.

For a personal OneDrive account only, you have the option (on the Auto Save tab, shown in Figure 2-17) to specify that you want the default save location for documents and pictures to be in corresponding folders in OneDrive.

Figure 2-17: After linking a personal OneDrive account to a PC, you can use these options to change the default save locations for documents and pictures from This PC Only to the corresponding OneDrive folders.

Note that choosing either of these options doesn’t relocate the Documents or Pictures folder from your user profile, nor does it move existing files from those folders; it only changes the default location for files you save in the future.

The most powerful OneDrive feature is a relatively recent addition—the ability to sync someone else’s shared OneDrive folder to your OneDrive folder (or vice versa). When you add files to a shared folder, they are (almost) instantly synced to OneDrive for other people with whom you’ve chosen to share that folder.

Here’s how you can share a folder from your personal OneDrive account with someone else:

1. Choose the folder you want to share and make sure it has a descriptive name. Remember, it’s going to appear in someone else’s OneDrive with the same folder name.

2. In File Explorer, right-click the synced folder, and then choose More OneDrive Sharing Options, as shown in Figure 2-18. That action takes you to the OneDrive website.

Figure 2-18: Right-click a folder or file and then choose this option to share it with specific people.

3. At the OneDrive website, on the command bar, click Share to open the dialog box shown in Figure 2-19.

Figure 2-19: Use the Invite People options shown here to share a file with specific people. Using the Get A Link option, you can share files with anyone who has the generated link.

4. Type an email address and (optionally) a message, and then click Share.

That’s all you need to do. Your recipient receives an email message from OneDrive, along with the welcome message you supplied and a sharing link. After she accepts the sharing invitation, she can attach the shared folder to her OneDrive. (Note that your recipient can attach the shared folder to a different address than the one to which you sent your invitation.)

Here’s what the process looks like when you receive an invitation to share a OneDrive folder. After you accept the invitation, the folder shows up in the OneDrive web interface. On the left of the OneDrive page, click the Shared link to see all shared folders, as shown in Figure 2-20. Click Add To My OneDrive and then click Add Folder.

Figure 2-20: You can view all shared OneDrive folders on this page. Click Add To My OneDrive in the command bar to turn on the option to sync those files to a local PC.

That folder now appears in the list of folders under OneDrive Settings. You can sync its contents to any device you’ve linked to your OneDrive account. If you’ve been granted Edit rights to the shared folder, you can add or change files in that folder.

Shared folders appear in File Explorer with a distinctive “two persons” icon, as shown here:

From OneDrive on the web, you can see which folders you’ve shared with other people and change the sharing options or stop sharing. Right-click any file or folder and then, on the shortcut menu, choose Share to display a dialog box like the one depicted in Figure 2-21.

Figure 2-21: Clicking the Share option in a OneDrive folder on the web lets you see who a file is shared with and change those settings, if you want.

File History and other backup options

I could spend an entire chapter on File History, the preferred backup option in Windows 10. This feature evolved from one you might have known in olden days as Previous Versions (and in fact, as I explain a bit later in this section, that phrase lives on in the properties dialog box for a local file or folder and leads directly to your File History backups).

Here’s the short explanation of File History: This feature takes regular snapshots of local folders you want to back up, saving the current version to an external drive or a network folder. With File History turned on and properly configured, you can do any of the following:

• Restore a file or folder you accidentally deleted

• Restore an earlier version of a file that you replaced with a different version

• Restore all of your files (when moving to a new computer, for example)

For File History to work properly, you need either a separate physical drive or a shared File History folder on another computer on your network. Assuming one of those options is available, open the Settings app, choose Update & Security, and then choose Backup. If you’re setting up File History for the first time, you’ll see the Add A Drive dialog box shown in Figure 2-22.

Figure 2-22: Connect an external drive and then click Add A Drive here to begin setting up File History.

If that search turns up the external drive that you want to use, select it and continue. To choose an alternate drive or set up a network location, click More Options and then click See Advanced Settings. That takes you to the File History page in Control Panel, shown in Figure 2-23. Click Select Drive to choose an external drive or specify a network location.

Figure 2-23: To set up a network location for your File History backups, click Select Drive on the left and then follow the prompts.

If your local network includes a Windows server or an always-on Windows PC, I recommend using that as the File History backup location. For standalone PCs, an external USB drive is the best option. (Yes, you can use a USB flash drive.)

After you’ve turned on File History, you can return to the Settings app and specify the interval between backups (every hour is the default) and how long you want to keep those backups (Forever is the default). You can also choose to customize the list of folders whose contents are backed up.

With setup complete, File History backups happen automatically. To restore an earlier version of an individual file, open its Properties dialog box from File Explorer. To restore a deleted file, open the Properties dialog box for the folder in which it was located. In either case, choose the Previous Versions tab, as shown in Figure 2-24.

Figure 2-24: Backups for individual files and folders are displayed on the Previous Versions tab. Click Open if you want to browse the files without disturbing the current versions.

Use the options below the list of saved versions to specify a particular action:

• Open This displays the contents of a saved file using the default app for that file type. To view the contents of a backed-up folder, click the down arrow to the right of Open and then choose Open in File History.

• Restore This replaces the existing copy of the file or folder with the saved one. To restore a copy of the saved file or folder without disturbing the current versions, click the down arrow to the right of that option and then choose Restore To.

Using the full File History app, you can browse through your backups in a window that closely resembles File Explorer. This option is most useful if you’re restoring your backed-up data files to a new PC or a replacement drive.

To get started, connect the File History drive to the PC to which you want to restore your data, open File History from Control Panel, and then, from the list of links on the left, click Restore Personal Files.

Chapter 3. Registry Editor

An unwritten law, passed down from generation to generation by Microsoft Windows support professionals, requires that I begin this chapter with the obligatory warning that editing the registry is potentially dangerous. Most mere mortals never need to know that Registry Editor even exists, much less open it. If you make an incorrect change in the registry, you can break your system. Proceed with caution.

Right, then. With that out of the way, please allow me to spend the rest of this chapter explaining why, on occasion, it’s worth (carefully) ignoring that advice. The judicious use of Registry Editor is often the best and sometimes the only way to accomplish specific tasks that don’t have an easily accessible entry point in the Windows user interface.

Despite the aura of magic and mystery surrounding the Windows registry, it’s actually a simple database that contains all of the settings for a PC and for the currently signed-in user. Group Policy settings are stored in the registry, as are virtually every preference and configuration option in the Settings app and in Control Panel

There’s a lot of mythology about the registry, which is probably an excellent starting point for this discussion.

How the registry works

Simply opening Registry Editor offers your first hints of its organization. Make sure you’re signed in with an account in the Local Administrators group (Standard users can view the registry but not make changes), type regedit in the search box, and then click the matching command in the results list. You can open its file location and pin the shortcut to Start if you want; I don’t recommend pinning Registry Editor to the taskbar except for short-term tasks.

The basic structure of the registry has remained constant for decades. Figure 3-1 shows the hierarchy of the registry, with one of its five top-level subtrees expanded to show some of its keys and subkeys.

Figure 3-1: Opening Registry Editor shows the five subtrees, each beginning with HKEY, with values and data available for viewing and editing in the right pane.

This instance of Registry Editor is connected to the local computer, as evidenced by the heading at the top of the tree. (As I explain later in this chapter, you can connect to another PC over a network to edit its registry remotely.)

Beneath that top heading are five subtrees, each beginning with HKEY. In general, information about the local PC is saved in HKEY_LOCAL_MACHINE; settings for the user who is currently signed-in interactively are in HKEY_CURRENT_USER. In this and other books, you’ll often see these two subtrees abbreviated, properly, as HKLM and HKCU.

Keys and subkeys in each of those subtrees are the equivalent of folders and subfolders. By itself, a key or subkey does nothing but supply a location where values can be stored.

In Figure 3-1, I’ve expanded the HKEY_LOCAL_MACHINE subtree to display several levels of keys and subkeys, with the BIOS subkey selected and its associated values listed on the right. You can see the full path to this subkey in the status bar at the bottom of the window.

Each value in the pane on the right represents a setting or configuration detail for the current PC or user. As I explain in the next section, you can view and (carefully) edit the data contained in those values to change a preference or setting.

In general, I recommend that you use built-in configuration tools—typically the Windows 10 Settings app, the Local Group Policy Editor (Gpedit.msc), or Control Panel, in particular—rather than editing the registry directly. Save the latter option for times when it’s the only practical solution.

Don’t use registry cleaners

In the Annals of Useless Software, there’s a special category for registry cleaners. These tools are usually sold with extravagant promises of improved performance and reliability. And yet, the only objective tests I have seen show literally zero difference in performance after “cleaning” and “optimizing” the registry.

In fact, the entire premise behind registry cleaning is flawed. Yes, there are, no doubt, a few stray entries in your registry that were left behind when you uninstalled a program. But the idea that cleaning even a few dozen of those unneeded entries will make a measurable difference is absurd.

If you have a specific problem with removing a specific program, a registry cleaning utility might be able to identify keys that will help you to solve that specific problem. But that’s a rare scenario. The more likely result of indiscriminately “cleaning” (in other words, deleting) registry entries is that you’ll delete something you really need, causing a program or feature to fail.

And if you don’t believe me, maybe you’ll believe Microsoft, which has published its support policy for registry cleaning utilities at support.microsoft.com/kb/2563254. The executive summary states the following:

“Microsoft does not support the use of registry cleaners. ... Microsoft is not responsible for issues caused by using a registry cleaning utility. ... Microsoft cannot guarantee that problems resulting from the use of a registry cleaning utility can be solved.”

Editing the registry like a pro

For an example of a task that can’t be accomplished by using built-in Windows tools, look no further than the Registered Owner and Registered Organization values associated with a copy of Windows 10. These values are occasionally used by third-party programs to populate default user information fields.

You can find those in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion key. In Figure 3-2, I’ve double-clicked the RegisteredOrganization value, opening a box in which I can change its data to something other than the default “Windows User” entry.

Figure 3-2: Editing a text string in a registry value is one of the simplest tasks in Registry Editor.

Because the data type in that value is REG_SZ (plain text), it’s a simple matter to type a replacement value and press Enter or click OK to save it.

For values that you can turn on or off, the data type is usually REG_DWORD, with a 0 for off and 1 for on. In the Settings app, for example, you’ll find a Defer Upgrades check box under Update & Security > Windows Update > Advanced Options. Selecting or clearing that check box changes the associated value in HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings. You could accomplish the same configuration setting by changing the registry value from 0 to 1, as shown here:

Backup and restoring registry values

Some registry values don’t really lend themselves to manual editing. Consider the example of the Caps Lock key on your keyboard. For many people (myself included), its actual function is completely useless, and its primary effect is to change text TO ALL CAPS when you accidentally hit it, resulting in muttered curses and some unnecessary editing.

The only way to change what happens when you press the Caps Lock key on a PC running Windows 10 is to make a change to the registry, specifically to the Scancode Map value in the subkey HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout. Figure 3-3 shows the Keyboard Layout key selected. I’ve double-clicked the Scancode Map value and changed its data to a value that tells Windows to ignore the Caps Lock key. Note that its data is a binary value, with the data type REG_BINARY.

Figure 3-3: This slightly intimidating Registry Editor window is where you add the binary information to change the keyboard scan codes to turn off the Caps Lock key.

After you change that value and restart your PC, that annoying Caps Lock key is effectively neutralized. Tapping it, deliberately or otherwise, does absolutely nothing.

More on keyboard scancode maps

If that example whetted your interest, you might want to read this article from the superb howtogeek.com website, which explains how scancode maps work: http://bit.ly/scancode-maps.

That’s an extreme but fitting example of a task that you can accomplish by using Registry Editor. But do you really want to manually type all of that binary code? Of course you don’t. Which is why clever IT pros save that type of registry change so that they can apply it automatically, with just a click or two.

The secret is to create a simple text file that contains the necessary changes and save it in Registration Entries format, with a .reg file name extension. (This is the same technique you should use before you make a change that you might want to roll back, by the way.)

After you’ve made the changes in the registry, right-click the key or subkey whose changes you want to save and then, on the shortcut menu, choose Export. That opens the dialog box shown in Figure 3-4.

Figure 3-4: Use the Export option to save the current contents of a registry key before editing it. Afterward, you can use this tool to copy settings between PCs.

Note the Export Range selection at the bottom of that dialog box. It’s worth double-checking the Selected Branch box to be certain it displays the key or subkey you chose. (The only reason to select All is if you want to save the contents of the entire registry in a plain-text file so that you can compare before and after versions after installing a program or making a configuration change. Be warned: The resulting files are enormous. In that scenario, you’re better off saving an individual subtree or two rather than the entire registry.)

Should you back up the registry?

In earlier Windows versions, making a backup copy of the registry was an essential step before most major configuration changes. With Windows 10, that step is unnecessary. The System Restore option is a more effective way to accomplish the same goal of rolling back unwanted changes, and in the case of major problems, the Reset option is faster and more likely to succeed. It is, however, prudent to back up individual keys and subkeys before making changes, just in case you need to restore the original settings.

After you save the exported file, you need to jump through one more hoop to make that file truly useful. The .reg file contains every value associated with the selected key and all its subkeys. This can result in a problem if you import that file on another PC: You’re likely to change a bunch of settings you didn’t really want to tamper with.

The solution is to open the .reg file in a text editor, manually delete the settings for keys you don’t want to change, and then save the edited file. The result is a file that looks like this:

Click here to view code image

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]

"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,3a,00,00,00,00,00

Note that the key or subkey is enclosed in brackets. For an explanation of the syntax of .reg files (including the use of the hyphen to delete registry keys and values), go to https://support.microsoft.com/en-us/kb/310516.

To import your saved setting into the registry of another PC running Windows 10, all you need to do is copy the file to a USB flash drive or a shared network folder and then double-click it from the target PC. Doing so results in a confirmation prompt and a success message. To make the change silently, type Regedit.exe /s saved_file, where saved_file is the full path to the .reg file you created.

When you import settings from a .reg file, Windows processes the file’s contents in order, starting at the top of the file. If the first key on the list doesn’t already exist, Windows creates that key and then adds any values you specify. If you want to create a new subkey with another subkey below it, be sure to enter the lines in the correct order.

Data items must be enclosed in quotation marks and are immediately followed by an equal sign and then the value you want to add. If a data item in your file doesn’t exist in the registry, the .reg file adds it along with the specified value. If the specified data item does exist, the value in your .reg file overwrites the existing value.

Finally, you have the option to use the Reg command in a Command Prompt window or in a batch file or script. From an elevated Command Prompt, use this command:

Click here to view code image

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map" /t REG_BINARY
/d "00 00 00 00 00 00 00 00 02 00 00 00 00 00 3a 00 00 00 00 00"

Type reg /? to see the full list of eligible arguments for the reg command (query, add, export, import, and so on). Each of those variants has its own syntax help. Try reg add /? to make sense of the switches in the command above.

Finding keys, values, and data

If you know the exact subkey that contains the value you’re looking for, you can navigate through the tree on the left to find it, expanding keys to see the full list of subkeys beneath them.

When you’re not sure of the location, use Registry Editor’s built-in Find function, which is available on the Edit menu. You can also use the keyboard shortcut Ctrl+F. Either option opens the dialog box shown in Figure 3-5.

Figure 3-5: Press Ctrl+F to open the Find dialog box and search for a setting in the registry.

If you know the exact string you’re looking for, type it here and, optionally, use the three check boxes to narrow your search to find matches only in keys, values, or data. Press Enter or click Find Next to locate the next matching instance below your current selection.

You don’t need to reopen the Find dialog box to repeat the search. Instead, press F3 to find the next matching entry in the list. Keep pressing F3 until you locate the entry you’re looking for.

If you regularly revisit the same keys in the registry, you should get to know the Favorites option on the Registry Editor menu. Select a key or subkey, click Favorite, and then click Add To Favorites. That opens the dialog box shown in Figure 3-6. By default, this box contains the name of the selected key or subkey, but you can change it to a more descriptive name.

Figure 3-6: After selecting a key or subkey from the tree on the left, use the Add To Favorites menu to save a pointer to that key on the Favorites menu.

After you add one or more items in this fashion, they appear at the bottom of the Favorites menu, as shown here:

To remove a saved Favorite, click Favorites, point to Remove Favorite, and then, in the Remove Favorites dialog box, select a saved item from the list.

Copy your favorite registry settings

Here’s a secret that even most Windows experts don’t know about. Your Registry Editor Favorites are saved, naturally, in the registry—specifically in the subkey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites. After customizing the Favorites menu, right-click that key and export its contents to a .reg file, as I described in the previous section. You can now use that file to export your Favorites from one machine to another.

Using the command line

As I illustrated in the example earlier in this chapter, all versions of Windows include a built-in command called Reg with which you can perform operations on registry subkeys and values. It’s especially useful for IT pros who want to put together scripts to query and change registry values on a network.

Documenting this powerful command could easily fill a chapter of its own, but if you’re curious, check out the official reference at http://bit.ly/reg-command.

Editing the registry by using Local Group Policy Editor

You can configure many user preferences and system settings by using Group Policy. On a domain network, that typically involves an administrator creating templates that are applied to a domain-joined PC when it connects to the network.

But those same policies are available on any PC running Windows 10 Professional or Enterprise, using the Local Group Policy Editor. The result gives the administrator of such a PC access to many settings that aren’t otherwise available. To start this useful tool, run Gpedit.msc. Figure 3-7 shows the Local Group Policy Editor in action.

Figure 3-7: Local Group Policy Editor typically offers more options than the Settings app and other end-user-focused controls.

This built-in app has a hierarchical organization, as displayed in the tree on the left, that’s similar to that of Registry Editor. The two main branches correspond roughly to HKLM and KKCU. Policies in the Computer Configuration branch typically apply to the PC, independent of users, whereas those in the User Configuration branch typically apply after a user signs in.

Earlier in this chapter, I pointed out the Defer Upgrades option, which you can set by selecting a check box in the Settings app or by editing the registry. Using Group Policy offers significantly more options than a single check box. This policy and its associated setting are found in Computer Configuration > Administrative Templates > Windows Components > Windows Update. Figure 3-8 shows the relevant policy, one of 19 settings available under this heading (note that not all of them apply to Windows 10).

Figure 3-8: The explanatory text to the left of the list of available policies typically offers a thorough explanation of what the selected policy does.

Selecting that policy from the list on the right in Local Group Policy Editor displays a surprisingly detailed block of help text to the left of the entry itself, explaining what the policy does and how to configure it. Double-click the policy to open a window in which you can configure it, as shown in Figure 3-9.

Figure 3-9: Select Enabled from the options at the top of this policy setting window to make more detailed settings available below.

Although the explanatory text never uses the phrase, this is an important piece of the Windows Update for Business feature. As with many features that are intended for business users, the primary deployment tool is Group Policy, and it allows for far more options than are available in the Settings app. Although its design is for enterprise networks, you can freely use it on your own PC, with exactly the same effect.

Editing the registry on a remote PC

By default, opening Registry Editor connects to the registry on the local PC. With a little advance work, you can connect to a remote PC for some simple registry editing tasks. The Connect Network Registry option is available on Registry Editor’s File menu, but before you can make it work, you need to do a bit of advance configuration.

First, you must turn on the Remote Registry service on the remote PC whose registry you want to edit. To do that, in the search box on the taskbar, type services and then click Services from the results list. In the Services console (Services.msc), double-click the Remote Registry service and change the Startup entry from Disabled to Manual or Automatic, and then click Start.

To edit the remote registry (as opposed to just viewing it), you must be signed in as an administrator on your local computer.

Finally, you need to be able to supply administrative credentials for the remote PC.

With those details out of the way, on the File menu, choose Connect Network Registry. Type the name of the remote computer to which you want to connect, and then enter the credentials for an administrator’s account on the remote PC when prompted.

The result, shown in Figure 3-10, is a new top-level branch in the tree pane, with two subtrees beneath it.

Figure 3-10: Connecting to a remote registry requires some configuration changes and offers only limited access to the remote PC.

Your capabilities in this mode are severely limited compared to those you have available when you sign in interactively to the remote PC. In general, on a home or small office network, you’ll probably have better results using Remote Desktop Protocol to connect to the remote PC and then run Registry Editor in the Remote Desktop session.

Code Snippets

Many titles include programming code or configuration examples. To optimize the presentation of these elements, view the eBook in single-column, landscape mode and adjust the font size to the smallest setting. In addition to presenting code and configurations in the reflowable text format, we have included images of the code that mimic the presentation found in the print book; therefore, where the reflowable format may compromise the presentation of the code listing, you will see a “Click here to view code image” link. Click the link to view the print-fidelity code image. To return to the previous page viewed, click the Back button on your device or app.

Chapter 4. Event Viewer

If something happens in Windows, chances are there’s a record of it on your system drive. Like its predecessors, Windows 10 keeps copious logs of its activity, primarily for use by IT pros and support technicians troubleshooting problems or trying to understand the workings of a feature.

To view the contents of those logs, Windows 10 includes the latest version of the built-in Event Viewer app. Most people only ever scratch the surface of this amazingly powerful troubleshooting tool. It’s most commonly used for tracking down problems on a single PC, but IT pros can connect to a remote computer easily for troubleshooting without leaving the help desk. Finding information in event logs can take some digging, and interpreting those events properly can be challenging, as well.

In this chapter, my goal is to help you unlock the hidden power of Event Viewer.

An overview of Event Viewer

Although you can start Event Viewer by digging around in Control Panel, the easiest way to open this console is to type event in the search box and then, from the top of the search results list, click the Event Viewer shortcut. You can also right-click Start (or press Windows logo key+X) and then select Event Viewer from the Quick Links menu. If you prefer the full command name, enter eventvwr.exe or eventvwr.msc in the Run box or at any command prompt.

If the .msc filename extension doesn’t make it clear that this app uses a Microsoft Management Console (MMC) snap-in, the main window should erase all doubt. (For more on MMC apps, see Chapter 1.) The default view, shown in Figure 4-1, offers the familiar three-pane arrangement, with a tree-based navigation control in the pane on the left, actions on the right, and a useful summary of recent events in the center.

Figure 4-1: This Overview And Summary page is the starting point for Event Viewer, offering a view of recent events in a collapsible list, categorized by severity.

When you open Event Viewer, the navigation pane on the left is collapsed and the Event Viewer (Local) node at the top is selected. This gives you a summary view of administrative events in the center.

View event logs on a remote computer

Like many of its siblings in the Windows administrative tools family, Event Viewer can connect to a remote computer so that an administrator can view and manage event logs without leaving the help desk. Choose Action, Connect To Another Computer to open the dialog box shown here, where you can type a computer name or IP address. (You can also use the Wevtutil command-line tool for this function.) For step-by-step instructions, see the TechNet article “Work with Event Logs on Remote Computer,” at https://technet.microsoft.com/library/cc766438.aspx.

Even if a system appears to be running flawlessly, it’s worth checking the summary of administrative events every so often. The log entries shown here are divided into six categories, listed in decreasing order of severity:

• Critical This type of event indicates a failure in an application or a part of the operating system that cannot be automatically recovered. STOP errors (aka the Blue Screen of Death) appear here. Any event that appears in this category deserves thorough troubleshooting.

• Error Problems listed here typically affect the functionality of an app or a part of the operating system from which recovery might be possible. Some errors are harmless and can be safely ignored, but others indicate failures in hardware drivers or peripherals that are worth investigating.

• Warning These events are typically not serious but can be indications of transient issues (such as a lack of a network connection) or configuration problems.

• Information Entries in this category are usually status reports. You’ll find reports of successful installations from the Windows Update client here, for example. Typically, no action is necessary in response to these events.

• Audit Success and Audit Failure These entries come from the security logs and indicate that the exercise of a user right has succeeded or failed. These are of little interest for the kind of troubleshooting I discuss in this chapter, although they might be of interest to a security professional looking for unusual activity from a user account.

Windows draws events from multiple logs: Windows logs (Application, Security, and System), which collect events from the entire operating system; Setup logs; and Applications and Services logs that store events from a single application or operating system component.

The summary combines the most important of these events into a unified view, where you can collapse or expand each of the sections to see more details. In Figure 4-2, for example, I’ve clicked the plus sign to the left of the Error heading to expand it and display the full list of events in this category. (Expanding the list turns that box into a minus sign, which you can then click to collapse the category again.)

Figure 4-2: You can expand any category in the summary of administrative events to see a detailed breakdown of errors, sorted by Event ID.

Each row in the Summary Of Administrative Events section lists key information about that grouping: the Event ID (a numeric code that you can use to search for technical details and troubleshooting advice), the source of the event, and which log it comes from. The three columns to the right break down the total to show the number of times an event in that category occurred in the past hour, the past 24 hours and the past week.

Double-click any row to open a summary of all the events in that category. Summary Page Events is a predefined custom view that is generated automatically and contains much more granular information (including date and time stamps) about each event in the list. Figure 4-3, for example, shows the full list of events generated by DeviceSetupManager after starting a Windows 10 PC.

Figure 4-3: Double-clicking any entry in the administrative summary generates a detailed list like this one, chock-full of information you can use to determine whether an error needs more attention.

In this example, it’s clear that the source of this event, DeviceSetupManager, is not performing as expected. All of the errors visible in that list occurred within seconds of one another. Is this something to be concerned about? As you can see in Figure 4-3, selecting an entry from the list displays its details in the preview pane at the bottom of the Event Viewer window. Use the arrow keys to scroll up and down through the list to quickly get a picture of what these errors have in common.

I was able to use the data from this list—specifically Event ID 131 from the source DeviceSetupManager—to search for further details and confirm that the errors, although annoying in their frequency, were not serious and were probably caused by a problem at the other end of the network, outside of my control.

Don’t lose sleep over harmless errors

Spend enough time using Event Viewer and you’ll discover that its listings are filled with error messages that don’t indicate actual problems. Sometimes the “errors” are simply the result of an app that doesn’t provide Windows with event codes for status messages. As a result, a simple confirmation of, say, a licensing check can turn into an error because Windows can’t find a description to match the event ID. It’s tempting to treat every batch of Event Viewer messages as a mystery to be solved, but for the sake of productivity it’s often just as helpful to know when to ignore those events.

Figure 4-4 shows a different error, from a different source, the DHCPv6 Client. In this case (involving a client computer I was reconfiguring) the error details helped me determine the problem, which was caused by a misconfigured DHCP server on the local network.

Figure 4-4: The preview pane beneath the summary of events shows details for the currently selected event. The General tab usually includes a readable summary of the event.

In that preview pane, you can see two tabs. The General tab provides a (usually) readable description of the error or informational message. Click the Details tab to choose from two additional views—one showing details in a list format, the other displaying the same details in XML format.

You can double-click any event to see it in its own window, with the same choice of General and Details tabs, as shown in Figure 4-5. (When you view an event in a window, use the up and down arrows on the right to scroll between entries; use the Copy button at the bottom to save the full set of event properties to the Windows Clipboard.)

Figure 4-5: Opening an event in its own window provides the same views as in the preview pane. The Copy button saves the event details to the Clipboard.

Changing the view

The navigation pane on the left side of Event Viewer contains several nodes, all of them collapsed initially. Expanded, this default collection should look something like what you see in Figure 4-6.

Figure 4-6: You can expand the navigation pane in Event Viewer to see the full contents of a group of event logs. Expand the Windows heading (near the bottom of the list) to see hundreds of special-purpose logs.

I described the entries under the Windows Logs heading earlier in this chapter, and I’ll discuss the Custom Views heading later. Third-party applications can add entries under the Applications And Services Logs heading to keep track of their own events. By selecting an option on the View menu, it’s possible to expand this list to include Analytic and Debug logs, but these logs are dense, technical, and not of much use for ordinary troubleshooting.

You might notice in Figure 4-6 that I didn’t expand the Windows heading (under Microsoft in the Applications And Services Logs group). That’s because doing so unveils a truly enormous list, containing hundreds of logs covering discrete parts of the Windows operating system. (Even MSPaint has its own event log!) It would probably take several pages just to list all those entries, much less describe them in useful detail.

And for the most part you can safely ignore virtually all of those logs, many of which are turned off and thus will remain empty throughout the useful life of your PC unless you choose to turn them on. You will find some interesting entries in the bunch—the Operational log under Diagnostics-Performance, for example, records an event for every startup and shutdown that takes longer than normal, and is worth looking through if you’re looking for ideas on how to speed up either operation. (The Log Summary at the bottom of the overview page is a more useful place, listing only logs that have had recent activity.)

Unlike the opening summary view, a listing of events in an individual log isn’t categorized; instead, it’s listed by date. As with other such tabular listings in Windows 10, you can click any column heading to sort by a specific column. You can also group the listing by any heading you choose. Right-click any heading to show a Group By menu. Right-click Level and then select Group Events By This Column, as shown in the graphic that follows, to move events categorized as Error to their own group, below Critical items but above the Warning group.

As I mentioned earlier, the default sort order is by the Date And Time column. You might choose to sort by Event ID if you’re simply scanning through a list looking for potential issues. You don’t need to open a menu to do that; just double-click the Event ID column heading.

You can also change the width or placement of columns by dragging the headings. (The process is similar to how you customize File Explorer’s Details view, as explained in Chapter 2.)

The standard view of an event log includes five columns. For some specialized tasks you might want to add or remove columns. If you’ve saved logs from multiple computers, for example, you might want to add the Computer column so that you can see at a glance which computer generated a given event. To do that, right-click any column heading and select Add/Remove Columns. That opens the dialog box shown in Figure 4-7, where you can select a column from the left side and click Add. (To reverse the change, select a column name from the right side and click Remove, or use Restore Defaults to get rid of all your customizations.)

Figure 4-7: As with File Explorer, you can add columns to the display in Event Viewer by using this dialog box.

The Actions pane on the right side is context-sensitive, so options visible there depend on what is currently selected. Actions in the top section apply to the currently open log or view; if one or more events are selected, actions for those events are available in the bottom. Figure 4-8 shows a typical assortment of actions, including options to copy the selected events as a table (essentially a text-based version of what you see in the listing) or as text.

Figure 4-8: The contents of the Actions pane are context-sensitive, with the bottom group visible only if one or more events are selected.

Filtering event logs

The sheer volume of information contained in Windows event logs can be overwhelming. Creating a filter makes it possible for you to zero in on the information you need.

Filters can be a quick way to remove “noise” from an event log. For information that you want to be able to check on quickly, you can save a filter as a custom view.

To create a filter for the current log, click Filter Current Log in the Actions pane. If you’re in a custom view, the corresponding option is Filter Current Custom View. (But note that you can’t filter the built-in custom views, including Summary Page Events.) Figure 4-9 shows a filter I put together. As you can see, it shows only events from the Diagnostics-Performance log, recorded in the last seven days, categorized as Critical or Warning, and having Event ID 100.

Figure 4-9: This filter zeroes in on events with a specific ID and event level in a specific time period, pinpointing information from a lengthy list that includes hundreds of unrelated entries.

Why Event ID 100? Because that’s the ID for Windows startup times. Event ID 101 is associated with application start times and 200 identifies Windows shutdown times. Using this filter. I can quickly check how long it took Windows to complete its startup activities for each start in the past week.

To reuse a filter without going through the tedious steps of re-creating its settings, save it as a custom view. I explain how to do that in the next section.

With Event Viewer, you also can find words or values in the current log or view. In the Actions pane, click Find or use the intuitive Ctrl+F keyboard shortcut to open the simple Find box shown in Figure 4-10. Type any text to find the next event containing that text in any field.

Figure 4-10: Type some text in the Find What box and click Find Next to locate the next event containing that text in any field, including the source and description.

Creating custom views

Filters are great for finding patterns in an event log. But the process of creating a filter can be a little tedious. For any filter you plan on using again, save your settings as a custom view.

After applying a filter to the current log or custom view, in the Actions pane, click Save Filter To Custom View. That opens a dialog box like the one shown in Figure 4-11, where you can type a name and a description. (This example uses the filter settings I showed earlier in Figure 4-9.)

Figure 4-11: When you save a filter as a custom view, it appears in the Custom Views node. You can add subfolders if you have a large number of saved views.

By default, any custom views you create in Event Viewer are available for all users of the current PC. If you want to reserve a custom view for your use only, clear the All Users check box.

When you start a filter by viewing an existing log or opening a previously saved custom view, its scope is automatically set in the By Log field and can’t be changed. For more flexibility, in the Actions pane, click Create Custom View and create a custom view completely from scratch. With this option, you can choose By Source, as shown in Figure 4-12, with a full list of available sources that includes those that don’t yet have any events recorded. In every other meaningful respect, the filtering options are the same.

Figure 4-12: When you create a custom view from scratch, you can use the By Source option to specify sources that don’t currently have events recorded.

If you’ve gone to the trouble of creating custom views on one PC, it’s easy to save those views in XML format and import them on a different Windows 10 device. In the Actions pane, click Export Custom View and save the settings as an XML file. On the destination PC, open Event Viewer and, again in the Actions pane, click Import Custom View, specifying the file you saved earlier.

Copy (and then customize) the Administrative Events view

Although you can’t apply a filter to the built-in Administrative Events view (the source of information for the Overview And Summary page), you can make a copy of that view and then filter your copy. In the Navigation pane, in the Custom Views group, choose Administrative Events (if it’s not visible, you need to restart Event Viewer using the Run As Administrator option). Then, in the Actions pane, click Copy Custom View. Give your copy a unique name, and then select your newly created copy from the Custom Views list. You can now apply filters and save the results as a custom view.

Saving an event log

By using filters and custom views, you can see an up-to-date picture of what Event Viewer has recorded recently. But every event log has a built-in size limit, which means that older events might be discarded. For long-term evaluations, you might want to save the actual content of a particular log or view so that you can review its contents at a later date.

The Save commands are all in the Actions pane.

• To save the full contents of the current log, choose Save All Events As.

• To save the full contents of the current custom view, choose Save All Events In Custom View As.

• To save only the currently selected events from a log or custom view, choose Save Selected Events (from the bottom group in the Actions pane).

The default file type for all of these actions is Event File, with the file name extension .evtx. When you save a file in this format, you can open it with Event Viewer, where its contents appear under the Saved Logs heading. When you open the file, you’re prompted to give it a name. You can change that name (and see when the file was created), by right-clicking the entry under the Saved Logs heading, as shown in Figure 4-13.

Figure 4-13: You can save the contents of any log file or custom view and open that snapshot later. Right-click the entry under Saved Logs and then click Properties to see these details.

The shortcut menu for any custom view or saved log includes a Delete option with which you can remove the entry from the navigation pane. In the case of a custom view, using this option removes the saved settings completely; for a saved log, the .evtx file remains wherever you left it, so you can reopen it whenever you want.

If you’ve applied a filter to a log or custom view, you can clear it by using the Clear Filter command in the Actions pane.

When you’re viewing a log (as opposed to a custom view), you’ll see some additional commands in the Actions pane. Clear Log removes all saved entries from the current log. Exercise this command with caution, especially when viewing system-wide logs. Disable Log is available for individual logs under Applications And Services (including third-party additions and those under the Microsoft / Windows heading). In general, there’s no need to ever click this.

Chapter 5. Task Manager

The original Task Manager did exactly what its name suggested, and not much more. Job one for this venerable Windows tool is the occasionally necessary dirty work of closing a program that has stopped responding to normal input.

But Task Manager in Windows 10 does considerably more, providing a veritable Swiss Army knife of features and functions. Yes, you can check details about running tasks and end a process that’s stopped responding. But by expanding Task Manager to its full, multitabbed glory, you can see far more details about how your system’s resources are being used, including details for each individual process. Do you need to know why your laptop fan is running nonstop? Task Manager is a good place to start.

In this chapter, I also introduce a related system app, Resource Monitor, which is one click away from the Performance tab in Task Manager and offers even more precise performance monitoring options.

Mastering Task Manager

To open Task Manager, right-click any empty space on the taskbar that isn’t occupied by a pinned shortcut and then, on the shortcut menu that appears, click Task Manager. You can also press Ctrl+Alt+Delete to reveal a similar option.

But the easiest route to Task Manager is a keyboard shortcut that’s unfamiliar to most Windows users: Press Ctrl+Shift+Esc. On a standard keyboard layout, those three keys are arranged in a column at the left edge, making the combination easy to remember.

By default, Task Manager’s view is minimalist, as shown in Figure 5-1.

Figure 5-1: The default view of Task Manager shows only apps and desktop programs started by the current user, along with the option to end a task that isn’t responding.

Click More Details to expand Task Manager into a far more interesting display, with seven tabs. As Figure 5-2 shows, the Processes tab includes the same collection of processes as the default view (which you can return to by clicking Fewer Details), but it also supplies details about child windows as well as four columns of information about system resource usage.

Figure 5-2: After clicking More Details, the Task Manager view expands dramatically.

The End Task button remains, but the display of information is significantly expanded.

The most noticeable addition to the Processes tab is the group of four columns to the right of the list of processes; these columns provide an overview of total system resource usage—CPU, memory, disk, and network—in the column headings. The details to the right of each process show the corresponding activity for that process.

You’ll find additional details about running processes, as well. Instead of including just desktop programs and apps, the list is expanded into three groups: Apps, Background Processes, and Windows Processes.

So, what can you do with these expanded listings?

• Click any of the four resource-based headings to sort the list by that column, in descending order. This way, you can see which processes are using the most CPU. (Click again to re-sort in ascending order.) Click the Name heading to restore the sort order by process.

• Click View > Update Speed to choose a faster (High) or slower (Low) rate of polling for system resource usage. Click Pause to temporarily freeze the values so that you can examine them without experiencing sudden changes. Click Refresh Now to update the paused display and show the current values.

• On the View menu, clear the Group By Type check box to see an alphabetical listing of processes without the three groupings.

• Choose any item in the list and click End Task to forcibly stop that process. This action is effective for ending a nonresponsive app (with the inevitable risk that you’ll lose unsaved data, of course). Note that you can’t forcibly close most individual entries under the Windows Processes heading; for example, if you try to end the Desktop Window Manager task, you’ll be prompted to abandon any unsaved data and shut down Windows completely.

One task, Explorer.exe, receives special treatment on the Processes tab. This process, typically listed as Windows Explorer, serves multiple functions. If any File Explorer windows are open, this process is listed under the Apps group. If no File Explorer windows are open, you’ll find it under Windows Processes.

In either case, selecting Windows Explorer results in a subtle change to the Task Manager window. The End Task button changes to Restart. Clicking that button (shown in the graphic that follows) forcibly closes any File Explorer windows and restarts the Windows shell.

This feature is especially useful if, for whatever reason, the Windows shell is no longer responding to mouse clicks or keyboard input. Because Task Manager runs at a higher priority than the shell, you can use the Ctrl+Shift+Esc process to force the Windows shell to restart.

By default, the Task Manager button is visible on the taskbar even when you minimize it. To allow Task Manager to run without cluttering the taskbar, click Options > Hide When Minimized. (This same menu also offers the Always On Top option; this displays Task Manager above all other windows, which is useful for real-time performance monitoring.)

Whenever Task Manager is running, even if you’ve hidden its taskbar icon, you can see overall details about system resource usage in a graph displayed as an icon in the notification area. Move the mouse pointer over that icon to see details, as shown here:

Digging into the Details tab

The Details tab includes the exact same list of processes that you’ll find on the Processes tab, in a more compact tabular format. You can jump to the Details tab directly and scroll through its listings; you can also get to it by right-clicking an entry on the Processes tab and then clicking Go To Details.

As Figure 5-3 shows, the default layout includes seven columns, offering several details you won’t find on the Processes tab.

Figure 5-3: The Details tab offers much more information about each running process, including the Process ID (PID), which is useful in other troubleshooting tools.

Here’s what to look for in those seven default columns:

• Name This column, which cannot be removed from the table layout, shows the name of the executable file associated with the process. In the case of local services, the executable name is Svchost.exe, and it’s normal for multiple instances to appear here. (More on that in the next section.)

• PID The Process ID is a number that uniquely identifies an individual process. It’s invaluable for looking up information on the Services tab and in other tools such as Resource Monitor or the command-line Tasklist.exe.

• Status As its name implies, this shows the current status of a process. Most Windows processes and desktop apps and services will show Running. Windows 10 apps that are running in the background might show a status of Suspended.

• User Name Programs that you run interactively or that start up when you sign in show under your user name in this column. Processes (typically services) that run with higher privileges show which built-in account they’re using.

• CPU This column is the same as what’s displayed under the Processes tab and is governed by the same update pace as those measurements.

• Memory (Private Working Set) This column duplicates the information in the matching column on the Processes tab, except that values are displayed in kilobytes instead of megabytes.

• Description The text in this column is supplied as metadata (File Description) by the developer of the executable file. It is identical to what appears in the Name column on the Processes tab. To see additional information about a process, including version numbers and date/time stamps, right-click its entry here and then, on the shortcut menu that appears, click Properties, and then click the Details tab.

Why is the System Idle Process using so much of the CPU?

There is one entry that’s visible on the Details tab but isn’t shown on the Processes tab. The System Idle Process always has a PID of 0 and, despite the name, isn’t actually a process at all. Instead, it measures clock cycles when the CPU is not in use by any other processes and thus is idle. Every so often, I hear from readers who checked Task Manager and were alarmed that the System Idle Process was using 90 percent or more of the CPU. This is actually not a cause for concern. In fact, that value indicates how much of the CPU’s resources are not in use and thus are available for other programs to use. The higher that value, the less strain your CPU is experiencing.

Right-click any process name to see a shortcut menu of additional options, as shown in Figure 5-4.

Figure 5-4: For any process on the Details tab, you can right-click to find the associated file in File Explorer. Other options give you the ability to search for information or inspect properties of the file.

The first option on that menu, End Task, duplicates the button in the lower-right corner. The remaining options in the top three groups are rarely used; you can use the bottom four options to further investigate an unknown process or one that appears to be misbehaving.

Be skeptical of online sources

The Search Online option sends the values from the Name and Description fields to Bing, using your default browser. The results of that search can be wildly uneven, especially for system processes whose names have been repurposed by malware authors. In general, you should prefer information from an official source such as TechNet or MSDN. Some community resources are consistently reliable. My favorites include Stack Overflow (stackoverflow.com) and Bleeping Computer (bleepingcomputer.com). Information in community forums, including official threads at answers.microsoft.com, can be wildly variable. Don’t assume that an assertion from a knowledgeable-sounding forum contributor is necessarily accurate.

As with the similar tabular arrangement in File Explorer’s Details view, you can change the layout by using a few common tricks:

• Drag column headings left or right to rearrange their order.

• Click any heading to sort by that heading. Clicking the CPU or Memory heading, for example, moves processes that are using more of those resources to the top of the list. Likewise, you can click the User Name heading to group processes that are under the control of the System account or are running in the context of specific local services.

• Right-click any column heading and then choose Select Columns to add or remove columns from the table. The Command Line heading, for example, shows the exact command used to start a process. Here are some other columns worth adding: Platform distinguishes 32-bit and 64-bit processes; Elevated shows processes that are running with administrative privileges; GDI Objects hints at how much of a load a specific process is putting on your graphics processing unit (GPU).

• Right-click any column heading (except Name) and then click Hide Column to remove it from the table.

Investigating services

On the Processes tab, you can expand any Service Host entry to see the individual services running in the context of that process. Opening the Services tab provides a view of all services, running or stopped, with a few extra details you won’t find on the Processes tab. The additional information in this tabular view includes the Process ID for running services as well as the service name (this is useful if you want to use the sc command to manage a service from a command line or script) and the group of which it’s part. As Figure 5-5 shows, you can right-click any listed process to start or stop it.

Figure 5-5: The Services tab in Task Manager offers only basic controls for starting, stopping, and restarting services. Click Open Services to use the more powerful Services console.

If you need to pause or resume a service or change its startup behavior, open the Services console (Services.msc) by using the command on that shortcut menu.

Managing startup apps and monitoring resource usage

Apps and services that start automatically when you turn on a PC or sign in to a user account are a mixed blessing. Yes, they’re convenient, but they can also degrade performance. And sometimes there’s just no valid reason for a third-party program to automatically start itself without your consent.

Previous versions of Windows provided crude controls in the System Configuration tool (MSConfig.exe) that you could use to manage many (but not all) of these programs and services. Now, these options, slightly expanded, are available on the Startup tab in Task Manager, as shown in Figure 5-6.

Figure 5-6: Use the Disable button to temporarily stop a process from starting automatically.

The Startup Impact column shows a vague estimate of how much drain a particular process puts on your system when it starts. Also unexpectedly useful is a detail that you won’t easily find anywhere else: the Last BIOS Time. On a device with UEFI firmware, expect this value to be less than 5 seconds. Older designs with a conventional BIOS typically take more than 20 seconds to start up.

Although the Windows 10 version of the Startup tab is more capable than earlier versions, it’s not comprehensive. For pinpoint control over programs and services that start automatically, use AutoRuns, one of the free Sysinternals tools. Chapter 7, “Sysinternals Suite,” provides more details about all of these free tools.

For more details about any item in the startup list, you can right-click that item and then, on the shortcut menu, click Properties (see the graphic that follows). Next, click the Details tab to inspect information about the program, including its developer and version number.

The App History tab shows color-coded values for system resource usage by the current user account and the System account, as shown in Figure 5-7.

Figure 5-7: The darker color gradients in the App History listing indicate apps that are using higher levels of a particular resource.

At first glance, this tab might seem useful only for satisfying idle curiosity, but with a few tweaks you can turn its details into actionable information. For example, if you’re on a Wi-Fi network that’s not marked as metered but where you need to carefully monitor your data usage, try this:

1. Click Options and then click Show History For All Processes. That expands the list to include Windows desktop apps and services.

2. Click Delete Usage History to zero out all of the values.

3. Click the Network heading to sort the list by the amount of data used, in descending order.

Task Manager monitors CPU and network usage in the background regardless of whether it’s open. Every so often, you can check the values on this tab to see if any apps are using more data than you expected. If so, you can adjust settings quickly to avoid bumping into a data cap or paying charges for exceeding your limit.

Monitoring performance in real time

You’ll find an amazing amount of information on the Performance tab in Task Manager. It’s one of the first places I look when I’m trying to chase down a performance issue. Figure 5-8 shows the default interface, which displays many performance details at a glance; but, as I explain in this section, you can find some additional details that are normally hidden, if you know where to look.

Figure 5-8: Each thumbnail in the left pane of the Performance tab is a live graph of that metric. Click a thumbnail to see a larger version with additional details in the pane on the right.

The list of available thumbnails on the left side includes CPU and Memory graphs at the top. The remaining lineup varies depending on your installed hardware. The desktop PC shown in Figure 5-8, for example, is stuffed with storage and networking options, with separate performance graphs for each of three individual physical disks and three network adapters.

How is the CPU chart useful? Say you’re trying to figure out whether a new device has enough horsepower to handle demanding photo and video editing tasks. Open Task Manager, display the CPU graph on the Performance tab, and then start a CPU-intensive task such as transcoding a video or converting a large batch of raw image files to compressed format.

You can use options on the View menu to change the update speed (or pause it completely) and to keep the Task Manager window on top as you perform a series of tests for which you want to see the response in real time.

Save and share performance details

Would you like to save a snapshot of current performance details for later review? Use the Copy shortcut (Ctrl+C) to save the details displayed below the graph for the current selection. You can then paste those numbers from the Clipboard into a document or an email message. To freeze the display of information at the current moment, click View > Update Speed > Paused. You then can go through each panel in turn, copying its details for the record.

If you just want the overview and don’t need to see the details for the current selection, double-click anywhere on the left side of the Performance tab. That’s a shortcut for right-clicking in the column of thumbnails and choosing Summary View (shown at left in the graphic that follows). For an even more minimal display, right-click and then choose the Hide Graphs option (shown on the right).

Or perhaps you’re more interested in simply seeing the real-time performance graph for CPU usage, minus the title bar, menus, the technical details at the bottom, and the column of thumbnails on the left. In that case, double-click the right side of the Performance tab to hide everything except the large real-time graphs. (That’s a shortcut for the Graph Summary View option, available when you right-click anywhere on the right side of the tab.) Double-click again to restore the missing details.

Each performance graph has its own set of display options. On the CPU graph, for example, you can right-click to see individual graphs for each logical processor instead of a single graph for overall utilization. Figure 5-9 shows this option in action.

Figure 5-9: You can fine-tune the real-time graph for any of the metrics on the Performance tab. This display, for example, shows eight individual graphs for a quad-core processor with hyper-threading turned on.

The Memory graph is probably the least volatile of the options shown on the Performance tab. Figure 5-10 shows the display shortly after I opened a Hyper-V virtual machine. Notice the spike in memory usage.

Figure 5-10: Unlike the other measurements on the Performance tab, you’re unlikely to see wild swings in memory usage; instead, you can expect gradual changes as you open and close programs and large data files.

Several important details appear below the memory graphs, including the most important detail: how much memory is available for use by programs, drivers, and the operating system itself. If you’re working on an unfamiliar PC, look to the right of the Available value to see details about the physical RAM, such as speed and form factor. The Slots Used value indicates whether it’s possible to expand physical memory without replacing existing modules.

The smaller Memory Composition graph, below the main Memory Usage graph, shows a breakdown by category: In Use, Modified, Standby, and Free. You can move the mouse pointer over one of the blocks to see the amount of memory in that category as well as a Screen tip that defines the category.

This example shows the result after I closed several virtual machines, moving their memory to the Standby category, where it remains cached until the system needs that memory for another task:

On a desktop or laptop PC, the scale of the CPU and Memory graphs never changes. Each graph represents 100 percent of the available CPU or installed memory, respectively, and the placement of the lines indicates what percent of the total is in use at any update.

Figure 5-11 illustrates how each physical disk is represented by a graph on the Performance tab. As with CPU and Memory, the top graph shows what percent of the disk’s total capacity is in use at any given time. In the Disk Transfer Rate graph below the main graph, the scale changes dynamically so that you can see relative changes in activity. For example, on a system that’s not actively performing any strenuous disk activity, the scale might range from 0 to 100 KBps, but if you begin transferring a large file, the scale might change to 100 MBps to reflect the actual workload. (Actual values are determined by the speed of your storage device and storage controller.)

Figure 5-11: The top graph for a physical storage device shows what percentage of its ability to read and write information is in use; the bottom graph shows actual throughput speeds.

The full-sized chart for a network adapter is the only one on the Performance tab that isn’t fixed at 100 percent. Instead, as with the smaller disk chart, the scale changes dynamically as network throughput increases or decreases.

Figure 5-12, for example, shows a Gigabit Ethernet adapter in a Hyper-V virtual machine as it goes from no measurable activity to nearly the full capacity of the adapter.

Figure 5-12: This large incoming file transfer is nearly saturating a Gigabit Ethernet adapter. On a less active connection, the scale changes to make network activity more obvious.

Get your internal IP addresses quickly

Although there are several ways to find your IP addresses (IPv4 and IPv6), Task Manager is one of the quickest. The details section, located just below the main Network graph on the Performance tab, shows the IP addresses assigned to that adapter. Press Ctrl+C to copy those values to the Clipboard for use elsewhere.

The Network graph is the only one on the Performance tab that offers extremely detailed real-time measurements. Right-click the Throughput chart and then, on the shortcut menu, click View Network Details to see a continuously updating table like the one shown in Figure 5-13.

Figure 5-13: This well-hidden Network Details table shows continuously updated throughput for all available network adapters, with byte-sized accuracy.

Digging deeper by using Resource Monitor

The Performance tab in Task Manager is useful for watching overall resource usage in real time, but it’s not capable of helping you understand exactly what a given process is doing with system resources.

To get that level of detail, at the bottom of the Performance tab, click Open Resource Monitor. Figure 5-14 shows the Overview tab of Resource Monitor. Thumbnail graphs on the right side show CPU, disk, network, and memory usage in a continuously updated display, while the main window shows four sections with detail for each of those categories.

Figure 5-14: The Overview tab in Resource Monitor shows CPU, disk, network, and memory usage at a glance, with the option to filter the display by process.

The Overview tab offers an all-in-one view of system resource usage. Separate tabs to its right give you the ability to zero in on CPU, Disk, Network, and Memory activity, respectively. All of the tabs display activity in a tabular format; you can drag column headings left or right to change their order, drag a column heading’s right edge to change the column’s width, and click a heading to sort by that column.

The Memory tab offers a unique map-style view of memory usage. Figure 5-15 shows the color-coded bar chart that represents how much memory is in use and how much is available for use. When you move your mouse pointer over a segment, a Screen tip appears that gives you a definition of the category.

Figure 5-15: The Memory tab, unlike its counterparts, contains a color-coded map showing how much physical memory is in use and how much is in Standby (cached but not actively in use), and the amount that’s Free.

The most important skill to learn with Resource Monitor is how to filter the results to show just the activity you want to examine.

Note the check boxes alongside each entry in the top section of any tab. Select any of these check boxes to pin the associated process to the top of the list and filter the results below to show only activity for that process. If you select additional processes, the lower sections show activity for all the selected processes.

When you pin one or more processes to the list on one tab, your selection remains pinned as you move to other tabs, even if one or more processes end their activity. In the example shown in Figure 5-16, for example, I selected MsMpEng.exe (the Windows Defender engine) and the System process (PID 4) on the Overview tab. Switching to the Network tab shows detailed network activity, including the IP addresses of active connections.

Figure 5-16: Selecting a check box in the list at the top of any tab filters the display of information below, showing only details from the selected processes.

With that filter in place, you can switch to a different tab and see exactly what the selected processes are doing. The example that follows shows a filtered view of disk activity, with full paths to files with which the System process is interacting. This sort of detail is exceptionally valuable if you’re trying to determine, for example, where a third-party program is saving update files or settings.

Chapter 6. Disk Management

Storage is a core feature of any computing platform, and you don’t earn the “IT pro” badge until you master the fine art of managing those bits and bytes. For this task, Windows 10 uses many of the same tools as its predecessors, most notably the Disk Management console.

Even if you’re familiar with the fundamentals of Disk Management, I suspect you’ll learn some tricks from this chapter. You also might find a few surprising improvements in Windows 10. My favorite? You can shrink a volume, even your system drive, to create space for a new volume. If you ever tried this feature in earlier versions of Windows, you were undoubtedly tripped up by weird limitations that made the feature virtually unusable (and completely frustrating).

Disk Management is the most important built-in tool in the storage category, but there are a few others, as well. In this chapter, I talk a bit about the command-line DiskPart tool, and I also introduce a few other obscure but occasionally useful built-in apps.

This chapter also discusses BitLocker Drive Encryption, an essential feature that protects business and personal data on both system drives and removable media.

Note

For this chapter, I assume that you’re already familiar with the basics of managing storage in Windows, such as the difference between NTFS and FAT32 as well as the parts that are independent of Windows: what makes a solid-state drive (SSD) different from a conventional hard drive, for example, as well as how to physically connect a new internal or external drive; If you need a refresher course on this big topic, my coauthors and I devote a full chapter to it in Windows 10 Inside Out (Microsoft Press, 2015).

How Windows 10 manages storage

Every Windows 10 device, without exception, has a primary storage device that contains Windows system files and is the default location for programs and data files.

Depending on the hardware design, you can attach other storage devices—internal, external, or virtual—to expand your storage capacity and perform backups. You manage all these storage devices by using the Disk Management console and other tools.

The word disk, of course, is a throwback to a bygone era, when every bit of storage ended up on a spinning disk of some sort. Hard disks are still alive and well, although floppy drives have nearly disappeared. CD and DVD drives (writeable and otherwise) are an endangered species. Most modern storage media are disk-free devices that use fast and quiet flash memory: SSDs and portable USB drives, for example, as well as flash-based memory cards (including those that use the MicroSD format that you frequently find in tablets and smartphones). Devices such as phones and portable music players can appear as storage devices when connected to a Windows 10 PC via USB.

In Windows 10, a disk is typically divided into volumes (a term sometimes used interchangeably with partitions). On most desktop and portable PCs, you’ll use simple volumes on basic disks. (With Disk Management, you can turn basic disks into dynamic disks and combine physical disks into spanned, striped, mirrored or RAID-5 volumes. If you don’t know what that last sentence meant, you probably don’t need any of those features.)

Although some Windows 10 features try to hide drive letters (File Explorer libraries, for example), they’re never far away. As for file systems, there are very good reasons why your system drive and secondary data drives (internal or external), should use NTFS. For smaller removable storage devices, there are occasionally reasons to use the FAT32 or ExFAT standards, instead.

Disk Management

The star of this chapter is yet another essential tool designed as a snap-in for the Microsoft Management Console. Figure 6-1 shows the layout of a laptop with a 480 GB SSD configured as the system drive and two removable storage devices: a 32 GB card in a MicroSD slot and a 4 TB external drive attached using a USB 3.0 port.

Figure 6-1: The graphical view in Disk Management, shown in the bottom pane here, displays details for each attached storage device, with disk details on the left, volumes (not shown to scale) on the right.

Why do storage capacities in Windows 10 always appear smaller than advertised?

If you compare the capacities listed in the previous paragraph to the actual values shown in the graphical pane in Figure 6-1, you’ll probably notice that the actual values are smaller than the advertised capacities. You can see the same disparity if you right-click a volume in Disk Management or in File Explorer and then choose Properties. Why has the 480 GB SSD shown here shrunk to a mere 436 GB?

Some of the missing space is actually in use. As you can see in the details in the screenshot that follows, Disk Management shows the drive’s full capacity as 447.01 GB, with 10.75 GB used for two Windows 10 recovery partitions, an EFI System partition, and the OEM-supplied recovery partition.

The remainder of the disparity is simply a difference in arithmetic. Advertised storage capacities are almost always calculated with a GB equaling 1 billion bytes. Inside Windows 10, however, a GB is actually 1024 MB, each of which in turn is 1024 KB, with each KB made up of 1024 bytes. Multiply 447.01 GB (the amount shown in Disk Management) by 1024, then by 1024 again, and then by 1024 one more time, and you end up with nearly exactly 480 billion bytes.

The default layout of Disk Management has two panes, with a list of volumes at the top and a graphical view showing the layout of volumes on a disk below it.

Use the choices on the View menu (see Figure 6-2) to change this arrangement of information. Here, I’ve moved the volume list to the bottom pane and changed the top pane to show the graphic view.

Figure 6-2: Use these options on the View menu to change the Disk Management layout, including hiding the bottom pane, if you prefer.

You can use the choices on the Top menu to specify whether you want to see the Disk List, Volume List, or Graphical View when you open Disk Management. The same choices are available for the Bottom menu, along with a fourth option: Specify Hidden for the bottom pane and you can work with a single view in the top pane only.

You can right-click just about any object on this screen to get information about it or to manage its configuration. After connecting a new, never-before-formatted disk, for example, you might be prompted to initialize it. If you skip that option, you can return to it by right-clicking the entry for a disk (on the left side of the graphical view).

You can right-click a volume or a block of unallocated space to create a new volume, delete an existing volume, shrink or extend an existing volume, or change drive letters. Figure 6-3 shows these options for a data volume on a large conventional hard drive.

Figure 6-3: Right-click any volume in Disk Management to open this shortcut menu, which contains a wide range of options, some of them destructive.

Note

Don’t choose the Format option unless your goal is to erase all of the data on the selected volume.)

I cover all these options later in this chapter.

Diskpart

Almost everything that you can do in the Disk Management console you can also accomplish from an elevated Command Prompt window, using the DiskPart tool.

DiskPart is slightly different from most other command-line tools in Windows 10, in that it doesn’t operate by executing with switches. Instead, running the diskpart command starts a new environment with its own prompt. From the DISKPART> prompt, type help to see a full list of available commands. Type help <command_name> to get instructions for the use of that command. Figure 6-4 shows this help text for the Clean command.

Figure 6-4: A DiskPart session has its own custom prompt and a peculiar syntax. Use the Help command to get instructions for a particular command.

The way DiskPart works can be a bit confusing. To clean a disk, for example, you first must select the disk by number. After creating one or more partitions, you need to select a partition, again by number, to use the format command. After every selection and action, DiskPart gives you a confirmation message.

Figure 6-5 shows the string of commands I needed to type to erase an 8 GB USB drive, create a new primary partition, format it as FAT32 (so that it will boot on a UEFI-based system), and then make the volume active so that it will start. Note that the sequence begins with the list disk command; this way I can identify the number of the disk that I need to select.

Figure 6-5: Every command in this sequence is followed by a confirmation message from DiskPart. Be very careful to select the correct drive number before using the Clean and Format commands to wipe it.

Eagle-eyed readers will note that I abbreviated some commands in that sequence. DiskPart will recognize a command as long as you type at least three characters, so cre par pri and create part pri have the same effect as create primary partition.

To end the DiskPart session, use the exit command.

Other useful storage-related tools

There are plenty of tools that help you to perform specific tasks on storage devices in Windows 10. One option that will be vaguely familiar to longtime Windows users is the Microsoft Drive Optimizer (dfrgui.exe), which appears under Administrative Tools as Defragment And Optimize Drives.

Once upon a time, defragmenting a hard disk was a time-consuming but thoroughly necessary maintenance task. Solid-state drives, which store data using a completely different set of technologies from conventional hard disks, don’t need regular “defragging” but do occasionally need to shuffle large files and mark the pages of memory used by deleted files for cleanup.

Figure 6-6 shows the Drive Optimizer in action. Note that volumes located on a solid-state drive are properly identified under the Media Type heading. If you select the OS volume and click Optimize, you’ll see a series of progress messages as the operation takes place (very quickly) under the Current Status heading: “73% trimmed,” for example.

Figure 6-6: The Microsoft Drive Optimizer tool can distinguish between hard disks, which need defragmenting, and SSDs, which just need to run the Trim command.

Another fascinating tool is Storage Spaces. You can use this feature to combine multiple drives into a single virtual volume, managed by Windows 10. This capability is most useful on server hardware, on which you can easily add multiple drives and combine them to create a massive amount of storage. You’ll find a more detailed discussion of Storage Spaces in Windows 10 Inside Out.

Common Disk Management tasks

As I mentioned earlier, to get information about a disk or a volume, right-click its listing in Disk Management and then, on the shortcut menu that opens, choose Properties. The resulting dialog box shows free space and used space, in the exact same format you would see if you had checked the disk properties from This PC in File Explorer. That properties dialog box contains a big button that runs the Disk Cleanup tool, with more buttons on a separate Tools tab for other tasks.

This section contains a rapid-fire list of other things you can do from within Disk Management.

Change a drive letter

Unless you performed actual magic spells at setup time (and if so, I tip my hat to your wizardry), your system drive is assigned the letter C. I do not recommend changing that drive letter. For all other drives, including secondary data drives and removable media drives, Windows 10 automatically assigns drive letters starting with D and going all the way up to Z.

You might prefer to change the drive letter assigned to a particular device. Maybe you regularly switch between two desktop systems and want to avoid confusion by assigning the same letter to the DVD drive and external File History drives on each one. Or maybe you just like seeing X: in File Explorer. Whatever the reason, you need only to right-click the volume from Disk Management and then, on the shortcut menu, choose Change Drive Letters And Paths.

Figure 6-7: Click Change to display a list of available letters to use in place of the current drive letter. To free a drive letter for use on another device, click Remove.

Click Change to choose from a list of unassigned drive letters. (If you want to assign a drive letter that is already in use, you need to right-click the volume currently using that letter and then choose Remove to make the drive letter available.)

Map a new disk to a folder

Using one little-known trick, you can add a new volume (formatted as NTFS) to a system and then assign its storage to an existing folder. Maybe the system drive on your desktop PC is getting full, and you’ve added a new, larger hard disk to the system. You’ve created a new, empty subfolder in your user profile called Archive, and you’d like anything you place in that folder to be stored on the newly added drive. Easy.

In Disk Management, right-click the empty space on the disk you just added and then, on the shortcut menu, choose New Simple Volume. Follow the wizard’s steps and, after specifying the size of the volume, you should see the page shown in Figure 6-8. Choose Mount In The Following Empty NTFS Folder, click the Browse button to specify the folder that you want to map to this location, and then finish the wizard.

Figure 6-8: Instead of (or in addition to) assigning a drive letter, you can mount a new volume so that its contents appear in a folder on an existing drive.

If you’ve already created the volume, this same option is available: right-click, choose Change Drive Letters And Paths, and then click Add.

Shrink a volume

Why would you want to remove storage space from a perfectly good drive? I can think of several good reasons. You have only one physical disk, but you want to install a second copy of Windows (or another operating system) in a dual-boot configuration. Or you’ve upgraded your primary system drive to a gigantic multi-terabyte hard drive and you want to create a separate logical drive for keeping your data separate from the operating system. (That makes image backups easier and also makes it possible to reset Windows 10 without worrying about loss of data.)

In either case, assuming that you have sufficient unused space on the physical disk, you should be able to shrink the current volume and then create a new volume on the newly freed empty space.

To begin, right-click the existing volume in Disk Management and then choose Shrink Volume. That opens a dialog box like the one shown in Figure 6-9. In this example, Disk Management told me that I had more than 190 GB of free space to use for shrinking, but for this example I really only need a 64 GB drive, so I clicked Enter The Amount Of Space To Shrink In MB and changed the value to 64000.

Figure 6-9: If you have sufficient free space, you can shrink an existing volume, creating unallocated space that you can turn into a separate volume with its own drive letter.

Click Shrink to begin the process of consolidating the existing data and adding empty space to the right of the existing volume.

Now, this all might seem pretty ho-hum. But if you ever tried using this feature in earlier versions of Windows, you probably remember being frustrated to discover that you could actually use only a small fraction of the free space on a volume, thanks to unmovable system files. That limitation appears to be gone as of Windows 10, and you can use the entire free space if you want,

From that unallocated space, you can right-click to create a new simple volume, or start from Windows installation media and specify the freshly freed-up space as the destination for the new installation. If your second installation is also running Windows 10, the installer automatically creates a nifty boot menu on which you can choose which copy you want to run.

Create a virtual hard disk and attach it as a drive

You can use one genuinely obscure but useful feature in Disk Management to create a Virtual Hard Disk (VHD) file and double-click to mount it as if it were a separate physical drive, with its own drive letter. One good use of this feature is to create an instant data drive that you can move between virtual machines in Hyper-V (see Chapter 10 for more details on setting up and using Hyper-V).

You can stuff a VHD with as many files as it will hold and move it between physical PCs, as well. So, if you have a collection of downloaded software, document templates, corporate resources, or anything that you frequently want to move between devices, consider a VHD.

To create one, from Disk Management, click Action, Create VHD. That opens a dialog box like the one shown in Figure 6-10, where you can specify the format of your VHD. The choices are pretty straightforward: Specify where you want the VHD file to be saved, and give the file a descriptive name; specify a virtual hard disk format (VHD if you need compatibility with Windows 7, VHDX if you’ll only ever need to mount it on a physical or virtual PC running Windows 10, Windows 8.1, or Windows Server 2012 or later).

Figure 6-10: Caption

In general, I recommend choosing the Dynamically Expanding option, which allows the VHD file to be only as large as the data you’ve stored on it, making it easy to move between PCs. After the VHD is created, Disk Management automatically adds it, assigning the next available drive letter. You can detach the VHD by selecting it in Disk Management and using the corresponding option on the Action menu.

Wipe a drive clean

One task that Disk Management does not do particularly well is wiping a drive clean when you’re getting ready to give away, sell, or transfer a PC. Formatting a drive leaves behind data that third-party disk utility software can recover in whole or in part. The solution is to open an elevated Command Prompt window and use the Cipher tool with the /W (for Wipe) switch. That erases all blank space on the drive, replacing it with zeroes and making the drive’s contents unrecoverable.

BitLocker Drive Encryption

One of the most important storage capabilities in Windows 10 is its support for enterprise-grade data security using the BitLocker Drive Encryption technology. This feature is available in Windows 10 Pro, Enterprise, and Education editions and should be a must on any device that you take outside of your home or locked office when you travel.

BitLocker Drive Encryption uses AES 256-bit encryption that renders the contents of your system drive (and other drives if you so choose) unreadable except to someone who can successfully sign in with your credentials. If you’ve chosen a sufficiently strong password, that’s excellent protection against someone stealing your portable device, booting from removable media, and then using disk tools to rummage through your secrets. If your organization uses smartcards, BitLocker can require that you unlock the drive with a smart card and a PIN, making it impossible for a thief to gain access even if he has your password.

To use BitLocker to encrypt your system drive, your PC must have a Trusted Platform Module (TPM) chip, which is standard these days on most portable PCs sold for business use. (It’s possible to use Group Policy to turn on BitLocker without a TPM, but I recommend against it.) You can use BitLocker on nonsystem drives and removable drives even without a TPM.

To use any of these forms of encryption, sign in with an administrator account, type encryption in the taskbar search box, and then click the Manage BitLocker shortcut. That opens a dialog box like the one shown in Figure 6-11.

Figure 6-11: You can use BitLocker Drive Encryption to protect data on the system drive, on data drives, and on removable drives.

Assuming that you have the proper hardware support for BitLocker Drive Encryption, the wizard is straightforward enough, and I don’t need to walk you through its fine points. However, here are a few details worth noting:

• You’ll be prompted to save your recovery key. By default, this key is saved to either your Microsoft account or to a domain account (as shown in the illustration that follows), if you have one. As an alternative, you can choose to save this key to a local file or to a USB flash drive (protect it well!) or you can print it. Regardless of the option you choose, this step is a must; I have seen routine system updates that have configured BitLocker encryption so that it won’t unlock with user credentials, because the system mistakenly determined that the drive had been compromised. Without access to this recovery key, your data will be gone forever in that event. Seriously, forever.

• You can speed up the encryption process by choosing to encrypt only used space on a drive. Choose this option if you’re setting up a new PC and you are certain that none of your business or personal data is in the erased space on the drive.

• Windows 10 version 1511 introduced a new, tougher encryption mode (XTS-AES). Use this option if you are certain that the encrypted drive will only be used on a device running the latest version of Windows 10. For removable drives that might need to be read on an older device, choose the Compatible Mode option.

Encrypting a removable drive, such as a USB flash drive, is a bit easier. The data on the drive is encrypted with a password or smart card, and you can set the drive so that it unlocks automatically when you sign in with your user account. That precaution prevents you from data loss if you leave a USB flash drive behind when leaving a trade show but makes the process of reading data from that drive easy when you’re signed in properly.

Chapter 7. Sysinternals Suite

Two decades ago, before Mark Russinovich became the guiding technical force behind Microsoft Azure, he and Bryce Cogswell founded a company called Winternals Software. Over the years, they developed a library of powerful tools for digging deep into the internals of what was then the flagship Microsoft operating system for business customers, Windows NT.

Microsoft acquired the company (and wisely hired both of its founders) in 2006. Amazingly, the tools in the Sysinternals Suite continue to be updated regularly today, a decade later. Equally astonishing: They’re also completely free.

You’ll find more than 70 apps and command-line tools in the full Sysinternals Utilities collection, along with their associated help files. A handful are absolute essentials for IT pros and Windows power users, but you’re likely to discover a personal favorite if you dig deep enough.

In this chapter, I focus first on the three Sysinternals superstars: Autoruns, Process Explorer, and Process Monitor. Each of these tools is a worthy upgrade to a corresponding built-in Windows app. Next, I look at a few personal favorites from the collection, including PsTools and TcpView, with additional guidance on what else you might find useful.

An overview of the Sysinternals utilities

You can, of course, visit the Windows Sysinternals page at https://technet.microsoft.com/sysinternals and use the alphabetical Utilities Index to cherry-pick just the tools you want. For a slightly more granular approach, try the six individual category lists: File And Disk, Networking, Process, Security, System Information, and Miscellaneous.

But it’s much easier to download the entire Sysinternals Suite (https://technet.microsoft.com/sysinternals/bb842062) and unzip it to its own folder.

As a handy alternative to save drive space and ensure that you have the most up-to-date version of the tool you plan to use, use the Sysinternals Live service. You’ll find a full listing of all tools and support files at https://live.sysinternals.com, as shown in Figure 7-1. If you know the name of the tool you want to use, you can type its path into Windows Explorer or a command prompt as https://live.sysinternals.com/<toolname> or \\live.sysinternals.com\tools\<toolname>. (Hint: Save your favorites as web shortcuts for fast access without a lot of typing.)

Figure 7-1: The Sysinternals Live service offers click-to-run access to the latest version of every tool in the collection.

Some Sysinternals tools are fully fleshed-out programs with a distinctive graphical interface. Others are intended to be run interactively at a command line or as part of a script.

Set up Sysinternals Suite to run from anywhere

Consider this tip a twofer. If you’ve downloaded the entire Sysinternals Suite, you’d probably like to run its commands from anywhere: the Run dialog box, a Command Prompt window, the search box. If you add the Sysinternals folder to the Path environment variable, you can do just that. Which gives me a chance to show off the much-improved Windows 10 interface for editing this and other environment variables.

To get started, type environment in the search box, and then, from the results list, click Edit The System Environment Variables. In the Environmental Variables dialog box, click Environment Variables, select Path, and then click Edit. That displays a dialog box like the one that follows. If you ever tried to edit the Path variable in a previous Windows version, I hope you appreciate how much simpler this dialog box is compared to its predecessors.

Because I extracted the files to a folder called SysinternalsSuite in the root of the C drive, all I had to do was click New, browse to find that folder, and click to fill in its full path. Do the same using the full path to wherever you saved the files, and then click OK twice to save your changes. You can now type any Sysinternals command—Autoruns, for example—to start that tool without specifying its full location.

Not all of the options in the Sysinternals Suite are created equal. Some were clearly written for another era and have little relevance in a world where you’re running the latest version of Windows on the desktop with modern server versions on your network. In addition, some tools, although still perfectly useful, have been superseded by built-in features. With the Desktops program, for example, you can create up to four virtual desktops and assign hotkeys to each one. The addition of virtual desktops as a built-in feature in Windows 10 makes the Sysinternals alternative far less necessary.

The best clue to help you figure which programs deserve an early look is the Date Created field. In File Explorer, switch to list view, add the Date Created field, and then sort by that field. You’ll find some date and time stamps in this list dating back to 1999, and many others that go back to 2006 or earlier. By contrast, the most useful Sysinternals programs are updated regularly and appear at the top of the list.

Autoruns

Over the years, Windows has steadily improved the ways it helps you manage which programs start automatically when you turn on your system and sign in. The latest addition to the Windows toolset is the Startup tab in Task Manager, which I describe in Chapter 5.

But that built-in tool doesn’t begin to compare to Autoruns, which legitimately bills itself as “the most comprehensive autostart viewer and manager available for Windows.”

Unlike Task Manager, which limits its list to the most common locations, Autoruns shows you the full list of places in the registry, in scheduled tasks, and anywhere else where applications can configure themselves to run automatically, without your approval or interaction. Using Task Manager, you can temporarily turn off any entry listed on the Startup tab. Autoruns also makes it possible for you to delete that entry permanently, without having to muck around in the registry.

Sometimes—maybe even most of the time—these entries represent useful things, including tasks that check for security updates and perform essential synchronization tasks. But some entries are just resource hogs that run at startup so a third-party program can appear to load a few milliseconds faster.

Figure 7-2 shows the contents of the Everything tab, which pulls those many sources together into a display whose contents might qualify as overwhelming.

Figure 7-2: The Everything tab shows every file, driver, service, scheduled task, and other items configured to start automatically, either when you turn on the device or when you sign in.

Each row includes the name of the autostart entry, the Description and Publisher fields for executable files and DLLs, the path to the file that runs when the item starts, and an icon for that file. Clear the check box to the left of any item to temporarily turn off the entry. The pane at the bottom displays details about the current selection, including its full command line.

What do the Autoruns color codes mean?

The color coding in Autoruns listings might baffle you at first, especially because they don’t appear to be documented anywhere. Each heading, which identifies a location under which autostart entries are stored, is shaded a light purple. The currently selected row is highlighted in dark blue. Rows highlighted in red are associated with files for which the Description and Publisher fields are blank; yellow shading means that the autostart entry points to a file that can’t be found.

If you’re certain that a yellow row is only there because a program didn’t clean up properly after itself, you can delete it by using Autoruns. For rows that are red, you can select the row, right-click the entry, and then, on the shortcut menu, choose Verify Image. If the code-signing certificate from the file’s digital signature is trusted by a root certificate authority on the computer, the text in the Publisher column changes to “(Verified)” followed by the publisher name from the code-signing certificate. If the file is unsigned or the verification fails for any other reason, the text changes to “(Not verified).”

As I mentioned earlier, the Autoruns list can be overwhelming. One way to reduce the noise level is to click the Options menu and select Hide Microsoft Entries, as shown in Figure 7-3. This option makes it easier to spot potentially problematic third-party programs, including malware.

Figure 7-3: When searching for a potentially problematic third-party program, use this option to hide Microsoft entries and reduce the number of entries you have to scan.

Right-click any entry on any tab in Autoruns to see a list of options for that item, as shown in Figure 7-4. Jump To Entry, for example, takes you to the folder or registry key where the item is located; Jump To Image opens File Explorer and selects the file that is set to start automatically.

Figure 7-4: If you see an unfamiliar entry in the Autoruns list, right-click to see these options and investigate it further.

Several options in this list require administrative privileges, including the option to delete an entry from the registry. If you started Autoruns without elevating, you’ll see an Access Denied dialog box, like the one shown in the image that follows. Click Run As Administrator to restart Autoruns and try again.

In general, the most prudent way to troubleshoot with Autoruns is to turn off an item by clearing the check box to its left. After you’re satisfied that making that change has no long-term negative side effects, you can delete it permanently.

Process Explorer

When you want to know exactly what’s happening on your PC right now, Process Explorer should be your first stop. At its heart, Process Explorer is a more complex version of the Windows 10 Task Manager, displaying real-time information about running processes, including which account owns a specific process; what files, registry keys, and other objects the process has open; and which DLLs the process has loaded. Process Explorer also provides a snapshot of system performance and resource usage.

Replace Task Manager

You say you prefer the more information-dense Process Explorer display to the clean but sparse Task Manager display? There’s a setting for that. Specifically, in Process Explorer, click the Options menu and then select Replace Task Manager (you’ll need to provide administrator’s credentials to make this change). With this setting selected, pressing Ctrl+Shift+Esc opens the Sysinternals tool instead of the Windows Task Manager.

As the example in Figure 7-5 makes clear, Process Explorer is extremely active. It uses color coding to identify each process by type and uses animation to call attention to processes as they start and end.

Figure 7-5: The default Process Explorer view groups processes by parent-child relationships and uses color coding to identify different types of processes.

You can customize Process Explorer’s color coding by clicking Options and then selecting Configure Colors. The default settings are as follows:

• Green indicates new objects, and deep red highlights deleted objects. Both of these colors appear only briefly as processes start and end.

• Light blue identifies “own processes,” which run under the same account that was used to start Process Explorer. Note that these processes might be running in a different security context than the user account under which they were started.

• Pink rows highlight processes that contain one or more Windows services. When you point to one of these rows, a screen tip appears, showing the names of individual services running in that process, which can be useful for determining what an instance of Svchost.exe is responsible for.

• Violet (or very deep purple) indicates a “packed” (encrypted or compressed) executable program. This might indicate potential malware, especially if associated with an unknown process.

• Turquoise indicates immersive processes, which are associated with Windows Store apps.

• Dark gray identifies a suspended process. Typically these are Windows Store apps that you previously opened but are no longer using. Some Windows Store apps are specifically written to continue running in the background. Groove Music, for example, will keep playing tunes even if you switch the focus to another program.

You can identify Windows jobs and .NET processes by their color coding, although these attributes are not displayed under default settings.

Tiny graphs along the top of the Process Explorer window display system Information in real time. To see all performance charts in a single window, press Ctrl+I (as in Information) or, on the menu bar click View and then select System Information. Figure 7-6 shows this display in action.

Figure 7-6: The System Information window shows real-time performance graphs for the current system, with screen tips that provide details when you point at a particular spot.

Note

If you don’t see all of the charts in Figure 7-6, restart Process Explorer as an administrator.

Each of the individual tabs—CPU, Memory, I/O, and GPU—contains additional details about that particular batch of resources. The GPU tab in particular adds details that you won’t find on the Performance tab in Task Manager.

The real power of Process Explorer becomes apparent when you right-click an individual process to reveal the menu of available options, as shown in the image that follows. I describe these in more detail in the remainder of this section.

The first place to look, especially when you want to find out exactly what a process is, is the properties dialog box, which shows significantly more information than you’ll find in its File Explorer counterpart. Figure 7-7, for example, shows the Image tab for the file OneDrive.exe.

Figure 7-7: Details available for a running process include version information and whether it starts automatically.

From that properties dialog box or from the process list itself, you can submit the hash for a file to the VirusTotal service to find out whether that hash has been identified as possible malware by any of the 50-plus antivirus engines that VirusTotal monitors.

The lower pane of the Process Explorer window is normally hidden. You can make it visible by using the keyboard shortcut Ctrl+L (or, on the View menu, choose Show Lower Pane). This pane shows one of two views for the current process: DLLs or handles. You can switch between the two views by using the keyboard shortcuts Ctrl+D and Ctrl+H, respectively. Figure 7-8 shows the lower pane in DLLs view.

Figure 7-8: The lower pane can show either a list of DLLs associated with the selected process (as shown here) or a list of handles

Process Monitor

The last of the three Sysinternals superstars is Process Monitor, also known as Procmon. When running, it keeps track of all activity involving the file system, the registry, the network, processes, threads, and DLLs, in real time.

A Procmon trace can collect an enormous amount of activity—millions of distinct operations in a matter of seconds—which you can then filter to eliminate noise and zero in on the potential cause of a problem. Because you can save Procmon traces in log files, it’s relatively easy to capture activity on a system that’s acting up and then analyze the captured data on another system.

To get a sense of the level of detail captured by Procmon, see the listing in Figure 7-9, which represents system activity for a period measured in a small fraction of a second.

Figure 7-9: Process Monitor records every event from every process running during a trace, which can result in millions of discrete events, as shown in the status bar.

Although Procmon collects everything it observes, the default settings include a filter that hides raw details from the file system and from Procmon itself. You can fine-tune the filter on the fly by right-clicking a specific entry in a specific column and then, on the shortcut menu, choosing from among the options.

In Figure 7-10, for example, I right-clicked Runtimebroker.exe in the Process Name column. I can now choose to include that process in the current filter, effectively displaying only entries from that process, or exclude it so that matching results are hidden. I can also choose to highlight matching entries without hiding those that don’t match.

Figure 7-10: Right-click an item in any column to see this menu of options for filtering events containing matching entries.

Look at the status bar along the bottom of the Procmon window to see whether a filter has been applied to the captured data and, if so, how much of an impact it has had. In Figure 7-11, for example, the filtered list shows fewer than 1 in 1000 events, making it possible to scroll through the data—or filter it further—in search of patterns or clues.

Figure 7-11: See the status bar at the bottom of the Process Monitor window for an idea of how effective your filter is.

You can also create or modify a filter by using the Process Monitor Filter dialog box, which offers a point-and-click convenience, as demonstrated in Figure 7-12. To access the Process Monitor Filter dialog box, on the menu bar, click Filter. You can set conditions that define which events to include or exclude and then click Add, or select an existing filter and click Remove. Click Apply to see the effect of the new filter immediately.

Figure 7-12: Clicking the Filter button opens the Process Monitor Filter dialog box, where you can add criteria by using drop-down lists. Remember to click Apply before exiting.

More Sysinternals tools

This chapter doesn’t have enough pages to do justice to the “other” programs in the Sysinternals tools collection. So, consider this section a bit of a sampler, offering hints that might encourage you to poke around for your own enlightenment.

PsTools

The PsTools group includes command-line utilities for working with processes running on local or remote computers, running processes remotely, rebooting computers, and dumping event logs, among other tasks. Each of the commands begins, naturally, with the letters Ps. (The name is derived from the Ps utility, which is short for “process status” and provides similar capabilities on UNIX systems.)

Because of changes in network authentication, remote access is most effective on domain-joined systems and unlikely to be worth the trouble on simple workgroups. Most of the tools require administrative rights, as well. The following list provides a terse description of the capabilities of the PsTools commands.

• PsExec Runs processes with limited-user rights

• PsFile Lists files that are opened remotely

• PsGetSid Displays the SID of a computer or a user

• PsInfo Obtains information about a system

• PsKill Terminates local or remote processes

• PsList Shows information about processes and threads

• PsLoggedOn Shows users signed in to a system

• PsLogList Dumps event log records

• PsPasswd Gives administrators the ability to change passwords for user accounts

• PsPing Measures network performance

• PsService Views and controls services

• PsShutdown Shuts down, logs off, or changes the power state of a system

• PsSuspend Suspends and resumes processes

BgInfo

If you’ve configured a bunch of virtual machines (VMs) for testing purposes and you’re having trouble telling them apart, this small but useful program can help. It automatically generates desktop backgrounds that include details about the system, including its IP address, computer name, domain name, and more.

Figure 7-13 shows the basic configuration for one of these backgrounds. Figure 7-14 shows the resulting text as it appears on the desktop background.

Figure 7-13: Using the BGInfo program, you can automatically display information about the current system on its desktop background, making it easier to identify a remote desktop connection or a running VM.

Figure 7-14: The information on this desktop background was drawn from the system itself using the BGInfo program.

Active Directory Explorer

If you work as an administrator in a Windows domain, Active Directory Explorer offers an advanced viewer and editor for working with directory services, including an Active Directory database or Active Directory Lightweight Directory Services.

Like other, similar management tools, it uses a two-pane design, with the Active Directory object tree on the left and attributes for the current selection on the right, as in the example in Figure 7-15. To begin, connect to a directory using administrative credentials; you can view, edit, add, and remove items, and the tool also supports search functionality.

Figure 7-15: You might prefer this lightweight Active Directory management tool over the official alternative included with Windows Server editions.

TCPView

Windows includes several built-in command-line tools, most notably Netstat, for viewing the status of network connections. TCPView is significantly easier to use and gives you details about TCP and UDP connections between local ports and remote addresses. Figure 7-16 shows this tool in action. Note that by pointing to a connection, you to see full details in a screen tip.

Figure 7-16: TCPView gives you a single list of all current and recent TCP and UDP connections.

Note

You also have the option to right-click and close any connection immediately.

Disk2vhd

Although its function might seem esoteric, Disk2vhd serves a genuine need, making it relatively easy to move a physical system into a VM. That’s especially handy for virtualizing the workload of a server so that it can run in Hyper-V instead of on physical hardware.

Figure 7-17: Use Disk2vhd to convert a physical machine into a Virtual Hard Drive file that you can attach to a Hyper-V VM.

And more

Still curious? Here are a few remaining Sysinternals tools that you might find useful.

• AccessEnum and ShareEnum are security tools that show who has access to directories, files, registry keys, and file shares on your systems. They’re useful for spotting misconfigurations that could allow an attacker in.

• DiskView provides a graphical look at how drive space is being used on a given storage device.

• Whois gives you a way to enter a domain name and see who is listed as the owner of that address.

• Autologon makes it possible for you to automatically enter saved credentials at startup, skipping the sign-in screen. It should, of course, only be used in physically secure environments.

• Zoomit is used by elite presenters at Microsoft to zoom in to a portion of the demo screen so that the audience can get a good look at it. You also can use it to write on a presentation screen.

And no chapter covering Sysinternals would be complete without a mention of the infamous Bluescreen Screen Saver, which is not included with the Sysinternals Suite; you must download it separately. As the name suggests, it mimics a STOP error (aka Blue Screen of Death) as part of a normal screen saver. If you’re tempted to install it on a colleague’s workstation as a prank, be prepared to pay the price later.

Chapter 8. Diagnostics and Recovery Toolset

Most of the tools I highlight in this book are included with Windows or can be downloaded for free. The Microsoft Diagnostics and Recovery Toolset, better known as DaRT, is a noteworthy exception.

DaRT is packaged as a bootable Emergency Recovery Disk, and its feature list is packed with indispensable diagnosis and repair capabilities any IT pro will appreciate. It can repair PCs that won’t start up and help fix a variety of problems that can otherwise render a PC unusable. But its killer feature is the prosaically named Crash Analyzer, which reliably uncovers the cause of frustrating STOP errors—aka the Blue Screen of Death (BSOD).

DaRT traces its ancestry back to Emergency Repair Disk Commander, a product of Winternals Software that was split off from that company’s Sysinternal Utilities when Microsoft acquired the company in 2006. (I highlighted the free Sysinternal Utilities in Chapter 7.) DaRT, in sharp contrast, is not free.

To legally acquire and use this impressive collection of recovery and troubleshooting tools, you need the Microsoft Desktop Optimization Pack (MDOP), which is available as a benefit for Microsoft Windows Volume Licensing customers who have purchased a Software Assurance subscription. MDOP is also available for evaluation as part of most Visual Studio (MSDN) subscriptions.

In this chapter, I assume that you have already downloaded MDOP 2015, in x86 or x64 format, from https://technet.microsoft.com/mdop.aspx.

What DaRT does

DaRT 10, the most recent release, is compatible with Windows 10 and Windows Server 2012 R2.

More details online

This chapter offers an introduction to DaRT. For detailed DaRT 10 documentation, see this page on TechNet: http://go.microsoft.com/fwlink/?LinkID=613764. The DaRT 10 Release Notes are here: http://go.microsoft.com/fwlink/?LinkID=613765.

When you start a PC using the DaRT recovery media (typically on a DVD or USB flash drive), choose the Troubleshoot option to reach the screen shown in Figure 8-1.

Figure 8-1: The bootable DaRT recovery media adds this option to the standard Windows 10 troubleshooting menu.

Choosing the Microsoft Diagnostics And Recovery Toolset option opens a dialog box in which you can connect to a network. This is followed by the wide-ranging menu in the Diagnostics And Recovery Toolset dialog box, as shown in Figure 8-2.

Figure 8-2: Starting from the DaRT recovery media displays this menu of diagnostic and repair options. Note that you must run the Solution Wizard to turn on some tools on the list.

Using the TCP/IP Config option, you can tweak network addresses, if needed, and with the Remote Connection tool, you can make a system available for a help desk to access using the DaRT Remote Viewer tool.

Finding and recovering files

If a PC running Windows 10 refuses to start properly, one of your first priorities before you begin troubleshooting is to recover important data files from that machine. The Explorer tool, shown in Figure 8-3, offers basic file management capabilities with which you can copy files to another drive or a network share before you take a radical step like resetting or reimaging the PC.

Figure 8-3: DaRT’s Explorer tool doesn’t have the bells and whistles that you’ll find in the Windows 10 File Explorer, but it’s extremely useful for recovering files from a PC that won’t boot.

To connect to a network drive, click the Tools menu, choose Map Network Drive, and then type the details for the network computer and shared folder in UNC syntax (\\computer\share), providing a user name and password with access to that share. The mapped drive appears in the navigation pane with a drive letter that you can specify during setup. Right-click any drive in the navigation pane to see its capacity, used space, and free space.

Note that you might need to provide the recovery key for a volume that is encrypted using BitLocker Drive Encryption.

Another indispensable file tool is Search, shown in Figure 8-4. You can search for files by date, size, or both, using wildcards to narrow the list to those with a particular string in the file name or a specific extension.

Figure 8-4: You can use DaRT to search for files on any accessible volume. Click headings in the results pane to sort by that value.

Be careful with drive letters!

When you start a Windows 10 PC using DaRT 10 recovery media, the letters assigned to available volumes don’t necessarily match those that are assigned when you start Windows 10 normally. You might find, for example, that, the DaRT recovery disk lists the small System Reserved partition (which has no drive letter in Windows 10) as drive C. In that configuration, the system drive, which contains Windows files and user profiles for each account on the machine, is listed as drive D instead of its normal C. Be extremely careful when using the disk tools included with DaRT 10 so that you don’t inadvertently wipe out valuable data or system files.

Note

You cannot use the Search tool to copy files to an external drive or network location.

A third tool, File Restore, includes a search interface that’s similar to the one shown in Figure 8-4, except that it lists files that can be recovered from the Recycle Bin on the destination PC.

Working with disks

Using Disk Commander, you can repair certain types of drive errors that can prevent a system from starting properly. For example, you can restore the Master Boot Record or GPT header. You can also back up and restore partition information.

The Disk Wipe utility offers the capability to securely erase information on a logical volume or an entire drive—an excellent precaution if you’re removing a device from service or transferring it to a third party and you want to be sure that any confidential information is protected from recovery using low-level disk tools.

Figure 8-5: You can use the Disk Wipe utility to securely erase and overwrite the contents of a drive so that it can’t be recovered using drive editing tools.

Advanced recovery tools

In the DaRT welcome screen shown earlier in Figure 8-2, you might have noticed that five of the options were unavailable, with a message beneath each one noting that the tool “requires a supported offline OS.”

These tools include the following:

• Computer Management With this grab bag of administrative tools, you can view event logs, work with drives, and manage systems and drivers, among other things.

• Registry Editor Use this tool to access and change the registry of the local PC. You can add, remove, or edit keys and values, either interactively or by using .reg files.

• Locksmith Using this powerful tool, you can change the password for any local account, including the local Administrator account. (It doesn’t work with domain accounts.) You don’t have to know the current password.

• Hotfix Uninstall If you need to remove an update that is causing a system to fail at startup, this is your best option.

• SFC Scan Use this tool to check system files and repair them if necessary. It starts the System File Repair Wizard.

The supported way to gain access to these tools is by using the Microsoft Deployment Toolkit.

If you’re not sure which tool to use, try the Solution Wizard option, which runs through a brief but thorough interview that begins with the step shown in Figure 8-6.

Figure 8-6: When you run the DaRT Recovery Image Solution Wizard, it conducts a quick interview that helps narrow down the correct tool to use.

If you can’t narrow down the problem to a specific symptom with its own tool, you’ll eventually end up at the Other Options page shown in Figure 8-7, where you can specify the exact tool that you want to use.

Figure 8-7: On the Other Options page in the Solution Wizard, you can choose specific tools to solve specific problems.

The one option I didn’t mention, Crash Analyzer, gets its own section later in this chapter.

Getting started with DaRT

As I mentioned earlier in this chapter, I assume that you or your organization is properly licensed to use DaRT 10 as part of MDOP 2015. In the case of MSDN subscriptions, that license is for test and evaluation purposes and not for production use.

MDOP (available from the Volume Licensing Service Center or from MSDN’s Subscription Downloads site) arrives as a disk image, in .iso format. Double-click it to mount the image as a virtual drive, and then extract the DaRT 10 subfolder to a local drive. From that location, choose the language and platform type (x86 or x64) to locate the correct installer for your system.

Running that setup file creates a new Microsoft DaRT 10 program group containing three shortcuts: Crash Analyzer, DaRT Recovery Image, and DaRT Remote Connection Viewer

Although the DaRT tools are self-contained, you need two additional pieces of software to create a recovery image that makes available all of advanced features in DaRT.

First, download the Windows Assessment and Deployment Kit (ADK) for Windows 10. With this option, you can install the Windows 10 Deployment Tools and the Windows Preinstallation Environment (WinPE), which is an essential part of the DaRT recovery image. You’ll find the ADK at https://msdn.microsoft.com/windows/hardware/dn913721.aspx.

Run its setup program and clear the check boxes for features until only the two options shown in Figure 8-8 are on the list. Click Install to complete the installation.

Figure 8-8: To create a DaRT recovery image, you must first install the Windows Assessment and Deployment Toolkit with these options selected.

In addition, assuming that you plan to use the Crash Analyzer tool, you must install the Windows Debugging Tools. They’re available as part of the Windows 10 Software Development Kit (SDK) at https://dev.windows.com/downloads/windows-10-sdk.

Although the SDK itself is large, the Windows Debugging Tools themselves are relatively compact. This is the only piece of the SDK you absolutely need to install, as shown in Figure 8-9.

Figure 8-9: If you plan to use the Crash Analyzer to identify the cause of STOP errors (the dreaded BSOD), install this part of the Windows 10 SDK.

You’ll also need Windows 10 installation media to create the recovery image. If you have downloaded the Windows 10 installer files in ISO format, you can double-click that disk image to mount it as a virtual drive before running the wizard that creates the recovery image.

Later, when you run the Crash Analyzer, you’ll need debugging symbols for the PC you’re working with. However, you don’t need those to create the initial recovery image.

With those prerequisites out of the way, you’re ready to create a recovery image.

Creating a recovery image

Having the DaRT tools at your fingertips when you need them requires some advance preparation. The DaRT Recovery Image Wizard is a straightforward tool, which creates a bootable Windows image in ISO format. You can start up from that ISO file directly by attaching it to a virtual machine; to boot from a physical device, you need to create startup media.

After clicking past the Welcome message, you’re prompted to select the type of DaRT image you want to create, x64 or x86. You’ll need corresponding Windows 10 installation media, which can be in the form of a USB drive, a DVD, or a mounted ISO image file (you can also specify the location of a subfolder containing the full set of installation files). Enter the path of the physical or virtual drive containing the installer files, as shown in Figure 8-10, and then click Next to continue.

Figure 8-10: Creating a DaRT recovery image requires Windows 10 installation media.

On the next page, you specify which tools are available for the recovery image. By default, the entire collection is selected, as shown in Figure 8-11. You might want to remove specific tools from the list when creating devices for other people to use. Disk Commander and Disk Wipe, for example, are potentially destructive tools.

Figure 8-11: When creating a recovery image, you can select which tools to include.

On the next wizard page, you specify whether to allow remote connections to the device from which you just started. With this option turned on, you can also specify a standard port to use, instead of allowing Windows to choose a port dynamically. Use this option to simplify the process of configuring the Windows Firewall on the machine you plan to use to do remote troubleshooting and repairs.

The Advanced Options step includes three tabs. With the first, Drivers, you can include specific hardware drivers in the recovery image. Use this option if you know you’ll be using the recovery image on hardware that requires network or storage drivers that are not part of the standard Windows 10 installation files.

On the WinPE tab, shown in Figure 8-12, you can include specialized tools for working with systems. In this example, I’ve included the Deployment Image Servicing and Management PowerShell cmdlets and tools for working with drives that include hardware encryption. For common troubleshooting tasks, you can safely skip these options.

Figure 8-12: These optional WinPE components aren’t necessary for most garden-variety troubleshooting tasks.

On the Crash Analyzer tab (see Figure 8-13), you can include debugging tools directly in the recovery image and as part of any startup media you create by using that image.

Figure 8-13: Using DaRT’s Crash Analyzer requires the Windows 10 Debugging Tools. If they’re not included here, you’ll need to install them on the destination machine.

Figure 8-14 shows the Create Image wizard page, where you can, consolidate all of the preceding options into a Windows 10 image file. Here, you specify an output folder, give the image a descriptive name, and then choose which formats you want to create.

Figure 8-14: The essential option here is the one to create an ISO file, which you can then use to create bootable media for on-site troubleshooting.

The Windows Imaging Format (WIM) format is most useful if you’re planning to add DaRT as part of a custom recovery partition on systems you image using deployment tools. The more common option is the one in the middle, which creates a standard ISO image that you can use to create bootable media.

After you complete that task, use the final page of the wizard, Create Bootable Media, to copy the files you just created to a USB flash drive or DVD. Figure 8-15 shows this action with a USB flash drive available in drive K.

Figure 8-15: Immediately after creating the ISO recovery image, copy it to bootable media, label the drive, and then save it with other troubleshooting tools.

The DaRT recovery drive doesn’t need to be large. Windows 10 installation media typically requires an 8 GB drive, but the DaRT recovery image takes only a tiny fraction of that space. In fact, it’s small enough to fit on a writable CD.

One caution: Creating the bootable recovery media will format the drive and erase any files on it.

Using Crash Analyzer

Tracking down the cause of a STOP error (typically known by the more colorful moniker Blue Screen of Death, or BSOD) can be frustrating. By design, STOP errors do exactly what the name says: Shut the system down, forcefully and without warning, when a serious error compromises the integrity of the operating system.

For most STOP errors, Windows is able to save a dump of the memory state at the time that the system encountered the error. DaRT’s Crash Analyzer can inspect that dump file and provide important clues about the cause of the crash.

The Memory.dmp file is saved by default in the system folder (C:\Windows). If DaRT is installed on the machine that experienced the error (or if you’ve started from the DaRT Recovery Image), you can run Crash Analyzer directly and point it to the Memory.dmp file in that location, as I’ve done here.

Otherwise, consider copying the dump file (which can be very large) to removable media or to a network store, and then specifying that file in Crash Analyzer.

As noted earlier, you must have the Windows Debugging Tools installed on the machine on which you’re running Crash Analyzer. The first time you run the tool, you are prompted to enter the location of those files, as shown in Figure 8-16.

Figure 8-16: You have to specify a location for the Debugging Tools for Windows when you first run Crash Analyzer. Note that the 64-bit tools are located in the Program Files (x86) folder.

If you’re momentarily confused when you go looking for those debugging tools, you’re probably not alone. Both the x86 and x64 versions of these tools are located in a nested subfolder of the Program Files (x86) folder. So, even if you’re using a 64-bit version of Windows, that’s where you should look.

Next, you need to supply symbols files that match the version of Windows that created the dump file. As you can see in Figure 8-17, Crash Analyzer offers to download those symbols for you and store them in the C:\Symbols folder.

Figure 8-17: Properly analyzing a dump file requires that you have access to symbol files for the Windows version that created that file.

Download all the symbols

If you routinely troubleshoot systems running a broad range of Windows operating systems, you can download the full set of symbols for every supported desktop and server version of Windows from the Microsoft Symbol Server. You can also download individual symbol sets as needed. For full details, see this page at Microsoft’s Hardware Dev Center: https://msdn.microsoft.com/windows/hardware/gg463028.aspx.

When you use Crash Analyzer in the future, you can specify the location of the symbol files you previously downloaded, assuming that they’re the ones that match the dump file in question.

With those steps out of the way, let the analysis begin. Figure 8-18 shows the results for one STOP error I encountered on a Windows 10 PC recently.

Figure 8-18: After completing its work, Crash Analyzer identifies the most likely cause of the STOP error.

In this case, Crash Analyzer revealed a Windows 10 system file as the cause of the crash. That doesn’t mean this file is defective; it means only that it was where the operation that caused the crash occurred. For a one-time event (as this was), you can probably ignore the error. But if Crash Analyzer

identifies a third-party driver as the cause of a crash, you might want to look more closely at that driver and look for an update.

If you inadvertently supply the wrong symbol files, Crash Analyzer will dutifully analyze the dump file anyway and then return a message that pinpoints the errant driver as ntoskrnl.wrong.symbols.exe.

Crash Analyzer’s output includes more than just that summary. Click the Details button to see the Analysis Details page. On the Crash Message tab, shown in Figure 8-19, you can see the STOP error code and the four arguments included with it. These details are available in Event Viewer but are more convenient to examine and save here.

Figure 8-19: The Crash Message page shows the STOP error code, which can be a useful starting point when searching for possible solutions to a rash of crashes.

The Advanced tab offers exhaustive output from Crash Analyzer, as shown in Figure 8-20. Click Save to preserve a copy for use when filing a bug report or corresponding with support personnel at Microsoft or a third-party vendor.

Figure 8-20: The Advanced tab contains a full log of all the findings from Crash Analyzer. Click Save if you need to share these details as part of a bug report.

Chapter 9. Windows PowerShell and the Command Prompt

Everything old is new again.

Windows users of a certain age remember the MS-DOS command line, perhaps not so fondly. But even after 20 years of trying to ditch its command-line past, Windows 10 still rewards those who understand the benefits of using a command line for some common tasks.

As system administrators have known all along, sometimes typing a command is just faster than using a graphical interface, and that’s even truer for scripts that can carry out entire sequences of commands. Windows 10 includes a new-age command-based environment called Windows PowerShell, which offers tremendous power to those who are willing to invest a little time learning its ways.

But let’s begin with...

The good ol’ Command Prompt

The Windows Command Processor, Cmd.exe, is only superficially similar to its ancient forebear, MS-DOS. On a 64-bit Windows 10 system, Cmd.exe is a 64-bit native Windows process. The easiest way to open a Command Prompt is via the Quick Links menu (right-click Start or use the keyboard shortcut Windows key+X). That menu includes two Command Prompt options: one that runs under your user account and the other that runs as an Administrator.

You can also type Cmd in the search box and then click Command Prompt in the results list, or right-click that entry and then, on the shortcut menu, choose Open As Administrator to open an elevated Command Prompt window. The only visible difference between the two ways of starting this environment is the Administrator prefix, which appears in the title bar in an elevated Command Prompt session. You can see that subtle change in Figure 9-1, where I’ve also opened the customization properties for the Command Prompt window by right-clicking the icon at the left of the title bar and then choosing Properties.

Figure 9-1: Use the Colors tab to change the Command Prompt color scheme to this retro green-on-black combination. (Look at the file dates in the preview!)

Go from File Explorer to a Command Prompt with two clicks

You’re in File Explorer. You want to open a Command Prompt window in the current folder. Fortunately, there’s a shortcut for that: Hold down the Shift key as you right-click any empty space in the folder (make sure no files are selected) and then, on the shortcut menu, click Open Command Window Here.

If you’re not sure what you can do in a Windows 10 Command Prompt window, try typing help. That returns a list of 84 commands, with a brief description for each one. Want full syntax for a command? In the Command Prompt window, type the command name followed by the /? switch.

The command line is useful for some file management tasks, with syntax that hasn’t changed much since the days of MS-DOS. Thanks to wildcard characters, you can change the extension on a group of files in a folder, for example, using the command ren *.htm *.html. That job is nearly impossible in File Explorer.

But there are also a handful of commands you probably don’t know that can come in extremely handy. The following list contains a few commands I use regularly:

• Systeminfo This handy command spits out a lengthy description of the current system, including the host name, the Windows version and original installation date, domain or workgroup membership, networking details, and much more. Figure 9-2 shows a small portion of the output you can expect. Follow the command with the > symbol, followed by the full path of a destination file, to save the results in a file that you can consult later.

Figure 9-2: The output for the Systeminfo command contains many more details than the snippet shown here. Redirect the output to a text file to save the information for future reference.

• Driverquery If you’re curious about which drivers are installed on a given system (local or remote), this command is your friend. Use the /FO CSV switch to specify that you want the output in comma-separated values (CSV) format; redirect that output to a file and you can open it in Excel for more detailed analysis.

• Icacls This oddly named command allows you to manipulate permissions (access control lists, or ACLs) on files and folders. If you’re unable to delete or rename a file or folder because of permissions, this command can help.

• Shutdown Sometimes, the Power menu doesn’t contain the options you really need. This command, with its many switches (/r for restart and /s for shutdown, to name just two), can cover those different scenarios. Using the /t switch, you can specify how long to wait (in seconds) before executing the command. (The default is 30 seconds.) If you have a few tasks to finish up before lunch and want your PC to restart in 15 minutes, use the command shutdown /r /t 900. That produces a notification like the one shown in the image that follows. If you change your mind, use shutdown /a to cancel the planned shutdown or restart.

• Sc With this, you can query, start, pause, stop, and configure services using the Service Control Manager. Its syntax is daunting but its capabilities are extremely powerful.

• Tasklist and Taskkill Using these matching commands, you can generate a list of running tasks and then forcibly end any process on that list. Taskkill is a blunt weapon but effective when you need it.

For faster navigation in a Command Prompt window, it’s worth noting how the arrow keys work. Use the up and down arrows to scroll through and recall recent commands. Use the right arrow to repeat the previous command one character at a time, which can save you some typing if you need to reissue a command with a different parameter or switch. Finally, after recalling or entering a command but before pressing Enter, use the left and right arrows to move through the command and make changes as needed. When editing a command, press the Insert key to toggle between overtype mode (in which whatever you type replaces the existing contents of the command line) and insert mode, which adds whatever you type without disturbing the current command.

Introducing Windows PowerShell

The Windows 10 Command Prompt can trace its ancestry back more than three decades. Windows PowerShell is distinctly more modern, with version 1.0 arriving on the scene a mere decade ago.

PowerShell is an incredibly rich environment built for system administrators to automate tasks and configurations. Instead of a limited number of commands, Windows PowerShell offers cmdlets, which work with the file system, the registry, certificate stores, and just about anything in Windows (desktop and server editions) that you can manage. Cmdlets are available in core modules that are included with every edition of Windows 10. And, of course, the real goal for many of these cmdlets is for you to be able to combine them into scripts. If you’re an administrator, you can use these scripts to perform repetitive management tasks quickly and effectively.

If you’re not a system administrator, the sheer scope of Windows PowerShell can be extremely intimidating. But some tasks, including managing Microsoft Azure and Office 365, are ideally suited for Windows PowerShell commands. In this section, I just want to introduce the basics of Windows PowerShell so that you feel comfortable when you’re required to dive into the deep end.

Windows PowerShell includes its own command-line environment, with a distinctive blue background that sets it apart from the Windows 10 Command Prompt. As Figure 9-3 illustrates, one of the first things any Windows PowerShell neophyte should do is to issue the Get-Help cmdlet, which includes a link to online help and detailed instructions for using the Update-Help cmdlet.

Figure 9-3: Use the Get-Help cmdlet to get started in the interactive Windows PowerShell command-line environment.

Add a word to the end of Get-Help and you can find cmdlets that include that term. If you know there’s a cmdlet for managing BitLocker but you can’t remember exactly which one you need, try Get-Help Bitlocker to display this list. And you can jump directly to the online reference for a specific cmdlet by using the syntax Get-Help <cmdlet> -Online.

Although Windows PowerShell cmdlets follow consistent capitalization, you don’t need to worry about case. And if you’re not sure of the exact name of a cmdlet, you can press the Tab key and use IntelliSense to offer suggestions. For example, type get-p and then press Tab to see the first matching cmdlet, Get-Package. Keep pressing Tab to cycle through Get-PackageProvider, Get-PackageSource, Get-Partition, and so on.

If you need more help, consider using the Windows PowerShell Integrated Scripting Environment (ISE), which offers a point-and-click graphical interface that takes a lot of the guesswork out of typing cmdlets. Figure 9-4 shows the Windows PowerShell ISE with the Commands window open on the right, with the Get-MpComputerStatus cmdlet from the Defender module visible. I didn’t need to type a cmdlet; I just selected it from the list and then clicked Run.

Figure 9-4: Using the Windows PowerShell ISE, you can dock a Commands window alongside the shell so that you can browse through the cmdlets in a module, and then click Run or Insert.

If you prefer a floating window instead of the docked pane, on the toolbar, click the Show Command Window button (second from the right). As Figure 9-5 shows, you can choose from the full selection of modules here, as well.

Figure 9-5: Although the Windows PowerShell ISE is tailor-made for creating Windows PowerShell scripts, its Commands add-on serves as a useful training tool.

Chapter 10. Hyper-V

My office has become considerably less cluttered in recent years, thanks to a Windows 10 feature called Hyper-V. Where there once was a workbench full of PCs in all shapes and sizes, using power and generating heat and noise, now those PCs are virtual.

Hyper-V adds virtualization capabilities to desktop versions of Windows 10 Pro and Enterprise editions, using the same industrial-strength hypervisor found in Windows Server editions. If you need a PC for testing purposes, you can build one, virtually, with just a few clicks. If you’ve never used Hyper-V, you’re in for a pleasant surprise.

The benefits of virtualization are profound. Consider these scenarios:

• You want to evaluate a new software program without the risk messing up your production system.

• You regularly train users or demonstrate features of a program or service and need a predictable demonstration environment that you can reset before each session.

• A program you rely on requires an earlier Windows version to run properly.

• You want to experiment with an alternative operating system, such as Linux.

• You need to access your corporate network using an environment that’s completely separate from your personal files and email accounts.

• For test purposes, you need access to a Windows server.

You can do all those things with Hyper-V, running on your own PC. To accomplish those tasks, you’ll use two built-in tools, Hyper-V Manager and Virtual Machine Connection.

Hyper-V is not turned on by default, so that’s our first step.

Getting started with Hyper-V

Your first step is to check the system you want to use as the host for your virtual machines (VMs), to make sure it supports Hyper-V. You need a 64-bit version of Windows 10 Pro or Enterprise, of course, with sufficient resources (especially memory) to allocate to the VMs. I don’t recommend turning on Hyper-V on a PC unless it has at least 8 GB of RAM, and that minimum configuration requires that you manage memory carefully.

Most important, the CPU that powers your PC must support a handful of features that are crucial for the operation of the hypervisor. Most modern PCs designed for business use support these features. You can check whether your PC is compatible by using the built-in System Information app. In the search box, type Msinfo32, click the System Information entry at the top of the results list, and scroll to the bottom of the System Summary page, as shown in Figure 10-1.

Figure 10-1: If you see “Yes” next to the four values at the bottom of this list, your system is capable of running Hyper-V.

(If the last entry in that list begins “A hypervisor has been detected...” Hyper-V is already turned on and you can move to the next step.)

These hardware requirements aren’t negotiable: A PC that doesn’t support these required features can’t run Hyper-V. In some cases, CPU capabilities required by Hyper-V might be turned off in firmware. If the Virtualization Enabled In Firmware setting says No, you’ll need to check the documentation for your system to determine how to access the BIOS or firmware settings and make available the required virtualization support.

If you have a green light, the next step is to turn Hyper-V on. In the search box, type features and then, in the results list, click Turn Windows Features On Or Off. That opens the Windows Features dialog box, shown in Figure 10-2. Make sure that all the Hyper-V options are selected and click OK.

Figure 10-2: Hyper-V isn’t on by default. Use this dialog box to turn on the necessary features.

(You can also turn on and configure Hyper-V by using Windows PowerShell commands, but this option is simpler for a single PC.)

After restarting your PC, it’s a good idea to configure some virtualization settings. Open the newly installed Hyper-V Manager app (this is also a good time to pin that app to the Start menu and, optionally, the taskbar), and then, in the Actions pane on the right, click Hyper-V Settings. Figure 10-3 shows the available settings, which are arranged into two groups.

Figure 10-3: It’s worth checking these Hyper-V settings before you create your first VM.

I recommend looking at the following three settings under the Server heading:

• Virtual Hard Disks This setting specifies the folder where virtual hard drives (VHDs) will be stored. By default, this location is on the system drive, in the Documents folder for the Public user account. That makes it possible for all users to access VHDs. If you’re setting up Hyper-V on a desktop PC with multiple hard drives, you might want to change this location to a folder on the largest drive.

• Virtual Machines This setting specifies the folder where Hyper-V configuration and saved-state files will be stored. By default, this location is on the system drive, in a subfolder within the ProgramData folder. Although the configuration files for each VM are relatively small, the files for saving the state of a VM can become large. If space on the system drive is limited and you have a large, reasonably fast data drive, consider changing this location.

• Enhanced Session Mode Policy By default, this option is on, and I recommend you leave it on. (I explain how enhanced sessions work later in this chapter.)

Under the User heading, look at these settings:

• Keyboard When a VM is running, you effectively have two PCs competing for the attention of system shortcuts like Alt+Tab. The default setting sends Windows keyboard combinations to the VM when you’re using it. You might prefer the third option on this page, which allows the VM to use those keystrokes only in full-screen mode.

• Mouse release key With certain operating systems running in VMs, you need to click in the Virtual Machine Connection window to use the mouse, and the mouse stops when it reaches the edge of the window. For those occasions, you can choose one of four special keyboard combinations to let the mouse back into the host PC environment.

• Enhanced Session Mode This is the user equivalent of the setting under the Server heading. I recommend leaving it turned on.

Click OK to save any changes you make to these settings.

Your next step should be to create a virtual switch. This option allows the virtual network adapter in a VM to share the physical network on your host PC. To begin the setup process, open Hyper-V Manager, display the Actions pane, and then click Virtual Switch Manager. That opens a dialog box like the one shown in Figure 10-4. Click New Virtual Network Switch to walk through the simple process of selecting the network adapter to share and giving the virtual switch a name, as I’ve done in Figure 10-4.

Figure 10-4: Before a VM can connect to the Internet, you need to set up a virtual switch.

The three options here are interesting. External Network is generally the right choice. It assumes that you want to use your VM as if it were just another PC, sharing the host PC’s network adapter to allow full Internet access and connections to other devices on the same network as the host PC.

The two remaining options don’t allow access to the host PC’s network adapter at all. Choose Internal Network if you want network access to the host PC on your local network; choose the Private Network option to isolate the VM completely from network communications. These two configurations are appropriate for security research and are mostly useful in situations for which you don’t need Internet access and you want to avoid the risk that a threat within a VM can compromise the host PC or other devices on your network.

With those settings taken care of, you’re now ready to create your first VM.

Creating a virtual machine

Hyper-V Manager provides an easy-to-use wizard to help you create a VM. In the Actions pane, click New > Virtual Machine to open that wizard to the introductory page shown in Figure 10-5. The New Virtual Machine Wizard is so simple, in fact, that you don’t even need to click Next; you can create a VM using default settings with a single click of the Finish button.

Figure 10-5: All of the steps in this wizard are optional. When you click Finish, your new VM uses default settings for any steps you skipped.

If you go for that simple solution, you’ll probably need to manually adjust a few settings for the newly created VM. In particular, you’ll want to change the name of the VM from the generic “New Virtual Machine” to something more descriptive. You’ll also want to check the amount of RAM assigned—the default is only 1024 MB, which isn’t adequate for installing Windows 10. You’ll also need to connect the VM’s network to the virtual switch you created earlier.

You can make all those changes from the Hyper-V Manager app (which I describe later in this chapter). But given all that, it might be easier for you to just run through the wizard and get everything configured properly from the start.

Setting up that VM involves configuring a full selection of virtualized hardware, including a virtual BIOS or UEFI firmware, virtual memory, VHDs, virtual network adapters, virtual DVD drives, and even virtual floppy disks (if you can find a reason to use one of those). Here’s what you’ll find in each step of the New Virtual Machine Wizard:

• Specify Name And Location Give the VM a descriptive name, which will appear in Hyper-V Manager and will be used as the default name for any new VHDs you create. You can also specify an alternate location for the VM here, although I recommend against that option for most installations.

• Specify Generation If you’re planning to run a 64-bit version of Windows 8.1, Windows 10, or Windows Server 2012 R2 or later, choose the Generation 2 option, which supports the Secure Boot feature. For older operating systems or a 32-bit VM, choose Generation 1. Consider this option carefully, though, because as the warning text shown in Figure 10-6 makes clear, you can’t change this configuration later.

Figure 10-6: Select the Generation 2 option to activate Secure Boot on a VM running 64-bit Windows 10 or a recent release of Windows Server.

• Assign Memory Choosing the right value here involves a balancing act. Memory assigned to a VM is not available for the host PC when that VM is running. On a desktop PC with at least 16 GB of available RAM, you can be generous with memory for a VM. In Figure 10-7, for example, I’ve configured the VM to start with a full 4 GB of virtual memory, which ensures that a Windows 10 VM will run well. On a notebook with only 8 GB of RAM, you need to manage memory far more carefully. The Dynamic Memory option is extremely useful for those configurations, taking memory away from your host PC only as the VM needs it.

Figure 10-7: Use the Dynamic Memory option when you want your host PC to give away physical memory only when a VM truly needs it.

Disable Dynamic Memory temporarily for installation

When installing an operating system on a VM, you might find that the Dynamic Memory option causes the Windows Setup program to fail, thinking that the memory in the VM is lower than the minimum requirements. The solution is to turn off Dynamic Memory and set the Startup Memory option to an amount that the installer will accept. After the setup is complete, return to the settings for the VM and turn on Dynamic Memory again.

• Configure Networking From the drop-down list, choose the virtual network switch you created earlier. If you skipped that step and there’s no available virtual switch, don’t worry. Create the VM without specifying a network, and then create the virtual switch and add it later.

• Connect Virtual Hard Disk A VHD acts exactly like a physical drive as far as your VM is concerned. In reality, though, the VHD is a file stored on the host PC’s hard drive. The default option creates a dynamically expanding VHD—a single file that is initially small and grows only as needed. You can increase or decrease its size to fit, and replace the generic name with one that’s more descriptive.

Figure 10-8: The default value unhelpfully assigns the name New Virtual Machine to the VHD file you create here. I recommend changing it to one that’s more descriptive.

Make your VHD large enough

For a VM running Windows 10, I’ve found that the default size of 127 GB is generally acceptable. If you’re worried because free space on your host PC is tight, relax. The “dynamically expanding” nature of this file means that it initially occupies only a fraction of that space, even after you finish installing an operating system. For a clean installation of 64-bit Windows 10 using 4096 MB of virtual memory, for example, the VHD uses only about 12 GB of physical drive space on the host PC, as shown here:

It’s easy to increase the size of a VHD after the fact. First, shut down any VM that’s using the VHD file. Then, from Hyper-V Manager, in the Actions pane, click Edit Disk, choose the Edit Disk option, and then select the VHD file you want to adjust. Follow the wizard’s prompts and use the Expand option to increase the drive size. Note that you’ll have use the Disk Management console (which I describe in Chapter 6) in the VM to expand the system volume to use the newly created virtual drive space.

• Installation Options In most cases, you’ll want to install an operating system immediately after finishing the previous steps. The best way to accomplish this task is by attaching a bootable disk image file (in ISO format), which then appears to the VM as a DVD that you can use to start setup. In Figure 10-9, I’ve attached an ISO file that I downloaded to the host PC by using the Windows 10 Media Creation Tool.

Figure 10-9: The simplest way to install an operating system on a new VM is to attach a disk image file, which then appears as a startup virtual DVD.

You can now click Finish and begin installing your operating system on the new VM.

Working with virtual machines

I couldn’t imagine doing what I do for a living without Hyper-V. If you’re a trainer, a software developer, or an IT pro who needs to support multiple platforms, you probably need more than one VM to handle different test environments.

Figure 10-10 offers a glimpse of what Hyper-V Manager looks like on my main system, a desktop PC with a powerful CPU, 32 GB of RAM, and plenty of spare disk space. As you can see, I’ve set up seven different VMs so that I can replicate a variety of computing environments, running multiple Windows versions, with and without being joined to a Windows domain.

Figure 10-10: On a PC with sufficient resources, you can run multiple VMs simultaneously, monitoring them from Hyper-V Manager. Right-click a VM or use the same set of commands in the Actions pane (lower right)

From Hyper-V Manager, you can start any VM by right-clicking its entry in the Virtual Machines list (or using the identical commands in the group at the bottom of the Actions pane) and then, on the shortcut menu that opens, click Start. When you do that, the VM starts and runs silently. So, for example, if you need access to an instance of the latest preview release of Windows Server 2016, you can start its VM and let it run in the background without interacting directly with it. It has its own network address, so it behaves exactly as if it were a physical machine located on your local area network.

The commands for a running VM are slightly different. Instead of the single Start command, you have three options:

• Turn Off This has the same effect on a VM as pressing the power switch on a physical PC. In general, you should avoid this option unless a VM has stopped responding and you need to forcibly end it, or you’re planning to roll the VM back to a previous state and you don’t care about its current state.

• Shut Down This sends the Windows shutdown command to the current VM, which facilitates a more graceful end to the session but could still result in data loss if any running apps have unsaved changes.

• Save This is usually the most common option for a VM that you plan to continue using. It’s more or less the same as the Hibernate option on a physical PC, saving the current state of the VM and releasing all resources it had been using. Restarting a saved VM returns it to the exact state it was in when you saved it. (On rare occasions, you might encounter problems with a saved VM. If that happens, try selecting the VM and clicking Delete Saved State from the Actions pane.)

To work with a VM, you need to connect to it, using the Connect command in Hyper-V Manager (or simply double-clicking the name of the VM). That opens the Virtual Machine Connection app, with the VM running in a window. Figure 10-11 shows the VM I set up in the previous section, booting from a virtual DVD to start Windows 10 setup.

Figure 10-11: Using the Virtual Machine Connection app, you can interact directly with a VM, which can boot from a virtual DVD, giving you an opportunity to set up an operating system—in this case, a fresh copy of Windows 10.

The toolbar in the Virtual Machine Connection window includes several of the commands from the Actions pane. If you double-click a saved VM, for example, you can click the green Start button; for a running VM, available buttons on the toolbar include Turn Off, Shut Down, and Save.

The biggest limitation of a VM is that you have no direct access to hardware, as you do with a physical PC. As a result, from a basic session in a Virtual Machine Connection window, you can’t connect to a USB device such as a printer or scanner. Your display resolution options are limited to those supported by the Microsoft Hyper-V video display adapter. There’s no virtual sound hardware, so you’ll see a red X over the speaker icon in the notification area of the taskbar.

The solution is to run the VM in an enhanced session, which integrates Remote Desktop Protocol with the Virtual Machine Connection app to make available many of those missing features. In an enhanced session, you can choose a display configuration that matches the host hardware, including the ability to run multiple monitors. You can connect to printers and storage devices on the host PC and reroute audio through the host PC, as well.

Enhanced sessions support the use of the Clipboard to copy and paste files and folders between the VM and the host PC (in a basic session, you can use the Clipboard option on the Virtual Machine Connection app menu to type copied text from the host PC into the VM, but that’s about it).

Finally, if your organization uses smart cards for authentication, you can include that additional security in an enhanced session.

If the guest OS running in your VM supports incoming Remote Desktop sessions (in general, this requires a Pro, Business, or Enterprise edition of Windows), you can run an enhanced session. A configuration dialog box like the one depicted in Figure 10-12 should appear when you connect to a supported VM. If you’re currently in a basic session, click View > Enhanced Session from the Virtual Machine Connection app menu, or use the Enhanced Session button at the far right of the toolbar in that app.

Figure 10-12: When starting an enhanced session, you can choose the display resolution. Move this slider all the way to the right to use the full screen.

If your host PC is set up with multiple monitors, you can configure the VM to use them in an enhanced session by selecting the Use All My Monitors check box.

Click the Show Options dialog box to make a second tab, Local Resources, visible. As shown here, the default settings turn on remote audio and support for printers and the Clipboard. Click the More button to make local drives visible in File Explorer within the VM.

Managing virtual machines

In some respects, VMs behave exactly like their physical counterparts. But VMs have decided advantages over physical hardware for some activities. Would you like to increase the amount of memory available in your VM or add a second drive? You don’t need a screwdriver. Just shut down the VM cleanly first (don’t use the Save option), and then select the VM in Hyper-V Manager. At the bottom of the Actions pane, under the heading that matches the name of the VM, click Settings to open a dialog box like the one shown in Figure 10-13.

Figure 10-13: Many of the settings for a VM, including the Secure Boot and virtual TPM options, can only be adjusted after it’s created.

In this example, you can tell that this is a Generation 2 VM because of the existence of a Firmware (not BIOS) option in the Navigation pane, with a Secure Boot option below it that is not available in a Generation 1 machine.

From the Hardware group of options, you can click Firmware to change the startup order (by default, a virtual DVD boots before hard drives); click Memory to adjust the amount of virtual RAM and turn on or turn off Dynamic Memory; and change the network type.

Under the Management heading you’ll find options to change the name of the VM (you can also rename a VM from its listing in Hyper-V Manager) and, from the bottom of the list, to change the Automatic Start and Automatic Stop actions. For example, if you have a virtual server that you want available whenever your PC is turned on, click Automatic Start Action and select Always Start The Virtual Machine Automatically.

One huge advantage of a VM over a physical PC is the ability to create checkpoints. Using checkpoints, you can save the current state of a VM so that you can roll back to that state (Hyper-V uses the term revert) after you complete some testing.

Imagine, for example, that you’re evaluating two competing software packages to see which one you want to use for a specific task. It’s possible that the first program you install will change settings (such as file associations) that in turn affect the operation of the program you install afterward. By setting a checkpoint before you install the first program, you can perform your evaluation and then revert to the clean configuration after the test is complete. That action makes the playing field level for both programs.

Hyper-V in Windows 10 supports two types of checkpoints: production and standard. You can choose the checkpoint type (or turn off checkpoints completely) on the Settings page shown in Figure 10-14. In general, production checkpoints are preferable to standard checkpoints, which save the entire state of the machine and can result in some unwanted behaviors.

Figure 10-14: Checkpoints are turned on by default, and I can’t think of a reason why you would want to turn them off. You can use them to roll back to a known good state, making it easy to experiment with a VM.

To set a checkpoint from a VM running in a window (a basic or enhanced session), on the Virtual Machine Connection app menu, choose Action and then Checkpoint. From Hyper-V Manager, right-click the VM name and then, on the shortcut menu, choose Checkpoint.

Each checkpoint is indented from the one above it, making it possible for you to snap multiple checkpoints and then revert to whichever one you want, as shown here:

To roll back to a previously created checkpoint, select that checkpoint from the list in Hyper-V Manager, right-click, and then choose Apply. The operation is very quick.

Reverting to an earlier checkpoint doesn’t affect later checkpoints. You can roll back to a previous configuration and then apply a checkpoint you saved later.

Checkpoints consume disk space, of course. After your testing is complete, you can safely delete a checkpoint (or an entire checkpoint tree) by selecting its entry in the Checkpoints list and then using commands in the Actions pane or on the right-click shortcut menu.

Chapter 11. Microsoft Azure

If you think you need new hardware to evaluate the latest versions of Windows, think again. Maybe you can find the resources you need in the cloud instead.

That’s the promise underlying Microsoft Azure, which offers subscription-based cloud services for developers and IT pros to build, test, and deploy websites, mobile apps, and computing resources. Azure offers an incredibly wide range of services, with new capabilities appearing regularly.

In this chapter, I focus on Azure’s virtualization and networking features. First up is the option to create cloud-based virtual machines (VMs) running Windows 10 and Windows Server, which are ideal for IT pros who need an environment to test software and evaluate networks. I also cover Microsoft’s cloud-based Azure Active Directory (Azure AD) service, which integrates exceptionally with Windows 10, regardless of whether you’re already part of a Windows domain.

Let’s begin with the basics of Azure subscriptions.

Getting started with Microsoft Azure

There’s no charge to sign up for a pay-as-you-go Azure account, and many services are completely free. But before you rush to sign up at https://azure.com, check your existing portfolio of Microsoft services. You might already have access to some Azure services.

Every Microsoft Visual Studio subscription includes a monthly credit for Azure services (the exact amount varies by subscription level). Registered members of the Microsoft Partner Network can receive Azure credit as part of the Microsoft Action Pack, and startups that sign up for the BizSpark program get a generous allotment of free Azure credit. Organizations that subscribe to Microsoft online services—including Business or Enterprise editions of Microsoft Office 365, Microsoft Intune, and Microsoft Dynamics CRM Online—automatically have Azure AD services as part of their subscription.

If you’re not already part of one of those programs, use your Microsoft account to sign up for a free Azure account. Currently, a new subscription includes $200 of credit for you to use in the first month as you learn the ins and outs of the service. When that runs out, you can switch to a pay-as-you-go account; with Azure, you can set a spending limit and arrange billing alerts to ensure that you don’t receive any unwelcome surprises.

Two additional Azure subscription options are available:

• Twelve-month prepaid plans provide discounts for Azure services in exchange for an up-front monetary commitment. Unused dollars expire at the end of the year.

• Volume licensing customers can purchase Azure services using Microsoft’s Open Volume Licensing program.

Two web pages are worth saving as Favorites. The first, https://account.windowsazure.com, displays a summary of your current subscription with meticulous billing details and links to common account management tasks. Figure 11-1 shows the status of a newly created account.

Figure 11-1: A new Azure account comes with an allowance of free credit for the first month so that you can experiment with services without worrying about unwelcome financial surprises.

The upper-right corner of that page includes a link to the Azure Portal, which is where you go to create and use cloud-based services. (To visit that page directly, go to https://portal.azure.com.) Figure 11-2 shows a customized dashboard for an Azure account with two active subscriptions.

Figure 11-2: You can pin shortcuts to the Azure Portal dashboard, for an at-a-glance summary of each subscription’s status as well as quick access to resources such as VMs and websites.

The link in the upper-right corner of that dashboard leads to account settings.

Note that the portal shown in Figure 11-2 is relatively new. As of this writing, an older portal is still required for some services, including Azure AD. Over time, those services will be moved to the new portal.

Running a virtual machine in the cloud

In Chapter 10, I introduced Hyper-V, the built-in virtualization platform in Windows 10. Running a local VM has performance advantages, but it also requires dedicated resources that your local PC might not have to spare, including memory and drive space.

Setting up a VM in the Azure cloud requires no local resources. You connect to the VM by using the Remote Desktop client built in to all editions of Windows 10, and you pay only while the VM is running.

From the Azure portal, in the navigation pane on the left, click Virtual Machines and then click Add to see a listing of the dizzying array of available, ready-made VMs. At the top of the listings, click the search box and type a search term to narrow the list. For MSDN subscribers, a Windows 10 Enterprise N (x64) option is available. Click that option to see the description shown in Figure 11-3.

Figure 11-3: You can configure ready-made VMs like this one in minutes. The Resource Manager deployment model removes most of the intricacy of setup.

The Select A Deployment Model box at the bottom of that description is set to Resource Manager, which greatly simplifies the otherwise tedious process of defining cloud-based storage, virtual networks, and other infrastructure for the VM. The alternative is the Classic model, with which you can build your own VM. For a description of how the Classic model works, see the article “Create a custom virtual machine running Windows.”

Creating a new VM requires some basic setup steps, including creating a default administrator account and, notably, choosing the size of the VM. The cost of an Azure VM is directly dependent on the resources you assign to it, and Azure gives you dozens of predefined combinations of CPU cores, memory, and drive storage, with estimates of the monthly charges below each option, as shown in Figure 11-4.

Figure 11-4: As part of the process of configuring an Azure VM, you must choose a size. The more resources you assign to the VM, the greater the cost.

After creating a VM, you’ll find it listed in the dashboard under the Virtual Machines heading. Figure 11-5 shows the settings for a Windows 10 VM. Note that the machine is currently stopped and is thus not costing a penny.

Figure 11-5: This VM, running Windows 10, is configured but not running. Click Start to power on the VM, and then click Connect to download a Remote Desktop Connection settings file.

To connect to this VM, you need to visit the Azure dashboard and click Start. Then, click the Connect button to download a Remote Desktop connection profile that makes it possible for you to run the VM as if it were a local machine.

For a virtual server, of course, you’ll probably want to keep the VM running full time, so the monthly estimate of costs is accurate. For a virtual Windows 10 workstation that you only need for occasional testing, you can shut it down after your work is complete, keeping its cost to a bare minimum.

Azure Active Directory

As I mentioned earlier, Microsoft’s business-focused cloud services, including Business and Enterprise editions of Office 365, use Azure AD for authentication. You can manage that directory within the Azure Portal, although doing so today requires the older Azure Management Portal (https://manage.windowsazure.com). Figure 11-6 shows the Quick Start page for a directory associated with an Office 365 Enterprise (E3) account.

Figure 11-6: Using this Quick Start page for a new Azure AD installation, you can associate a custom domain with the directory, to integrate with your own existing domain, and to add premium features.

Every Office 365 (business and Enterprise) and Azure subscription includes support for Azure AD at the Free level. This level supports synchronization with a local directory plus single sign-on (SSO) capabilities for up to 10 apps per user. Premium features are available (for a monthly charge per licensed user) allowing for unlimited SSO apps and advanced features such as multifactor authentication.

Each Azure subscription includes a default domain, which is based on the Azure identifier you specify when signing up. Figure 11-7 shows the default domain for a test account, botthq.onmicrosoft.com, with two custom domains added. Note that every custom domain you add must be verified, typically by adding a DNS record.

Figure 11-7: The default Azure AD domain, botthq.onmicrosoft.com in this example, is only a starting point. The real benefits of the cloud-based directory appear when you attach one or more custom domains.

If you’ve set up Azure AD, you can connect an account from that directory to a new Windows 10 installation during the initial setup of Windows 10. In that configuration, the Azure AD account becomes the primary sign-in for the device. You can also connect a Windows 10 device after it’s been set up using a local account or a Microsoft account. To accomplish this task, use the Join Azure AD feature, found in the About Your PC page in the Settings app (to get there, open Settings, click or tap System, and then click About). Figure 11-8 shows this option available for use.

Figure 11-8: Click Join Azure AD to connect a PC to your organization’s directory in the Azure cloud.

After connecting a Windows 10 PC to Azure AD, you can access your account by signing in using your Azure AD credentials at https://account.activedirectory.windowsazure.com (you can also use the much friendlier address https://myapps.microsoft.com). As Figure 11-9 shows, on the Profile page, you can request a password reset and manage multifactor authentication settings. The Applications tab includes any apps that have been set up by your administrator for SSO.

Figure 11-9: The Azure AD user portal lists your details as they appear in the directory. Click Additional Security Verification to manage multifactor authentication settings.

The Applications tab contains shortcuts to applications that have been configured by the network administrator for SSO. Note that—for now at least—using these features requires a browser that supports the Access Panel Extension. This extension is available for Internet Explorer, Firefox, and Chrome, but is not supported in Windows 10 version 1511 for Microsoft Edge.

Figure 11-10: The Azure AD Access Panel lists apps that are available for SSO. For some third-party apps, you might need to install a browser extension.

PUBLISHED BY
Microsoft Press
A division of Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399

Copyright © 2016 by Microsoft Corporation

All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher.

ISBN: 978-1-5093-0278-9

First Printing

Microsoft Press books are available through booksellers and distributors worldwide. If you need support related to this book, email Microsoft Press Support at mspinput@microsoft.com. Please tell us what you think of this book at http://aka.ms/tellpress.

This book is provided “as-is” and expresses the author’s views and opinions. The views, opinions and information expressed in this book, including URL and other Internet website references, may change without notice.

Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred.

Microsoft and the trademarks listed at http://www.microsoft.com on the “Trademarks” webpage are trademarks of the Microsoft group of companies. All other marks are property of their respective owners.

Acquisitions Editor: Rosemary Caperton
Developmental Editor Rosemary Caperton
Editorial Production: Dianne Russell, Octal Publishing, Inc.
Copyeditor: Bob Russell, Octal Publishing, Inc.
Cover: Twist Creative • Seattle

Introduction

This book is about unsung heroes.

Over a quarter-century of talking to people about Microsoft Windows, I’ve learned that the greatest gains in productivity come from mastering the fundamentals. In many cases, that means learning about the capabilities of tools that you might have taken for granted.

After all those years, I’m still discovering new things about these unsung heroes, including tools and apps I use every day. Some of these tools have been part of Windows for decades, and yet most of us IT pros and expert Windows users tap only a fraction of their power.

As I’ve learned from watching Windows evolve over the past few years (and from digging into countless Windows 10 Insider Preview builds and sharing discoveries with colleagues and readers), many of those old, familiar programs are still evolving. With each new major release, I’ve found tiny but meaningful improvements in unexpected places.

Sharing that hard-won knowledge with you is one of two fundamental goals I set out to achieve in this book. My other goal is convincing you to take a closer look at how you use Windows. That means digging a little deeper into programs you probably use every day—File Explorer and Task Manager, for example. If I can help you replace old habits with faster and smarter ways to get things done, I’ve done my job.

I’m especially grateful to the developers and designers at Microsoft who are building Windows 10, for giving me a mountain of interesting material to work with. And I’d like to thank Microsoft Press, which gave me complete editorial independence for this project. Every word in this book comes from my personal experience. I am confident you’ll find a few surprises here.

I encourage you to share your feedback about this book directly with me. Email your comments to me at feedback@realworldwindows.com.

Ed Bott
April 19, 2016

Acknowledgments

I’d like to thank the good folks at Microsoft Press—Anne Hamilton, Rob Linsky, and Rosemary Caperton—for their efforts at making this project happen. And a special thanks to Bob and Dianne Russell at Octal Publishing, Inc., who helped turn around this project and create the great-looking ebook you’re reading right now.

Free ebooks from Microsoft Press

From technical overviews to in-depth information on special topics, the free ebooks from Microsoft Press cover a wide range of topics. These ebooks are available in PDF, EPUB, and Mobi for Kindle formats, ready for you to download at:

http://aka.ms/mspressfree

Check back often to see what is new!

Errata, updates, & book support

We’ve made every effort to ensure the accuracy of this book and its companion content. You can access updates to this book—in the form of a list of submitted errata and their related corrections—at:

http://aka.ms/Win10Tools/errata

If you discover an error that is not already listed, please submit it to us at the same page.

If you need additional support, email Microsoft Press Book Support at mspinput@microsoft.com.

Please note that product support for Microsoft software and hardware is not offered through the previous addresses. For help with Microsoft software or hardware, go to http://support.microsoft.com.

We want to hear from you

At Microsoft Press, your satisfaction is our top priority, and your feedback our most valuable asset. Please tell us what you think of this book at:

http://aka.ms/tellpress

The survey is short, and we read every one of your comments and ideas. Thanks in advance for your input!

Stay in touch

Let’s keep the conversation going! We’re on Twitter: http://twitter.com/MicrosoftPress.

Windows 10 IT Pro Essentials Top 10 Tools

Ed Bott

Contents

Introduction

Acknowledgments

Free ebooks from Microsoft Press

Errata, updates, & book support

We want to hear from you

Stay in touch

Chapter 1: Power tools for IT pros

Finding the right tool for the job

Everyday tasks and information

Tweaking Windows 10

Performance and troubleshooting tools

The versatile Microsoft Management Console

Management and deployment tools

Powered by the cloud

Chapter 2: File Explorer

File Explorer essentials

Using Quick Access to organize files

Using libraries and known folders

Adding folders to a library

Moving your data folders to a new location

Search

Building a search by using the ribbon

Using filters to find groups of files

Creating complex searches

Saving a search

Syncing with OneDrive

File History and other backup options

Chapter 3: Registry Editor

How the registry works

Editing the registry like a pro

Backup and restoring registry values

Finding keys, values, and data

Using the command line

Editing the registry by using Local Group Policy Editor

Editing the registry on a remote PC

Chapter 4: Event Viewer

An overview of Event Viewer

Changing the view

Filtering event logs

Creating custom views

Saving an event log

Chapter 5: Task Manager

Mastering Task Manager

Digging into the Details tab

Investigating services

Managing startup apps and monitoring resource usage

Monitoring performance in real time

Digging deeper by using Resource Monitor

Chapter 6: Disk Management

How Windows 10 manages storage

Disk Management

Diskpart

Other useful storage-related tools

Common Disk Management tasks

Change a drive letter

Map a new disk to a folder

Shrink a volume

Create a virtual hard disk and attach it as a drive

BitLocker Drive Encryption

Chapter 7: Sysinternals Suite

An overview of the Sysinternals utilities

Autoruns

Process Explorer

Process Monitor

More Sysinternals tools

PSTools

BgInfo

Active Directory Explorer

TCPView

Disk2vhd

And more

Chapter 8: Diagnostics and Recovery Toolset

What DaRT does

Finding and recovering files

Working with disks

Advanced recovery tools

Getting started with DaRT

Creating a recovery image

Using Crash Analyzer

Chapter 9: Windows PowerShell and the Command Prompt

The good ol’ Command Prompt

Introducing Windows PowerShell

Chapter 10: Hyper-V

Getting started with Hyper-V

Creating a virtual machine

Working with virtual machines

Managing virtual machines

Chapter 11: Microsoft Azure

Getting started with Microsoft Azure

Running a virtual machine in the cloud

Azure Active Directory

About the author