Working with Shadow Copy requires elevated privileges. I usually access Shadow Copy through vssuirun. This prompts for elevating privileges. Once open, use the Settings pane to select the volume you’d like to schedule backups to. Then choose how much space shadow copies can use. Click on the Schedule button to configure how frequently backups run. I usually try to time these things for when the server isn’t slammed. Otherwise you might run into issues. By default, Shadow Copy keeps 64 versions of each file. Running snapshots every hour. You can restore easily, by selecting a volume, although volume-based restores are not supported on system derives. Restores can be done using vssuirun and then using the Revert Now… button. The quicker way to do all this is to use the vssadmin command, which has a lot more options. Run vssadmin along with the list verb to see a list of different types of objects. For example, to see a list of the storage used with Shadow Copy, use the vssadmin command, with the list verb and then the shadowstorage noun: vssadmin list shadow storage You’ll then see the storage for each volume, along with the space used, allocated and max for each. Run vssadmin followed by the list verb then shadows to see your shadow copy sets: vssadmin list shadows Each shadow copy set is displayed along with a generated ID. Creation times, volume information, tarot location, name of server and the type (e.g. client accessible) are all displayed. You can also use the add verb with these same options, along with a variety of switches for each. To add storage /for the a drive (G) on a drive (H) and give it a maxsize (64GB) use the following: vssadmin add shadowstorage /for=g: /on=H /maxsize=64GB Once you’ve added Shadow Copy Storage for a volume, you can then run a manual shadow copy on an enabled volume using the create verb, along with the shadow noun and then the /for: option, specifying the volume: vssadmin create shadow /for=g: To revert to a shadow copy, and this is dangerous as you might not want to revert so be careful here, use the revert verb along with shadow (yes, it’s singular as there’s only one) and then the /shadow option followed by the GUID of the copy to revert to: vssadmin revert shadow /shadow=(AAAAAAAA-BBBB-11111-2222-CCCCCCCC) To delete a shadow copy, use the delete verb, along with the shadows noun (yes, that’s randomly plural) and then the /shadow option following by the GUID of the shadow copy to delete (yes, I made that GUID up): vssadmin delete shadows /shadow=(AAAAAAAA-BBBB-11111-2222-CCCCCCCC) Alliteratively, use favorite option for this verb /oldest which just tosses the oldest backup (less typing, I’m lazy): vssadmin delete shadows /for=g: /oldest This is interactive as well, so you’ll have to hit y to confirm. Finally, when disabling all shadow copies (holy shiznit batman, we’re out of space big time) use the delete verb but this time followed by the drive letter to clear copies for: vssadmin delete shadowstorage /for:g:

I was recently building some scripts to alternate shadow copy storage locations (long story). In so doing, I found that pretty much anything I would normally do in the GUI is exposed at the command prompt using the vssadmin command. The first and one of the most important things that you can do is list settings. This includes the following:
  • providers – lists components that can create and maintain shadow copies
  • shadows – lists shadow copies
  • shadowstorage – lists storage that can be used for shadow copies
  • volumes – lists volumes that have shadow copy enabled
  • writers – lists registered components of applications that store persistent information on a volume with shadow copy enabled
You can create a shadow copy of a volume using the vssadmin command along with the create shadow verb. You would also need to specify which drive you will be creating a shadow copy of using the /for option. For example: vssadmin create shadow /for=C: Once you have created a shadow copy you can then add more storage to it using the vssadmin add shadowstorage command. Here, you’d indicate the volume to enable shadow copy /for and then the volume to put the shadow copy storage /on and finally the maximum size with /maxsize, as follows: vssadmin add shadowstorage /for=c: /on=d: /maxsize=1tb Once you have storage, you can also resize it. To do so use the resize verb and then mimic what you did previously, when adding shadowstorage but replacing the maxsize variable with a new number. For example: vssadmin resize shadowstorage /for=c: /on=d: /maxsize=100gb In addition to being able to resize the storage you can also delete it using the delete verb along with shadowstorage. For example: vssadmin delete shadowstorage /for=c: /on=d: And finally you can also delete shadows themselves vssadmin delete shadows /for=c: /all Or to just delete the oldest: vssadmin delete shadows /for=c: /oldest Or finally, to just delete one from the list of shadows (where the X’s are replaced with your shadow id obtained using the list shadows): vssadmin delete shadows /for=c: /shadow=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX Still can’t seem to make it work with Samba on Mac OS X, but that’s another story for another day…  🙂