Как я могу программно проверить, подвержен ли диск функции восстановления системы в Windows?

Как видно из заголовка, мне нужен программный способ выяснить, подлежит ли конкретный диск восстановлению системы в Windows. Вы можете увидеть эту информацию в Control Panel/System/System protection Вкладка.

Я разрабатываю связанное с безопасностью приложение для Windows, и очень важно, чтобы некоторые его внутренние файлы присутствовали строго в единственном экземпляре. Я хотел бы предотвратить непреднамеренное копирование / резервное копирование этих файлов Windows. Или, по крайней мере, предупредить пользователя о последующей угрозе безопасности.

Я знаю о HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToBackup но это не решает проблему, поскольку используется только на этапе восстановления, а содержимое файла все еще присутствует в резервном хранилище.

Существует также HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore, но он не содержит информацию о предметных дисках, по крайней мере, я не вижу ее.

Любые подсказки очень ценятся.

1 ответ

Решение

Восстановление системы осуществляется через API Volume Shadow Copy.

Вам необходимо вызвать метод QueryVolumesSupportedForDiffAreas, и внутри возвращенного объекта IVssEnumMgmtObject будет структура VSS_DIFF_VOLUME_PROP, которая сообщит вам, зарезервирована ли какая-либо область хранения в параметре m_llVolumeTotalSpace.

В качестве альтернативы вы можете проанализировать вывод vssadmin list shadowstorage команда или ее эквивалент в Powershell/WMI, исследуя Get-CimClass -ClassName *shadow команда. Эти команды соответствуют wmiobjects и wmi api, которые могут быть проще в использовании и более доступными в зависимости от вашего фона и среды программирования.


Также рассмотрите возможность использования FilesNotToSnapshot вместо FilesNotToBackup, Это тот, который используется для восстановления VSS / системы. Вам следует прочитать этот документ об его использовании, а также API, который позволяет исключать файлы, и обратить особое внимание на случаи, когда он может работать не так, как вы предполагали.

Другие вопросы по тегам