Windows Performance through VSS Cleanup and Preassociation
article #1004, updated 28 days ago

These steps can improve Windows performance a whole lot. It works because a vast array of different applications and services in Windows utilize VSS on their backends. All of the below, except for one server-only step sometimes needed, is encapsulated in PowerShell script (3.0 and up) OVSS.ps1 , part of the ponderworthy-tools set.

To do the VSS optimization interactively, start an administrative CMD, and then…

Step 1:

vssadmin Delete Shadows /All

If there are orphan shadows, you will be asked whether you want to delete them. If there are and you delete them, you will see immediate performance benefit. Reportedly, Windows autodeletes them only after there are 64 per volume. We prefer to see zero! These build up as a result of bad shutdowns, drive and drive controller issues, and insufficient RAID resources to serve demands.

Step 2:

We now improve any existing preassociation of disk space for VSS. On some machines, this will increase performance very impressively, immediately. In general it keeps them smooth and stable and prevents hesitations. This does not reserve or take up the space, it just “associates” it, makes it ready for use, so that whenever Windows wants to do any of the bajillions of things it does with VSS, things ranging from tiny to enormous, it can skip that step.

It is worthwhile to know that C: on all workstation installs and many server installs, has a minimal preassociation already set up. And we should check to see if it has been done. So the first step is to check it. Do the below:

vssadmin list shadowstorage

If it gives you something like this:

vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

Shadow Copy Storage association
   For volume: (\\?\Volume{84214e3c-0000-0000-0000-100000000000}\)\\?\Volume{84214e3c-0000-0000-0000-100000000000}\
   Shadow Copy Storage volume: (\\?\Volume{84214e3c-0000-0000-0000-100000000000}\)\\?\Volume{84214e3c-0000-0000-0000-100000000000}\
   Used Shadow Copy Storage space: 0 bytes (0%)
   Allocated Shadow Copy Storage space: 0 bytes (0%)
   Maximum Shadow Copy Storage space: 100 MB (20%)

Shadow Copy Storage association
   For volume: (C:)\\?\Volume{84214e3c-0000-0000-0000-501f00000000}\
   Shadow Copy Storage volume: (C:)\\?\Volume{84214e3c-0000-0000-0000-501f00000000}\
   Used Shadow Copy Storage space: 0 bytes (0%)
   Allocated Shadow Copy Storage space: 0 bytes (0%)
   Maximum Shadow Copy Storage space: 373 GB (20%)

where “Maximum Shadow Copy Storage space: “ for each volume is set to 20%, the rest has been done, you are fully optimized. Otherwise, if this is a desktop OS, we resize the existing association for each volume. For volumes without letters, and to pull a list of all VSS-ready volumes, see the note towards the end of this document.

So for the C drive, do the below in administrative CMD:

vssadmin Resize ShadowStorage /For=C: /On=C: /MaxSize=20%

Do repeat for any other active hard drive partitions, D:, E:, et cetera. Don’t worry if you get an error, the next step covers it.

Step 3:

It may well throw an error, saying there is no such association. If this is a workstation OS, vssadmin lacks two commands which we need for any further steps, so in that case we are done. But on any Windows Server OS from 2008R2, if the error was thrown, we do an Add:

vssadmin Add ShadowStorage /For=E: /On=E: /MaxSize=20%

Step 4:

And finally (server only), one more thing which can help if, for instance, C: is almost full but E: has plenty of space:

vssadmin Delete ShadowStorage /For=C: /On=C:
vssadmin Add ShadowStorage /For=C: /On=E: /MaxSize=20%

This maximizes overall performance, and also prevents possible backup failures and other issues due to insufficient disk space on C:.


On some machines, the volumes do not have letters. For these you will need to use the volume GUID path. In vssadmin list shadowstorage, they look like this:

