This project is read-only.

Access shadow copies

Jul 23, 2012 at 3:07 PM

Hello,

My application needs to get some files from windows shadow copies. It's not required to save any data or write anything at all, all I need is just read the files in shadow copy. When I try to access files via \\?\GLOBALROOT\Device\ path I get .NET exception saying "Paths that begin with \\?\GlobalRoot are internal to the kernel and should not be opened by managed applications."

Is it possible to read the data in shadow copies with alpha VSS? I checked the documentation of AlphaVSS and couldn't find any reading functions.

Thanks in advance.

Jul 23, 2012 at 4:36 PM
Edited Jul 23, 2012 at 4:36 PM

Looks like I found QuerySnapshots function.

I think there are no further questions, but any additional information like samples is appreciated.

Jul 23, 2012 at 10:02 PM

Hi,

Use the AlphaFS (http://alphafs.codeplex.com/) library. It provides you with all the functions you need.

With regards,

- Peter

Jul 24, 2012 at 7:54 AM

Thanks. Looks like this is exactly what I need.

Jul 24, 2012 at 8:47 AM
Edited Jul 24, 2012 at 8:54 AM

Hi again.

I'm trying Alpha FS right now and it perfectly reads shadow copies using function call

Alphaleonis.Win32.Filesystem.Directory.GetFiles(@"\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\")

but the problem is I don't really know the path to my shadow copy. I took this information from VSSADMIN command line tool, but couldn't find such method in AlphaFS. If I understand right in order to access shadow copies I need both AlphaVSS and AlphaFS. Is that right?

Jul 24, 2012 at 12:33 PM

Hi,

Please look at the source file VssBackup.cs from the VssBackup example. AlphaVSS and AlphaFS can work together, yes.

- Peter