Restore points in Vista

A very useful but seemingly undocumented feature of D.O. is the ability to use volume names as well as mount points to access files and folders . This has come in extremely handy for me in Vista because I can access restore points ( which are Volume ShadowCopy Snapshots) using D.O. I have not seen any other file managers, including Explorer, that can do this, however I don't spend much time in other file managers (well, except for Konqueror and Nautilus). :slight_smile:

If you are not familiar with the Restore points in Vista, here is some info:

Vista uses Volume ShadowCopy Services (VSS) for Restore points. Each restore point is a VSS Snapshot.
Unless you change things, these restore points are created at something like 0400 each day (or when you power up).
You can control the size of the storage space set aside for these snapshots, they "live" in the System Volume Information folders..
You can turn on restore points for any volume, the default is the system volume only.
When you right click on a file and select "Restore previous versions", the system looks in all restore points for an earlier version of the file and offers to restore it. Again, these restore points are VSS snapshots.
You can restore the file to a previous version, but there is no choice to just copy a previous version to another place or name. Of course, you can do it manually one file at a time, BUT there is a better way.
You can directly access the restore point(s) using D.O.(what else?) as follows:

  1. From the command prompt, run "vssadmin list shadows" to get a list of your snapshots/restore points.
    You will see something like this for each one (there will probably be several):

Contents of shadow copy set ID: {c5111e61-e4c7-4002-ae05-242c2de7edcb}
Contained 1 shadow copies at creation time: 10/7/2007 8:02:28 AM
Shadow Copy ID: {480901f9-e18f-47de-bb3d-8f7e743bd67a}
Original Volume: (C:)\?\Volume{21bf0713-c7ac-11db-b946-806e6f6e6963}
Shadow Copy Volume: \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3
Originating Machine: VMWareVista
Service Machine: VMWareVista
Provider: 'Microsoft Software Shadow Copy provider 1.0'
Type: ClientAccessibleWriters
Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered

  1. Now, copy/paste the " \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3" (the number at the tail end will vary) into the Location pathbar. You will see a snapshot of your drive, it will look something like the attached screenshot.

  2. You can now use drag and drop to copy any file or folder, including files that are opened exclusively. This includes any database files, system files, .PST files etc. The volume is read only, you cannot change or delete anything. This is how the backup programs do it, except they create their own snapshots. Note that files and folders in snapshots are subject to the same permission levels as the original volume. You cannot bypass permissions with snapshots.

You can see how much storage space is available for snapshots (restore points) with the command "vssadmin list shadowstorage", and you can change it with the "vssadmin Resize ShadowStorage". Do not run the last command without parameters or it will make available storage space "unbounded".

If you do any programming, you can write a program to create your own snapshots and then "expose" them (Microsoft's term, not mine), as a drive letter, a directory(must be empty), or a share. The system snapshots (restore points) cannot be exposed (this is denoted by the attribute "Client-accessible"). They can be accessed, however, with D.O. An advantage of creating your own is not only the ability to expose them but they can be permanent. When the allocated storage for snapshots fills up, the system will overlay older ones with new ones (I don't think it will overlay any snapshots it did not make, however.. like mine).
I have created (a work in progress) a program that uses VSS to back up stuff (including the complete OS). Along the way, I can now create and expose snapshots. I can also search through all existing snapshots looking for a particular file or folder. I can create a snapshot when I want to back stuff up, then delete the snapshot. The API's are in the VS2005 SDK.
.
Sorry if this is off topic or old hat but I thought some of you all might be interested.

Perhaps D.O. should offer a function to create a snapshot and mount it so as to back stuff up. Something for Jon to do in all that spare time. :slight_smile:

--
Lou
Warning: I have an attitude and I know how to use it!


If you open the Properties of a folder and go to the Previous Versions tab then you can choose a date and click Open to open it in an Opus lister. All that really does is send you to a special path such as

\localhost\C$@GMT-2007.10.08-21.10.48\Users\Leo\Desktop

but without you having to know or type the path yourself.

That acts like a real path and you can copy files out of it to wherever you want. Back in the Properties dialog there's also a Copy... button which allows you to copy that version of the directory to somewhere else. You can also browse into subdirectories and parent directories within the snapshot.

I'm not sure if this does exactly the same thing as what you're describing but it seems a lot easier.