LettersAnswers to Your Questions

PsTools

In the March 2007 Desktop Files column, Wes Miller talks about the PsTools utilities ("A PsTools Primer," see technetmagazine.com/issues/2007/03/DesktopFiles). I'm having a little trouble trying to get these awesome utilities to run. I am especially interested in PsLoggedOn. Could you please explain exactly how to put these great utilities in a folder on my path? An example would really help.

—Tim

The best way to get started is to download the full PsTools package (download.sysinternals.com/Files/PsTools.zip) to a working directory (for example, c:\toolbox). Once you've extracted the ZIP file into that directory, the tools are ready to use. If you'd like to add that directory to your PATH so that the tools can be executed from anywhere, simply run the following command from a command prompt, substituting your working directory for c:\toolbox:

SET PATH=%PATH%;c:\toolbox

Robocopy Praise

Until reading your November 2006 article on Robocopy GUI (technetmagazine.com/issues/2006/11/UtilitySpotlight), our help desk was stumped and could find no way to preserve timestamps of files being moved from network folders to SharePoint® stores. Robocopy is one great tool!

—Cristino

Checking Registry Subkeys

For the past couple of weeks, I have been trying to figure out how to test whether the value for the EnableLUA registry subkey is on or off. When it is off, User Account Control is disabled. That's what we want so we can install programs automatically in our test lab without having to log in with an administrative account for confirmation. We want to put this test at the beginning of all of our installation scripts and then run a script that changes the value of EnableLUA from 1 (on) to 0 (off) before the script is run. However, I have been drawing a blank on how to make this test work. I would really appreciate any help you might be able to offer.

—Derek

Here's a basic script to read a registry key, check the value, and change the value if necessary. This example reads the key HKLM\Software\Microsoft\Test\TestKey, checks to see if the value is 1, and if it is, change the value to 0; if the value is not 1, the script quits:

On Error Resume Next
Set WSHShell =  Wscript.CreateObject _
    ("Wscript.Shell")
RegLoc = _ 
    "HKLM\Software\Microsoft\Test\TestKey"
KeyValue = WSHShell.RegRead(RegLoc)
If (KeyValue = "1") then
  WSHShell.RegWrite RegLoc,"0"
end If
Wscript.Quit

As always, be sure to use scripts that modify the registry with great care—especially in a case like this.

ReadyBoost

Could you explain ReadyBoost to me a bit more clearly? As I understand it, ReadyBoost acts like a buffer between a machine's RAM and hard drive, but the data will be written simultaneously. Doesn't this mean that performance will decrease as the system double-copies data? How do I test the performance of the system with and without ReadyBoost?

—Alex

The idea of ReadyBoost is to allow flash memory (USB sticks and so forth) to act as a temporary cache, augmenting the amount of (often more expensive) traditional RAM. ReadyBoost does not necessarily write the same data to flash memory and the hard disk simultaneously. Rather, it acts as an intermediate caching layer between RAM and disk. Mark Russinovich explains this a bit more in his March 2007 article "Inside the Windows Vista Kernel: Part 2" where he says:

"After the ReadyBoost service initializes caching, the Ecache.sys device driver intercepts all reads and writes to local hard disk volumes (C:\, for example), and copies any data being written into the caching file that the service created...

...When ReadyBoost sees random reads that can be satisfied from the cache, it services them from there, but because hard disks have better sequential read access than flash memory, it lets reads that are part of sequential access patterns go directly to the disk even if the data is in the cache."

You can read the rest of Mark's article online at technetmagazine.com/issues/2007/03/VistaKernel.

Windows PE Download

There seems to be some inconstancy in your Letters column in the May 2007 issue. The first question, "Making an Image," says, "You can build and customize Windows® PE 2.0 images with tools found in the WAIK..." This implies that Windows PE is included in the tools and is downloadable.

In the last question, "Getting Windows PE," however, you answered, "Windows PE is (only) available as a benefit of Software Assurance..." I think your first answer is right and the second answer is out of date.

—Xihui

