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

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

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

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

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

Любые подсказки приветствуются.

1 Ответ

0 голосов
/ 12 января 2019

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

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

*.

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


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

...