繁体   English   中英

如何以编程方式注销当前用户并以另一个身份登录?

[英]How do I programatically log off the current user and log on as another?

有没有一种方法可以强制注销当前的交互式(已登录)用户(不建议这样做),然后使用新的用户帐户登录(交互式-不使用诸如LogonUser和其他模拟技巧之类的东西)来模拟某人按LOGOFF,然后选择一个新帐户登录...?

问题是我的服务以编程方式创建了一个新的用户帐户-我需要找到一种方法来创建其相应的用户个人资料。 从我看到的唯一可行的方法是物理注销当前用户,然后以新用户身份登录(这将为HKCU,文档和设置等创建用户配置文件)。 听起来有点疯狂,但我找不到更好的方法...

因此,我需要找到一种方法以编程方式强制注销和登录操作(从我在LocalSystem上运行的Windows Service中进行)-我具有所需的所有凭据和访问权限...是否可以使用系统功能调用?

对于注销,我认为我可以使用WTSLogoffSession(...),仍然尝试使其正常工作,但似乎很有希望-但是我不知道如何处理登录...或者,如果有更好的方法来解决我的问题,我都是耳朵吗:)

任何帮助或提示将不胜感激...谢谢,

您实际上需要登录用户还是仅创建一个用户? 对于创作,您可以使用

  • NetGroupAdd()
  • NetUserAdd()
  • NetGroupAddUser()
  • NetLocalGroupAdd()
  • NetLocalGroupAddMember()

蜜蜂

Microsoft在c ++中提供了此解决方案,您可以使用它来破解ac#解决方案,也可以将其放入DLL并使用COM interop对其进行调用。

http://support.microsoft.com/kb/196070

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM