Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
VBS

Создание точки восстановления диска D

09.05.2025, 15:57. Показов 2994. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Есть программы и скрипты для создания точек восстановления, но все они создают только для диска С.
Мне нужен скрипт для создания точки восстановления диска D.

Ниже я вставлю скрипт которым я создаю точки восстановления для диска С, возможно его можно подправить или использовать как образец. И желательно ( но не обязательно, если это хлопотно ) что бы он включал создание точки восстановления т.к по умолчанию в системе отключено и уже совсем бы было идеально, чтобы в нём была возможность указать объём резервируемого пространства.

P.S
Я часто пользуюсь точками восстановления, которые открываю с помощью программы и нахожу нужные файлы если случайно или намеренно их удалил. А вот сегодня случилась неприятная ситуация, внешний диск на котором я сохранял резервные копии вышел из строя, а нужные файлы с рабочего диска я удалил, и если бы была создана точка восстановления, я бы спокойно восстановил их.

Скрипт которым я пользуюсь
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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 10") Then
            GetOS = "Windows 8"
        elseIf instr(objOS.Caption, "Windows 7") Then
            GetOS = "Windows 7"    
        elseIf instr(objOS.Caption, "Vista") Then
            GetOS = "Windows Vista"
        elseIf instr(objOS.Caption, "Windows XP") Then
            GetOS = "Windows XP"
        End If
    Next
End Function
 
If GetOS = "Windows XP" Then
    CreateSRP
End If
 
If GetOS = "Windows Vista" Or GetOS = "Windows 7" Then
    If WScript.Arguments.length =0 Then
        Set objShell = CreateObject("Shell.Application")
        objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " Run", , "runas", 1
    Else
        CreateSRP
    End If
End If
 
If GetOS = "Windows 8" Then
    If WScript.Arguments.length =0 Then
        Set objShell = CreateObject("Shell.Application")
        objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " Run", , "runas", 1 
         Else  
               const HKEY_LOCAL_MACHINE = &H80000002
               strComputer = "."
               Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
               strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore"
               strValueName = "SystemRestorePointCreationFrequency"
               oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,0      
        CreateSRP  
    End If
End If
 
Sub CreateSRP
    Set SRP = getobject("winmgmts:\\.\root\default:Systemrestore")
    sDesc = "Создал   Администратор ПК"
    If Trim(sDesc) <> "" Then
        sOut = SRP.createrestorepoint (sDesc, 0, 100)
        If sOut <> 0 Then
            WScript.echo "Error " & sOut & ": Не удалось создать точку восстановления"
                else 
                MsgBox "      Точка восстановления системы  -  создана", 0, ""
        End If
    End If
End Sub


Команда для включения создания точек на системном диске.
Поправьте её пожалуйста для включения создания точек на диске D.
PowerShell.exe -command "Enable-ComputerRestore -Drive %SystemDrive%"

Команда для создания нужного объёма зарезервированного хранилища.
Может пригодиться.
Bash
1
VSSAdmin Resize ShadowStorage /For=%driv%: /On=%driv%: /MaxSize=%siz%GB
Kоманда для выбора диска для которого нужно задать размер хранилища.
Bash
1
WMIC /Namespace:\\root\default Path SystemRestore Call Enable Drive='%driv%'
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.05.2025, 15:57
Ответы с готовыми решениями:

Создание точки восстановления через cmd/bat
Есть ли возможность создать точку восстановления Windows (Windows 7 SP1 x64) через cmd/bat?

