Windows 7中的WNetAddConnection2具有模拟且无错误代码

时间:2009-10-14 14:48:07

标签: c++ winapi windows-7 impersonation

我正在做一些疯狂的模拟事情来绕过Windows 7中的UAC对话框,因此用户不必与UI进行交互(当然我有管理员信誉)。

我有一个以管理员身份运行的进程,并通过UAC提升。我面临的问题是,当我调用WNetAddConnection2时,在此过程中,我没有获得新的映射网络驱动器。该函数返回ERROR_SUCCESS但没有可见的网络驱动器。我们有另一种使用'subst'添加网络驱动器的方法,但是,再次返回成功并不会添加网络驱动器。我试图使用默认用户(由于进程的安全上下文而是管理员),我尝试使用特定的用户凭据。我可以通过资源管理器很好地映射驱动器。

当然,相同的功能在XP / 2003中运行良好。我没有在Vista上进行测试,因为模仿的问题限制了我开启这个过程的能力。此功能是否有独特的Windows 7限制? MSDN不会收集任何我能找到的内容。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

问题是该进程是以管理员身份运行的。模拟不起作用,因为WNetAddConnection2评估进程用户。您必须启动一个单独的过程才能完成此任务。