我正在尝试在Windows 7上使用卷影复制服务,并查看了MS vshadow代码和AlphaVSS。这些似乎提供了足够的细节来做我需要的,但我不能做任何工作,除非在管理模式下-我得到"0x80070005 -访问被拒绝"在CoInitialize和CoInitializeSecurity之后的第一个真正的COM调用,如果在正常用户模式下,即使用户是备份运营商的成员。
应用程序事件日志中的一个条目表明这是一个COM问题:-
COM Server with CLSID {0b5a2c52-3eb9-470a-96e2-6c6d4570e40f} andname VssSnapshotMgmt无法启动。[0x80070005, Access is denied.]
,但我找不到任何这样的服务器,如VssSnapshotMgmt,所以我不知道如何改变访问它的用户。我也相信这是可以做到的,因为备份在我的机器上工作而不需要提升特权。
应用程序是为哑客户端设计的(在任何意义上),所以如果可能的话,我反对使用管理模式。
有关于如何连接到这个服务的线索吗?
微软随VSS附带的命令行工具/示例:在旧版本(到Windows Server 2008)上vshadow.exe
和在新版本上diskshadow.exe
都需要以管理员权限执行。
虽然没有明确提到调用VSS COM api应该具有管理员权限——考虑到微软自己的(受支持的)实用程序有此限制,可以安全地假设使用VSS COM api的最终用户应用程序将需要相同的权限。