Показать полную графическую версию : [решено] Скрипт Восстановление системы
Ребят нужен скрипт для восстановления системы на последнюю имеющуюся точку, без вопросов к пользователю. Т.е. запустил и он сам восстанавливает систему на вчерашнюю точку. Заранее благодарен. :)
Petya V4sechkin
17-03-2011, 12:48
Mik-ki, как-то так:
Dim LastRP
Set SRP = GetObject("winmgmts:\\.\root\default").InstancesOf("SystemRestore")
For Each objRP In SRP
LastRP = objRP.SequenceNumber
Next
If Not IsEmpty(LastRP) Then
GetObject("winmgmts:\\.\root\default:SystemRestore").Restore LastRP
Set OS = GetObject("winmgmts:{(Shutdown)}\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_OperatingSystem WHERE Primary = True")
For Each objOS In OS
objOS.Reboot
Next
End If
Решил добавить пару ссылок на работу с «SystemRestore» на будущее:
CMD/BAT: CMD/BAT - [решено] Создание контрольной точки восстановления (http://forum.oszone.net/thread-147589.html)
PowerShell: Vadims Podans's blog - SystemRestore и PowerShell (http://www.sysadmins.lv/PermaLink,guid,6b653dd4-47f2-41b2-b13e-284c1270acd8.aspx)
Включить восстановление системы только для системного диска. (.vbs)
Set wshShell = CreateObject("WScript.Shell")
Set wshEnv = wshShell.Environment("Process")
strSysDrive = wshEnv("SYSTEMDRIVE")
strComputer = "."
Set objSR = GetObject("winmgmts:\\" & strComputer & "\root\default").Get("SystemRestore")
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
For Each objDisk In objWMIService.ExecQuery("Select DeviceID From Win32_LogicalDisk Where DriveType = 3")
If objDisk.DeviceID <> strSysDrive Then objSR.Disable objDisk.DeviceID & "\"
Next
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.