使用ManagementObject或GetProcesses获取和模拟上下文

时间:2013-06-24 17:52:03

标签: c# impersonation

我想创建一个Windows服务,并且能够通过抓取上下文来模拟登录到框中的用户,可能是通过getprocesses函数或ManagementObject代码。

我没有密码,但用户将登录运行该服务的框。然后,此上下文将用于模拟。

1 个答案:

答案 0 :(得分:1)

我不确定你想要做的事情是可能的。如果没有密码,您就无法冒充其他用户,除非他们是您的服务与您要模拟的用户之间的某种协调。

此主题有关于如何模拟用户的良好信息: How do you do Impersonation in .NET?

为了模仿用户,您需要Win32用户令牌。您通常通过Win32 LogonUser获取此信息,这需要密码。

但是,您可以通过让您要模拟的用户向您的服务发起请求来解决此问题。您可以通过启动任务,手动用户操作或其他方法执行此操作。如果您能够这样做,您可能需要考虑我们WCF来创建您的服务。 WCF允许您将服务配置为模拟正在进行服务调用的用户。