2

我正在尝试在 Windows 7 上使用卷影复制服务,并查看了 MS vshadow 代码和 AlphaVSS。这些似乎提供了足够的细节来做我需要的事情,但除非在管理模式下,否则我无法进行任何工作 - 如果在正常用户模式下,在 CoInitialize 和 CoInitializeSecurity 之后的第一个真正的 COM 调用中,我得到“0x80070005 - 访问被拒绝”,即使用户是 Backup Operators 的成员。

应用程序事件日志中的条目表明这是一个 COM 问题:-

CLSID 为 {0b5a2c52-3eb9-470a-96e2-6c6d4570e40f} 且名称为 VssSnapshotMgmt 的 COM 服务器无法启动。[0x80070005,访问被拒绝。]

但我找不到任何像 VssSnapshotMgmt 这样的服务器,所以我不知道如何更改用户对它的访问权限。我也相信这是可以做到的,因为备份可以在我的机器上运行而无需提升权限。

该应用程序适用于愚蠢的客户(在任何意义上),所以如果可能的话,我反对使用管理模式。

有关如何连接到此服务的任何线索?

4

1 回答 1

1

Microsoft 随 VSS 提供的命令行工具/示例:vshadow.exe在旧版本(直到 Windows Server 2008)和diskshadow.exe较新版本上都需要以管理员权限执行。

虽然没有明确提到调用 VSS COM API 应该具有管理员权限 - 考虑到 Microsoft 自己的(支持的)实用程序有这个限制,可以安全地假设使用 VSS COM API 的最终用户应用程序需要相同的特权。

于 2015-01-31T07:17:56.207 回答