Скрипт автоматичного створення точки відновлення системи при старті системи Windows 7

значення кошти Відновлення системи (SR, або System Restore) В операційних системах Windows важко переоцінити. На цю тему написано безліч статей, де докладно описані принцип і способи роботи з ним.
Багато користувачів успішно користуються цим засобом, проте знаходиться чимало і таких людей, які його відключають з різних причин (економія дискового простору, забобони по-поводу вірусів, які часто облюбовують для свого поселення папку System Volume Information).
Знайома ситуація, коли при виникненні будь-якої проблеми з працездатністю ОС запуск SR стає неможливим, або ж доступні контрольні точки відновлення для відкату на працездатну дату відсутні? Думаю багато хто з цим стикалися. Чому так відбувається - окрема тема для розмови, але погодьтеся, прикро, коли через подібного "сюприз" ми несподівано позбавляємося найпростішої можливості повернення до нормальної роботи комп'ютера.

У звичайних умовах контрольні точки створює сама система без втручання користувача. Це відбувається, наприклад, при установці нових програм, обладнання або оновлень для операційної системи. Але такі точки можна створити і самому. Для автоматизації цього дії (свого роду підстраховки для забудькуватих користувачів) і призначений даний скрипт.

Скрипт працює як у фоновому режимі без виведення повідомлень і вікон:
Показати / Приховати текстIf WScript.Arguments.Count = 0 Then
Set objShell = CreateObject ( "Shell.Application")
objShell.ShellExecute "wscript.exe", Chr (34) & WScript.ScriptFullName & Chr (34) & "Run",, "runas", 1
Else
GetObject ( "winmgmts: \\. \ Root \ default: Systemrestore"). CreateRestorePoint "Поточна Точка Відновлення", 0, 100
End If
так і з висновком вікна для введення найменування для точки відновлення:
Показати / Приховати текстIf GetOS = "Windows 7" Then
If WScript.Arguments.length = 0 Then
Set objShell = CreateObject ( "Shell.Application")
objShell.ShellExecute "wscript.exe", "" "" & _
WScript.ScriptFullName & "" "" & "uac", "", "runas", 1
Else
CreateSRP
End If
End If
Sub CreateSRP
msg = "Контрольна точка відновлення успішно створена." & vbCR
msg = msg & "" & vbCR
msg = msg & "Дата і час створення:" & Date & "" & Time
Set SRP = getobject ( "winmgmts: \\. \ Root \ default: Systemrestore")
sDesc = ""
sDesc = InputBox ( "Введіть опис для точки відновлення.", "Створення точки відновлення системи", "")
If Trim (sDesc) "" Then
sOut = SRP.createrestorepoint (sDesc, 0, 100)
If sOut 0 Then
WScript.echo "Error" & sOut & _
": Неможливо створити точку відновлення системи."
Else
MsgBox msg
End If
End If
End Sub
Function GetOS
Set objWMI = GetObject ( "winmgmts: impersonationLevel = impersonate! \\" & _
". \ Root \ cimv2")
Set colOS = objWMI.ExecQuery ( "Select * from Win32_OperatingSystem")
For Each objOS in colOS
If instr (objOS.Caption, "Windows 7") Then
GetOS = "Windows 7"
End If
Next
End Function
Для створення скрипта виконайте наступні дії:
Для створення скрипта виконайте наступні дії:
1) Треба скопіювати обраний Вами код в будь-який текстовий редактор (наприклад, Блокнот).
2) Натисніть CTRL + S (Файл -> Зберегти якщо використовуєте Блокнот) і збережіть файл з будь-яким ім'ям і розширенням .vbs у будь-якому місці
3) Якщо ви вибираєте тип файлу: Текстові файли, то ім'я файлу в лапки брати обов'язково. (Наприклад: "Crp.vbs")
4) Якщо ви вибираєте тип файлу: Всі файли, то ім'я файлу в лапки брати не треба.
5) Створіть ярлик для створеного Вами файлу скрипта в автозавантаження.
6) Утримуючи Alt перетяните іконку файлу скрипта в папку Автозавантаження в меню Пуск.
Тепер при кожному вході в систему скрипт буде автоматично запускатися, і створювати контрольну точку відновлення системи.
Щоб змінити періодичність створення контрольних точок відновлення зробіть наступне:
1) Запустіть Планувальник завдань. (Пуск -> Панель управління -> Адміністрування -> Планувальник завдань)
2) В дереві зліва відкрийте Бібліотека планувальника завдань -> Microsoft -> Windows -> SystemRestore
3) Клацніть правою кнопкою миші у верхньому середньому вікні на файл SR і виберіть Властивості.
4) У вікні, перейдіть на вкладку Тригери.
5) Натисніть Створити і задайте необхідні вам тимчасові параметри, або виберіть вже наявний тригер (Наприклад, Щодня) та натисніть Змінити. Для видалення створених тригерів виберіть його і натисніть Видалити.
6) Натисніть ОК для прийняття змін.
7) Перезавантажитеся