Windows PE 2.0 is available as a download in the Windows Automated Installation Kit (WAIK). It has different licensing rules than Windows PE 1.6 (the preceding version, which was discussed last year in "Getting Started with Windows PE." You can read this article at technetmagazine.com/issues/2006/09/WindowsPE). Windows PE 1.6 was available only as part of software assurance.

Windows PowerShell Security

There has been a lot of talk about Windows PowerShell™. I have seen many articles that tout its UNIX-like syntax, the ease of formatting command output, and more, but I haven't heard anything about security concerns when rolling out Windows PowerShell into the datacenter.

What are the security issues that come into play when deploying or running such a powerful shell as Windows PowerShell on production servers?

—Carlos

We completely agree with you that security around Windows PowerShell is an important topic. As a matter of fact, our Windows PowerShell columnist, Don Jones, delves into this topic in this issue of TechNet Magazine. In addition to this coverage, you may want to take a look at two important books that were released recently: Windows PowerShell in Action by Bruce Payette (Manning Publications, 2007) and Windows PowerShell: TFM by Don Jones and Jeffrey Hicks (SAPIEN Press, 2007). Both of these books cover Windows PowerShell in considerable depth, and both have full chapters dedicated to security.

SQL Best Practices

I have to strongly disagree with the recommendations of your answer regarding Best Practices Analyzer (BPA) and schema-qualifying objects (see technetmagazine.com/issues/2007/05/SQLQA). SQL Server™ 2005 must still resolve schemas (as opposed to only owners in SQL Server 2000, which the author erroneously calls "schemas"). The order of resolution for SQL Server 2005 is well documented in Books Online (BOL).

Thus, qualifying objects is still a best practice to avoid ambiguity errors and to save the optimizer CPU cycles resolving object names. The recommendation in the column seems in opposition to the Microsoft whitepaper, "Batch Compilation, Recompilation, and Plan Caching Issues in SQL Server 2005."

—Mike

We went right to the source for an answer—David Browne, a contributor to our SQL Q&A column and a Technology Architect for the Microsoft Technology Center in Dallas, Texas. He said the following:

Best practices are matters that people can and will disagree about. Especially with regard to performance, people have differing perceptions about what constitutes a significant performance difference and what a worthwhile optimization might be.

For instance, writing queries in a certain manner to save the optimizer CPU cycles in compilation is not something I have ever considered doing, and I doubt it would make a measurable difference to a realistic workload.

On the other hand, reducing the frequency of compilations by promoting query plan reuse is a commonly accepted performance optimization.

WinPE

We are using the Systems Management Server (SMS) Operating System Deployment Feature Pack (OSDFP) for OS installation. Now that Windows Vista® has been released, we want to install it through OSDFP and we upgraded to the latest version. Which version of Windows PE is provided with the newest OSDFP?

We used to create an image installation .iso file and copy it in Remote Installation Services (RIS). We then used the network boot option to boot a new machine. But we've upgraded RIS to Windows Deployment Services (WDS), which only supports a Windows Imaging (WIM) file as a boot image. How can we create a WIM image through an installation option from OSD?

—Vasishta

The version of Windows PE was not updated with the latest release of the OSDFP—it still includes version 1.5 (also known as Windows PE 2004). Even though Windows PE wasn't updated, Windows Vista deployment is now fully supported in the latest release of OSDFP.

The best process to use for creating a deployable desktop image is the one outlined in the BDD (Business Desktop Deployment) Solution Accelerator. You can find all of the necessary components and documentation online at microsoft.com/technet/desktopdeployment/bdd/2007. Also check out Michael Niehaus's article "Deploying Windows Vista with BDD 2007" in this issue of TechNet Magazine.

Windows 2003 Server Posters

I just received my July 2007 TechNet Magazine and was delighted to find two Windows Server® 2008 posters! A colleague of mine received a Windows 2003 Server poster in a previous issue. Do you know how I could get the Windows 2003 Server editions of these posters, either printed or in PDF?

—Jason

We're so glad you liked the Windows Server 2008 posters! A PDF version of the Windows Server 2003 poster is available online at go.microsoft.com/fwlink/?LinkID=80428. We only did one version of the Windows Server 2003 poster.

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; reproduction in part or in whole without permission is prohibited.