Войти

Показать полную графическую версию : [решено] Скрипт Восстановление системы


Mik-ki
17-03-2011, 01:24
Ребят нужен скрипт для восстановления системы на последнюю имеющуюся точку, без вопросов к пользователю. Т.е. запустил и он сам восстанавливает систему на вчерашнюю точку. Заранее благодарен. :)

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

Iska
17-03-2011, 20:19
Решил добавить пару ссылок на работу с «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)

sov44
17-03-2011, 20:42
Включить восстановление системы только для системного диска. (.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

Mik-ki
20-03-2011, 00:37
спс




© OSzone.net 2001-2012