Shadow Copy Scripting
Create a Shadow Copy Storage AreaDelete All Shadow Copies on a Computer
Delete All Shadow Copy Storage Areas
List All Shadow Copies on a Computer
List All Shadow Copy Providers
List All Shadow Copy Storage Areas on a Computer
List Shadow Copy Settings
Modify a Shadow Copy Storage Area
Create a Shadow Copy
You can use any of the VBScript programs below in ActiveXperts Network Monitor. Click here for an explanation about how to include scripts in ActiveXperts Network Monitor.
Create 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:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set objShadowStorage = objWMIService.Get("Win32_ShadowStorage") errResult = objShadowStorage.Create(VOLUME, DIFFERENTIAL_VOLUME, MAXIMUM_SPACE)
Delete All Shadow Copies on a Computer
Deletes all the shadow copies stored on a server.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") ) Set colItems = objWMIService.ExecQuery("Select * From Win32_ShadowCopy") For Each objItem in colItems objItem.Delete_ Next
Delete All Shadow Copy Storage Areas
Deletes all the shadow copy storage areas on a computer.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * From Win32_ShadowStorage") For Each objItem in colItems objItem.Delete_ Next
List All Shadow Copies on a Computer
Enumerates the properties of all the shadow copies stored on a server.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & 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 "Differential: " & 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
List All 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:" _ & "{impersonationLevel=impersonate}!\\" & 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
List 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:" _ & "{impersonationLevel=impersonate}!\\" & 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
List Shadow Copy Settings
Retrieves the shadow copy settings configured on a computer.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & 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
Modify 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:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ShadowStorage") For Each objItem in colItems objItem.MaxSpace = 500000000 objItem.Put_ Next
Create a Shadow Copy
Creates a client-accessible shadow copy for drive C.
Const VOLUME = "C:\" Const CONTEXT = "ClientAccessible" strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set objShadowStorage = objWMIService.Get("Win32_ShadowCopy") errResult = objShadowStorage.Create(VOLUME, CONTEXT, strShadowID)