Shadow Copies Scripts
Creating a Shadow CopyCreating a Shadow Copy Storage Area
Deleting All Shadow Copies on a Computer
Deleting All Shadow Copy Storage Areas
Enumerating All Shadow Copies on a Computer
Enumerating All Shadow Copy Storage Areas on a Computer
Enumerating Shadow Copy Providers
Modifying a Shadow Copy Storage Area
Retrieving Shadow Copy Settings
Creating a Shadow Copy
Creates a client-accessible shadow copy of drive C.
Const VOLUME = "C:\" Const CONTEXT = "ClientAccessible" strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set objShadowStorage = objWMIService.Get("Win32_ShadowCopy") errResult = objShadowStorage.Create(VOLUME, CONTEXT, strShadowID)
Creating a Shadow Copy Storage Area
Creates a shadow copy storage area -- on drive E -- for storing shadow copies of drive C. This script reserves 130,023,424 bytes of storage space for the shadow copies.
Const VOLUME = "C:\" Const DIFFERENTIAL_VOLUME = "E:\" Const MAXIMUM_SPACE = 130023424 strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set objShadowStorage = objWMIService.Get("Win32_ShadowStorage") errResult = objShadowStorage.Create(VOLUME, DIFFERENTIAL_VOLUME, MAXIMUM_SPACE)
Deleting All Shadow Copies on a Computer
Deletes all the shadow copies stored on a server.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * From Win32_ShadowCopy") For Each objItem in colItems objItem.Delete_ Next
Deleting All Shadow Copy Storage Areas
Deletes all the shadow copy storage areas on a computer.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * From Win32_ShadowStorage") For Each objItem in colItems objItem.Delete_ Next
Enumerating All Shadow Copies on a Computer
Enumerates the properties of all the shadow copies stored on a server.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ShadowCopy") For Each objItem in colItems Wscript.Echo "ID: " & objItem.ID Wscript.Echo "Client accessible: " & objItem.ClientAccessible Wscript.Echo "Count: " & objItem.Count Wscript.Echo "Device object: " & objItem.DeviceObject Wscript.Echo "Differnetial: " & objItem.Differential Wscript.Echo "Exposed locally: " & objItem.ExposedLocally Wscript.Echo "Exposed name: " & objItem.ExposedName Wscript.Echo "Exposed remotely: " & objItem.ExposedRemotely Wscript.Echo "Hardware assisted: " & objItem.HardwareAssisted Wscript.Echo "Imported: " & objItem.Imported Wscript.Echo "No auto release: " & objItem.NoAutoRelease Wscript.Echo "Not surfaced: " & objItem.NotSurfaced Wscript.Echo "No writers: " & objItem.NoWriters Wscript.Echo "Originating machine: " & objItem.OriginatingMachine Wscript.Echo "Persistent: " & objItem.Persistent Wscript.Echo "Plex: " & objItem.Plex Wscript.Echo "Provider ID: " & objItem.ProviderID Wscript.Echo "Service machine: " & objItem.ServiceMachine Wscript.Echo "Set ID: " & objItem.SetID Wscript.Echo "State: " & objItem.State Wscript.Echo "Transportable: " & objItem.Transportable Wscript.Echo "Volume name: " & objItem.VolumeName Wscript.Echo Next
Enumerating All Shadow Copy Storage Areas on a Computer
Retrieves a list of all the shadow copy storage areas on a computer, as well as the properties of each storage area.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ShadowStorage") For Each objItem in colItems Wscript.Echo "Volume: " & objItem.Volume Wscript.Echo "Allocated space: " & objItem.AllocatedSpace Wscript.Echo "Differential volume: " & objItem.DiffVolume Wscript.Echo "Maximum space: " & objItem.MaxSpace Wscript.Echo "Used space: " & objItem.UsedSpace Wscript.Echo Next
Enumerating Shadow Copy Providers
Returns the properties of all the shadow copy providers installed on a computer. For most computers, there will be only the default shadow copy provider included with the operating system.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ShadowProvider") For Each objItem in colItems Wscript.Echo "Name: " & objItem.Name Wscript.Echo "CLSID: " & objItem.CLSID Wscript.Echo "ID: " & objItem.ID Wscript.Echo "Type: " & objItem.Type Wscript.Echo "Version: " & objItem.Version Wscript.Echo "Version ID: " & objItem.VersionID Wscript.Echo Next
Modifying a Shadow Copy Storage Area
Modifies all the shadow copy storage areas on a computer, setting the maximum amount of reserved space to 500,000,000 bytes.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ShadowStorage") For Each objItem in colItems objItem.MaxSpace = 500000000 objItem.Put_ Next
Retrieving Shadow Copy Settings
Retrieves the shadow copy settings configured on a computer.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ShadowContext") For Each objItem in colItems Wscript.Echo "Name: " & objItem.Name Wscript.Echo "Client accessible: " & objItem.ClientAccessible Wscript.Echo "Differential: " & objItem.Differential Wscript.Echo "Exposed locally: " & objItem.ExposedLocally Wscript.Echo "Exposed remotely: " & objItem.ExposedRemotely Wscript.Echo "Hardware assisted: " & objItem.HardwareAssisted Wscript.Echo "Imported: " & objItem.Imported Wscript.Echo "No auto release: " & objItem.NoAutoRelease Wscript.Echo "Not surfaced: " & objItem.NotSurfaced Wscript.Echo "No writers: " & objItem.NoWriters Wscript.Echo "Persistent: " & objItem.Persistent Wscript.Echo "Plex: " & objItem.Plex Wscript.Echo "Transportable: " & objItem.Transportable Wscript.Echo Next