.net LocalSystem帐户可以模拟任何用户吗?即使用户未登录?

.net LocalSystem帐户可以模拟任何用户吗?即使用户未登录?,.net,windows-services,impersonation,.net,Windows Services,Impersonation,我有一个Windows服务作为LocalSystem运行,需要访问一些网络资源。我找到了一种模拟当前登录的用户的方法,方法是使用OpenProcessToken检索令牌,复制它并调用WindowsIdentity.impersonate。这样,我可以访问与模拟用户相同的网络资源 然而,这意味着我的服务只有在有登录用户的情况下才能工作。。。所以我想,既然LocalSystem拥有机器上的所有权限,也许它可以模拟当前未登录的用户?或者以任何本地用户身份登录而不知道其密码?假设这是可能的,我怎么做 提

我有一个Windows服务作为LocalSystem运行,需要访问一些网络资源。我找到了一种模拟当前登录的用户的方法,方法是使用OpenProcessToken检索令牌,复制它并调用WindowsIdentity.impersonate。这样,我可以访问与模拟用户相同的网络资源

然而,这意味着我的服务只有在有登录用户的情况下才能工作。。。所以我想,既然LocalSystem拥有机器上的所有权限,也许它可以模拟当前未登录的用户?或者以任何本地用户身份登录而不知道其密码?假设这是可能的,我怎么做


提前感谢您的帮助

尝试使用WindowsIdentity构造函数,将用户名作为字符串。

在我的情况下不起作用。。。文档说明:此构造函数用于仅加入Windows Server 2003域的计算机。将为其他域类型引发异常。。显然,我不在Server 2003域上,因为我收到一个带有以下消息的SecurityException:函数不正确我认为API调用CreateToken可能会出现这种情况,但我从未尝试过。我看到了命题和?之间的法国空格:你对NetworkService有限制吗?我没有尝试使用NetworkService,但因为这个帐户的权限比LocalSystem少,所以我不确定这是否有助于metake了解这一点。