Полное копирование жёсткого диска для последующего восстановления
Здравствуйте. У меня имеется древний ноутбук с установленной на нём лицензионной (ключ...

Файл точки восстановления
Добрый день! Подскажите, пожалуйста, по какому пути находится файл точки восстановления?

17
5968 / 4544 / 1094
Регистрация: 29.08.2013
Сообщений: 28,164
Записей в блоге: 3
09.05.2025, 16:44
точка восстановления это разве не слепок системы на момент?
именно системы

может тебе нужен просто бэкап диска\раздела?
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
09.05.2025, 18:35  [ТС]
qwertehok, Не только системы но и дисков.

0
3559 / 1767 / 166
Регистрация: 27.02.2021
Сообщений: 8,629
09.05.2025, 20:57
Цитата Сообщение от BKPB Посмотреть сообщение
но и дисков
Диски только бэкапить, точки восстановления из другой оперы, они даже не бэкап, а предыдущие драйвера и предыдущий реестр именно системы. Точки восстановления, имхо, ни о чём... поймаешь вирус и он их уничтожит в первую очередь не оставив ни одной.
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
09.05.2025, 22:09  [ТС]
vladj2007, я согласен с вами, но я не однократно восстанавливал файлы которые находились на Рабочем столе на момент создания точки. Я специально добавил скрипт, возможно его не сложно изменить. Мне необходимо, что бы это был именно VBS скрипт.
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,748
10.05.2025, 01:40
Цитата Сообщение от BKPB Посмотреть сообщение
Скрипт которым я пользуюсь
Знакомая телега..
Вы вручную (control.exe sysdm.cpl,,4) не хотите диск включить?
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
10.05.2025, 09:40  [ТС]
Вручную я конечно знаю как включить и как размер установить.

Но дело в том, что я делаю это для диска С при помощи SetupComplete.cmd.
И в ручную могу.

Спасибо за ссылку сейчас гляну.

Ситуация изменилась. Не знаю в чём причина, но сегодня запуская свой скрипт, увидел что он создаёт сразу две точки и для диска С и для D.
А вчера создавал только для С.
Возможно я что то вчера изменил своими экспериментами, но скорее всего это делает сама система.

Добавлено через 4 часа 4 минуты
Тема закрыта, вопрос решился сам собой.
Всем спасибо.
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,748
10.05.2025, 11:04
Цитата Сообщение от BKPB Посмотреть сообщение
Спасибо за ссылку сейчас гляну.
Советую вместо этого "изделия" использовать мой оптимизированный код.

Цитата Сообщение от BKPB Посмотреть сообщение
А вчера создавал только для С.
Может, как раз D: и был отключен?
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
10.05.2025, 11:42  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Знакомая телега
Вы имеете ввиду его ?

Добавлено через 12 минут
Цитата Сообщение от FlasherX Посмотреть сообщение
Может, как раз D: и был отключен?
Нет, создание точки на диске D включено.
Если смотреть стандартными средствами Windows то отображается одна точка, а если через утилиту Shadow Copy View, то видно что создаются на обоих дисках. Единственное не пойму почему в это приложении даже после удаления всех точек, при создании новой счётчик продолжает увеличиваться, возможно это записывается где то в реестре.


Выяснилась, что если не включено создание точек для диска С,
то невозможно включить создание точек для других дисков, так как пункт включить для них неактивен.

Использовал Ваш скрипт.
Появилось две просьбы.
Сделайте пожалуйста так, как на скриншоте.
1. Убрать создание даты рядом с названием точки
2. Убрать иконку в заголовке окна, как у других окон.
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,748
10.05.2025, 12:20
Цитата Сообщение от BKPB Посмотреть сообщение
Вы имеете ввиду его ?
Первый пост не мой. Мой по ссылке под ним, отмечен решением.

Цитата Сообщение от BKPB Посмотреть сообщение
Нет, создание точки на диске D включено.
Включено и было включено — это немного разные сущности.

Цитата Сообщение от BKPB Посмотреть сообщение
возможно это записывается где то в реестре.
Не думаю. Логи пушутся в подпапках System Volume Information.
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
10.05.2025, 13:06  [ТС]
Использовал Ваш скрипт.
Появилось две просьбы.
Сделайте пожалуйста так, как на скриншоте.
1. Убрать создание даты рядом с названием точки
2. Убрать иконку в заголовке окна, как у других окон.
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
10.05.2025, 17:59  [ТС]
Чисто из спортивного интереса, такое уведомление возможно реализовать с помощью VBS ?
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,748
10.05.2025, 19:23
Цитата Сообщение от BKPB Посмотреть сообщение
Использовал Ваш скрипт.
Вы не тот скрипт взяли. Речь про ссылку сразу под постом слева — Сообщение: #17485022, а не следующую из другой темы, которая ничем НЕ отмечена.

Цитата Сообщение от BKPB Посмотреть сообщение
такое уведомление возможно реализовать с помощью VBS ?
Видео скрыто автором.
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
10.05.2025, 20:23  [ТС]


Добавлено через 11 минут
Цитата Сообщение от FlasherX Посмотреть сообщение
Вы не тот скрипт взяли. Речь про ссылку сразу под постом слева — Сообщение: #17485022, а не следующую из другой темы, которая ничем НЕ отмечена.
Вы можете вставить ваш скрипт в сообщение, я уже устал искать.
Вбиваю в поиск #17485022, он перенаправляет меня сюда же.
Я бываю на форумах по крайней необходимости, и не могу ориентироваться как Вы.

Цитата Сообщение от FlasherX Посмотреть сообщение
Видео скрыто автором.
Чисто из спортивного интереса, такое уведомление возможно реализовать с помощью VBS ?


RuTube, это реально жалкое подобие YouTube.
Я не понимаю, в чём дело, видео для всех в открытом доступе.

В этом видео я записал как в простенькой программе при нажатии кнопки Очистить, выполняется команда и всплывает системное уведомление .
Миниатюры
Создание точки восстановления диска D  
Вложения
Тип файла: mp4 Пример.mp4 (204.8 Кб, 5 просмотров)
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,748
10.05.2025, 21:11
Цитата Сообщение от BKPB Посмотреть сообщение
Вы можете вставить ваш скрипт в сообщение, я уже устал искать.
Нет. Весь поиск на странице занимает до 2 секунд.

Цитата Сообщение от BKPB Посмотреть сообщение
Вбиваю в поиск #17485022, он перенаправляет меня сюда же.
В какой "поиск"? И куда "сюда же"? Какие вообще могут быть трудности с тем, чтобы посмотреть на левую ссылку под первым постом?


Цитата Сообщение от BKPB Посмотреть сообщение
и всплывает системное уведомление
Вот и написали бы это сразу вместо этих свистоплясок с видеохостингами. Можно сделать так. Хотя можно нарисовать совсем близко, но для этого понадобится WSO.
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
11.05.2025, 11:03  [ТС]
FlasherX, спасибо за картинку. Этот у меня есть.

Цитата Сообщение от FlasherX Посмотреть сообщение
Весь поиск на странице занимает до 2 секунд.
, он занимает 2 секунды когда знаешь где искать. Изначально я там смотрел но пролистав вначале эту страницу я не увидел таких номеров ни где и уже в другой теме я там не смотрел.

Спасибо за разъяснения и терпение.

Добавлено через 47 минут
Ещё раз спрошу т.к Вы не ответили по поводу

Цитата Сообщение от BKPB Посмотреть сообщение
Использовал Ваш скрипт.
Появилось две просьбы.
Сделайте пожалуйста так, как на скриншоте.
1. Убрать создание даты рядом с названием точки
2. Убрать иконку в заголовке окна, как у других окон.

Сможете это подправить.
Миниатюры
Создание точки восстановления диска D  
0
6977 / 2869 / 1102
Регистрация: 06.06.2017
Сообщений: 9,748
11.05.2025, 13:51
Цитата Сообщение от BKPB Посмотреть сообщение
т.к Вы не ответили по поводу
Зачем мне отвечать на то, что ни в какой части не связано с указанным мной скриптом?
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 269
12.05.2025, 17:46  [ТС]
Итог по собственному вопросу.
Так как мой вопрос интересует только меня, решил тему закрыть.
Продолжу копаться потихоньку сам.

То, что сделал, выкладываю, возможно кому то пригодятся.
Скрипты на одной основе.
Оба "включают" в настройках системы создание точки восстановления, если это было отключено.
Во первых это удобно, во вторых исключает появления сообщения, что не удалось создать точку восстановления т.к служба не запущена,
и подают звуковой сигнал по завершении, но без отображения окна с сообщением о том, что точка успешно создана.
Так как делал для себя решил не выводить это сообщение, т.к звукового оповещения достаточно и не требуется тратить время на закрытие окна.
Один скрипт с запросом ввести имя для создаваемой точки.
Другой с уже прописанным именем для создаваемой точки.

Скрипт с запросом ввести имя для создаваемой точки
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
         CreateSRP
End If
 
Sub CreateSRP
 
Set SRP = getobject("winmgmts:\\.\root\default:Systemrestore")
SRP.Enable("")
 
With CreateObject("htmlfile")
   Y = 96/.Parentwindow.Screen.deviceYDpi
   Y = 15*Y*(.Parentwindow.Screen.Height-188*Y)/2
End With
 
sDesc = ""
sDesc = Trim(InputBox(String(5, vbCr) & "Введите название точки восстановления:", " " & Title,,, Y))
If Trim(sDesc) <> "" Then
sOut = SRP.createrestorepoint (sDesc, 0, 100)
 
If sOut <> 0 Then
         WScript.echo "Error " & sOut & _
         ": Невозможно создать точку восстановления системы"
    Else
Set oV = CreateObject("SAPI.SpVoice")
Set oFS = CreateObject("SAPI.SpFileStream")
oFS.Open "C:\Windows\Media\Windows Unlock.wav"
oV.SpeakStream oFS
oFS.Close
 
End If
End If
End Sub


Скрипт с уже прописанным именем для создаваемой точки
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
         CreateSRP
End If
 
Sub CreateSRP
 
Set SRP = getobject("winmgmts:\\.\root\default:Systemrestore")
SRP.Enable("")
sDesc = "Чистая настроенная Система"
If Trim(sDesc) <> "" Then
sOut = SRP.createrestorepoint (sDesc, 0, 100)
If sOut <> 0 Then
         WScript.echo "Error " & sOut & _
         ": Невозможно создать точку восстановления системы"
    Else
Set oV = CreateObject("SAPI.SpVoice")
Set oFS = CreateObject("SAPI.SpFileStream")
oFS.Open "C:\Windows\Media\Windows Unlock.wav"
oV.SpeakStream oFS
oFS.Close 
 
End If
End If
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2025, 17:46
Помогаю со студенческими работами здесь

Как включить защиту системы (точки восстановления) через bat?
Всем привет. Нашёл, как создать точку восстановления через wmic, но иногда точки выключены. ...

Определить букву диска, зная метку тома для этого диска
Скопировать фаил на флэшку опираясь только на метку тома. Извечная проблема: смена буквы при...

В чём разница между обычным подключением сетевого диска и подключением сетевого диска при помощи политик?
Вопрос начинающего. В чём разница между обычным подключением сетевого диска и подключением сетевого...

Восстановление акронисом диска С после изменения размеров логических дисков
Были установлены Виндовз ХР с программами. После этого Акронисом была сделана копия для...

Загрузочная дискета для восстановления файлов с hdd
Собственно суть проблемы. есть сервер, на нем слитела винда. на сервере стоит reid какой то не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru