【发布时间】:2016-04-10 07:17:19
【问题描述】:
我正在开发一个 c++ 应用程序,该应用程序作为 Windows 服务运行。
我需要模拟当前用户来访问网络位置,为此我使用 Windows API LogonUser 和 ImpersonateLoggedOnUser。
问题是我只有用户名和域信息,但没有密码。那么是否可以在不提供密码的情况下调用LogonUser来获取用户句柄?
【问题讨论】:
-
Windows 服务的当前用户是什么? Windows 服务在其自己的用户帐户下运行,该帐户独立于交互式用户。 (评论是因为你显然有一个真实的用户名)
-
服务以系统用户身份运行,如果我尝试获取用户名,它将显示
system作为用户。 -
这确实是服务的普通账户。
SYSTEM在设计上无法访问受保护的网络资源。 -
@MSalters:您正在考虑本地服务。 SYSTEM 帐户可以使用计算机的域帐户访问网络。 (但显然,只有当它加入域时。)
标签: c++ windows impersonation