Найти тему
Уловка-32

Как восстановить Windows с помощью PowerShell

Оглавление
Управление восстановлением системы с помощью PowerShell / Дзен.Уловка-32
Управление восстановлением системы с помощью PowerShell / Дзен.Уловка-32

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

Небольшая статья для тех, кто так же как и я не стал поклонником графического интерфейса утилиты «Восстановление Windows», которая совершив уникально долгий путь из старых версий операционных систем, в новой W11 выглядит, по меньшей мере, нелепо, хотя является важным инструментом в арсенале пользователя и поныне.

🔗 Непобедимые 2% или Камень преткновения для Microsoft

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

✏️ПРИМЕЧАНИЕ: Командлет, это не командир 🧑‍✈️ летательного аппарата🛩️, а собственная команда PowerShell, которая не выносится в отдельные исполняемые файлы. Командлеты группируются в модули PowerShell, которые можно загружать по требованию. Командлеты могут быть написаны на любом компилируемом языке .NET или на собственном языке скриптов PowerShell.

Как можно использовать PowerShel для восстановления системы

Для инициализации процессов, которые служба восстановления системы активирует в результате того или иного действия в PowerShel есть несколько полезных командлетов.

  • Enable-ComputerRestore или Disable-ComputerRestore — включает или отключает защиту диска.
  • Checkpoint-Computer — создаёт новую точку восстановления.
  • Get-ComputerRestorePoint — отображает все доступные точки восстановления.
  • Restore-Computer — указывает программе восстановления системы выполнить откат к определенной точке восстановления.

Включение и отключение восстановления системы

Включение и отключение восстановления системы с помощью PowerShell / Дзен.Уловка-32
Включение и отключение восстановления системы с помощью PowerShell / Дзен.Уловка-32

Командлеты Enable-ComputerRestore и Disable-ComputerRestore позволяют выбрать диски для защиты с помощью восстановления системы. Синтаксис прост, но точен: разделенный запятыми список поддерживаемых дисков, например:

Enable-ComputerRestore "C:\", "D:\"

⚠️ Командлет Enable-ComputerRestore включает защиту дисков «С» и «D», но не задаёт размер хранилища данных для точек восстановления.

Просмотр доступных точек восстановления в PowerShell

Просмотр доступных точек восстановления в PowerShell / Дзен.Уловка-32
Просмотр доступных точек восстановления в PowerShell / Дзен.Уловка-32

Перед откатом системы для решения проблемы с плохо работающей Windows необходимо знать, к каким точкам восстановления можно выполнить возврат. Для этого есть командлет Get-ComputerRestorePoint, который выведет на экран все доступные точки

Get-ComputerRestorePoint

Важными данными, которые можно получить из этого списка, является значение SequenceNumber — именно так вы определите желаемую точку восстановления restore-Computer.

Как узнать состояние предыдущей операции восстановления в PowerShell

Как узнать состояние предыдущей операции восстановления в PowerShell / Дзен.Уловка-32
Как узнать состояние предыдущей операции восстановления в PowerShell / Дзен.Уловка-32

Get-ComputerRestorePoint в качестве альтернативы покажет окончательное состояние предыдущей операции восстановления системы с параметром -LastStatus, например:

Get-ComputerRestorePoint -LastStatus

Ответом станет текстовое сообщение, например Если компьютер не был восстановлен из-за сбоя.

Как выполнить откат системы в PowerShell

Как выполнить откат системы в PowerShell / Дзен.Уловка-32
Как выполнить откат системы в PowerShell / Дзен.Уловка-32

Найдя нужную точку восстановления, выполните откат компьютера к ней с помощью:

Restore-Computer -RestorePoint <sequencenumber>

Например, чтобы выполнить откат к последней точке восстановления на примере моего компьютера, я бы ввел:

Restore-Computer -RestorePoint 12

Кроме того, если вы уверены, что хотите выполнить восстановление до последней точки восстановления, вы можете объединить Get-ComputerRestorePoint и Restore-Computer, например:

Restore-Computer -RestorePoint (Get-ComputerRestorePoint)[-1].sequencenumber

После нажатия клавиши «Enter» этот командлет начнёт возврат системы к последней точке восстановления.

⚠️ Обратите внимание, что Restore-Computer не будет спрашивать вас перед продолжением, а просто начнёт процедуру отката. Если вам нужен запрос на подтверждение действия, добавьте в командлет
-c
onfirm

-6
Restore-Computer -RestorePoint (Get-ComputerRestorePoint)[-1].sequencenumber -confirm

Создание новой точки восстановления системы

Создание новой точки восстановления системы с помощью PowerShell / Дзен.Уловка-32
Создание новой точки восстановления системы с помощью PowerShell / Дзен.Уловка-32

Наконец, иногда пользователю нужно программно заставить службу восстановления системы создать новую точку. Например, «юзер» решил установить новый драйвер или задумал обновление Windows.

Сделать это можно, запустив Checkpoint-Computer, а затем пробел и описательное имя точки восстановления в кавычках, например:

Checkpoint-Computer "GPU-driver-installation-20230129"
-8

Если вам понравилась статья поставьте лайк 👍

➕ Подпишитесь на мой канал, чтобы оперативно узнавать о новых секретах и уловках в Windows.