gpt4 book ai didi

windows - 如何以编程方式检查驱动器是否受 Windows 系统还原功能的约束?

转载 作者:可可西里 更新时间:2023-11-01 10:31:48 25 4
gpt4 key购买 nike

如标题所示,我需要一种编程方式来查明特定磁盘驱动器是否受 Windows 系统还原的影响。您可能会在 Control Panel/System/System protection 中看到此信息标签。

我正在为 Windows 开发一个与安全相关的应用程序,它的一些内部文件必须严格存在于一个副本中,这一点至关重要。我想防止这些文件被 Windows 无意中复制/备份。或者至少警告用户随之而来的安全风险。

我知道 HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToBackup但它并没有解决问题,因为它仅在恢复阶段使用,并且文件内容仍然存在于备份存储中。

还有HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore , 但它不包含有关主题磁盘的信息,至少我没有看到它。

非常感谢任何线索。

最佳答案

系统还原由 Volume Shadow Copy api 管理.

您需要调用 QueryVolumesSupportedForDiffAreas method在返回的 IVssEnumMgmtObject 中将是一个 VSS_DIFF_VOLUME_PROP结构将告诉您是否在 m_llVolumeTotalSpace 参数中保留了任何存储区域。

或者,您可以通过探索 Get-CimClass -ClassName *shadow 命令来解析 vssadmin list shadowstorage 命令或 Powershell/WMI 中的等效命令的输出。这些命令对应于 wmiobjects 和 wmi api,根据您的背景和编程环境,它们可能更易于使用和访问。


还可以考虑使用 FilesNotToSnapshot而不是 FilesNotToBackup。它是用于 VSS/系统还原的。你应该read this document关于它的用法以及一个允许您排除文件的 API,并特别注意它可能无法按您的预期工作的情况。

关于windows - 如何以编程方式检查驱动器是否受 Windows 系统还原功能的约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54158078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com