В общем имеется такой скрипт и он отлично работает на WinXP, но на семёрке работать отказывается, увеличение задержки Sleep до 15000 ни к чему не привело
Код:

Set objSR = GetObject("winmgmts:\\.\root\default:SystemRestore")
dResult = objSR.Disable("")
WScript.Sleep 5000
eResult = objSR.Enable("")
WScript.Sleep 5000
Set wshEnv = CreateObject("WScript.Shell").Environment("Process")
sysDrive = wshEnv("SYSTEMDRIVE")
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
For Each objDisk In objWMI.ExecQuery("Select DeviceID From Win32_LogicalDisk Where DriveType = 3")
If objDisk.DeviceID <> sysDrive Then objSR.Disable objDisk.DeviceID & "\"
Next
Читал на майкрософтском сайте поддержки -
http://support.microsoft.com/kb/295299/ru но там для ХР только
Также не понятно почему контрольные точки не удаляются этой командой. Проверял на WinXP SP3 English установленной на виртуальную систему, может неправильно написано что-то?
Код:

wmic shadowcopy delete
В общем-то цель, получить скрипт работающий на ХР, висте, семёрке.
Очищающий все контрольные точки восстановления
Создающий одну контрольную точку после очистки.
Важно не нарушить политику наблюдения за дисками, например, пользователь ведёт наблюдение за двумя логическими дисками из трёх, пусть ведёт, задача в автоочистке и всё. Есть ли какие мысли или в каком направлении думать?