2

タイトルが示すように、特定のディスク ドライブが Windows のシステムの復元対象かどうかをプログラムで確認する方法が必要です。この情報はControl Panel/System/System protectionタブに表示されます。

私は Windows 用のセキュリティ関連のアプリを開発していますが、その内部ファイルの一部が 1 つのコピーに厳密に存在することが重要です。このファイルが Windows によって誤ってコピー/バックアップされるのを防ぎたいと思います。または、少なくとも、ユーザーにセキュリティ リスクが発生することを警告します。

のことは知って HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToBackupいますが、復元フェーズでのみ使用され、ファイルの内容がまだバックアップ ストレージに存在するため、問題は解決しません。

もありますがHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore、対象のディスクに関する情報は含まれていません。少なくとも私にはわかりません。

手がかりは大歓迎です。

4

1 に答える 1

1

システムの復元は、ボリューム シャドウ コピー APIによって管理されます。

QueryVolumesSupportedForDiffAreas メソッドを呼び出す必要があり、返された IVssEnumMgmtObject 内にVSS_DIFF_VOLUME_PROP構造体があり、m_llVolumeTotalSpace パラメータでストレージ領域が予約されているかどうかがわかります。

vssadmin list shadowstorageまたは、コマンドを調べて、コマンドの出力、または Powershell/WMI の同等の出力を解析することもできますGet-CimClass -ClassName *shadow。これらのコマンドは wmiobjects と wmi api に対応しており、バックグラウンドやプログラミング環境によっては、使いやすくアクセスしやすい場合があります。


FilesNotToSnapshotの代わりに を使用することも検討してFilesNotToBackupください。VSS/システムの復元に使用されるものです。このドキュメントの使用法と、ファイルを除外できる APIについて読み、意図したとおりに機能しない可能性がある場合について特に注意してください。

于 2019-01-12T10:19:56.323 に答える