Shadow Copy Storage association
   For volume: (\\?\Volume{99ac05c7-c06b-11e0-b883-806e6f6e6963}\)\\?\Volume{99a
   Shadow Copy Storage volume: (\\?\Volume{99ac05c7-c06b-11e0-b883-806e6f6e6963}
   Used Shadow Copy Storage space: 0 B (0%)
   Allocated Shadow Copy Storage space: 0 B (0%)
   Maximum Shadow Copy Storage space: 32 MB (32%)

For such a situation, substitute \\?\Volume{99ac05c8-c06b-11e0-b883-806e6f6e6963} (the whole long string) for C: in the above command lines.

PowerShell will give GUI paths for all volumes thusly:

GWMI -namespace root\cimv2 -class win32_volume

References are here:

Categories:   VSS   Performance


Current version of PHP and other items on CentOS and RHEL
article #850, updated 34 days ago

Here are two very helpful sources. For many general things, the EPEL repository:

and for PHP and other server-specifics, current versions and others more recent than the OSes supply by themselves, Remi:

Categories:   Web Servers   Servers


Spybot Anti-Beacon
article #1139, updated 36 days ago

This tool decommissions quite the list of Windows 7 through 10 telemetry inclusions by which Microsoft informs itself of our behavior, using quite a lot of our RAM, CPU, and bandwidth in so doing.

Brought to this forefront by the Beard, Mike Hunsinger.

Categories:   Performance   Security


Live audio feed of ocean waves and other worthwhile sounds
article #1138, updated 37 days ago

Right here:

Lots of other interesting stations too.

Categories:   Audio-Video   


PowerShell Gallery
article #1136, updated 40 days ago

“The PowerShell Gallery is the central repository for PowerShell content. You can find new PowerShell commands or Desired State Configuration (DSC) resources in the Gallery.”

Categories:   PowerShell   


'dig' web interface for DNS studies
article #1137, updated 40 days ago

This is amazing:

Submitted by the amazing Zach Hogan.

Categories:   DNS   


Install PowerShell 5.1
article #1135, updated 41 days ago

As part of Windows Management Framework 5.1. Not indicated for Windows 10 / Server 2016.

Categories:   PowerShell   


Windows 10 does not always automatically detect and TRIM SSDs
article #1134, updated 42 days ago

Found this today.

  • A two-month-old laptop with a SanDisk SD8SN8U-256G-1006 SSD for its C: drive, Windows 10.
  • Windows had recognized the drive as a standard hard drive, not an SSD, and the laptop had slowed down a lot very recently.
  • Installed the SanDisk SSD Dashboard, ran TRIM, and scheduled weekly TRIM operations.
  • Laptop much faster.

Categories:   Drive Issues   Performance


Time synchronization (NTP, SNTP) setup
article #37, updated 42 days ago

In Windows Server 2012 R1/2, 2008 R1/2, 7, Vista, and 2003 SP2 and later, whenever time is out of sync, it’s good to run the following two commands in an administrative command prompt (an ordinary command prompt for 2003SP2+):

w32tm /config /,,, /syncfromflags:MANUAL /reliable:YES /update
w32tm /resync /rediscover

/rediscover is something new to this writer, it solves problems when /resync alone does not produce correct results.

In Server 2003 SP1 and before, and XP, we use this, because /reliable doesn’t exist:

w32tm /config /,,, /syncfromflags:MANUAL /update
w32tm /resync

Sometimes w32tm doesn’t exist as a service, and has to be registered:

w32tm /register

Under Windows 2000, we need to go a bit more archaic:

net time /
net time /querysntp

If you are using Windows DHCP services, the above is best for the server, but for all of the workstations under its control, place the server’s IP in the Time Server option. This is probably best for a domain. When you have standalone or mobile-capable machines, best to just use the w32tm configuration above.

Categories:   Internet Networking   LAN Networking


ESET Uninstaller / Remover Tool
article #1133, updated 46 days ago

If the Windows Installer method doesn’t work, ESET has a tool. It does have to be run with the OS in safe mode:

Categories:   ESET Antivirus   Windows Installer and Updates