Подтвердить что ты не робот

Создание теневой копии с использованием контекста "Резервное копирование" в PowerShell

Я нахожусь в процессе написания сценария PowerShell для резервного копирования компьютера Windows с помощью rsync. С этой целью я пытаюсь использовать WMI из указанного сценария для создания непостоянной теневой копии с участием автора (как, очевидно, рекомендуется для резервного копирования).

Из другого вопроса я нашел (Доступ к снимкам теневого копирования томов (VSS) из powershell) способ создания теневой копии в целом, но в приведенном там примере в качестве параметра контекста используется ClientAccessible), в результате чего в создании постоянного теневого копирования без участия автора.

При поиске решения я обнаружил, что могу использовать следующую команду для получения списка контекстов, который, как я полагаю, понят WMI:

Get-WmiObject win32_shadowcontext | Out-GridView

Это список имеет контекст с именем "Резервное копирование", что удобно для меня. Я попытался создать непостоянную теневую копию, используя этот контекст:

$shadow = (Get-WmiObject -list win32_shadowcopy).Create("C:\", "Backup")

Однако, похоже, это не помогло, и для содержимого переменной $ shadow установлено значение

ReturnValue      : 5
ShadowID         : {00000000-0000-0000-0000-000000000000}

Согласно соответствующей документации (метод Create класса Win32_ShadowCopy) возвращаемое значение означает "Неподдерживаемый контекст теневого копирования".

Я не смог найти какой-либо соответствующей документации относительно того, почему этот контекст не поддерживается или можно ли вообще его использовать. Я также безуспешно пробовал контексты "FileShareBackup" и "AppRollback".

Я предполагаю, что я либо упускаю что-то очевидное, либо что по какой-то причине WMI действительно не поддерживает ничего, кроме "clientAccessible" при создании теневых копий, или что это зависит от ОС (я тестирую это в Windows 7, 64-битная версия)

Как я могу заставить это работать?

4b9b3361

Ответ 1

Ваш $shadow имеет возвращаемое значение 5, глядя на сообщение об ошибке, у вашего теневого идентификатора есть все нули, вам нужно будет добавить 1 или 2 в конец теневой копии тома в реестре, используя двоичный код или двойное слово.

найдите папку в реестре с именем volsnap в вашем поиске regedit.volsnap.sys находится в каталоге C:\Windows\System32\drivers. Размер файла составляет 52 352 байта. Файл volsnap содержит цифровую подпись Microsoft, убедитесь, что это правильные байты.

Это подтверждает его подлинность. volsnap.sys представляется файлом, сжатым с помощью EXE-упаковщика. Этот метод часто используется троянскими программами для сохранения небольшого размера файла, а также затрудняет отладку.

Однако это само по себе не является достаточным основанием для предположения злонамеренных действий, поскольку даже профессиональные производители программного обеспечения с благими намерениями используют сжатые файлы. По этой причине 2% всех экспертов считают этот файл возможной угрозой. Вероятность того, что это может причинить вред, высока. Пожалуйста, рассмотрите дополнительные комментарии от других пользователей.

  shadow id          default 
                        00000000-0000-0000-0000-000000000000
                        00000000-0000-0000-0000-000000000005

если у него уже есть 5, которое, вероятно, не меняет его на 1

или создайте новый код

Shadow id           $shadow 00000000-0000-0000-0000-0000000000001

не совсем так, как показано. Возможно, вам придется попробовать другую формулировку. Я не уверен, сработает ли $, если нет, попробуйте автономную версию js.