When I shutdown my computer, I tend to walk away, so it really doesn’t matter how long it takes. If there is some reason that you hang around and wait for it to shutdown (perhaps waiting to close the lid on a laptop), then you may want the shutdown process to be a little faster. When Vista, like older versions of Windows, is told to shutdown, there is a set amount of time that it waits for things like services to properly shutdown. You can control how long it waits through a simple registry setting.
When automakers program your cars computer, they are fairly conservative, choosing settings that will work for most people, but that also sacrifice performance in favor of good mileage, smooth running on cheap gas, or longevity of parts. Some would gladly buy premium gasoline, or replace parts a little more frequently in exchange for the increased performance. Windows is similar. Microsoft chose default settings that are ’safe’ for the ‘average’ user. If you’re reading this, you are probably not the average user.
It should be mentioned that you will need to modify your registry, and doing this can be dangerous. If you modify the wrong setting in the wrong way, you could prevent something from working correctly, or even make Vista unable to boot, so proceed with caution! To help avoid trouble, and to simplify your task, instead of using Regedit to directly modify your registry, we’ll instead create a batch file that will do it for you.
Open Notepad, or any other text editor that can create a simple text file. Copy the following text, and paste it into the Notepad window:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
"WaitToKillServiceTimeout"="20000"
Save the file with the name WaitToKill.reg (or any other name you like, as long as it ends with .reg). You’re not done yet. As it stands, this file won’t do anything because the value you see there, 20000, is the default value that you are currently using. The value 20000 amounts to about 20 seconds. Change that value to something smaller to shorten the wait time (don’t forget to save after changing the value).
Once the file is saved, double-click it and you’ll be prompted by UAC to allow it to run.

Then you’ll be warned about the dangers of modifying the registry, click Yes to allow it to run.

You’ll then be told that the modification was successfully made to your registry.

A reboot will be required before the change will take affect.
So what should you set this to? Browsing around some forums suggests that 3000 to 5000 (3 to 5 seconds) seems to work OK for most, and though some claim they’ve had no problems with 1000 (1 second), others have said it made their computer ‘unbootable’ after a few tries. So why not set it to zero? If you set the time too short, there is a chance that a service might not shutdown properly, and could loose data. Of particular concern would be services that write to the registry (as I mentioned above, messing up the registry can make for a very bad day!). So, keep in mind that with this change comes the benefit of a faster shutdown, but also a degree of risk should you set the time to short.