c#登录用户并以用户身份运行

本文关键字:用户 身份 运行 登录 | 更新日期: 2023-09-27 17:52:35

我有2个用户:domain1'user1和domain2'user2。我用domain1'user1登录。我想运行应用程序(与选项'运行为不同的用户')与domain2'user2。如何获得当前登录到Windows的用户名,因为Environment。用户名返回user2,但我想要domain1'user1.

c#登录用户并以用户身份运行

查看MSDN上的WindowsImpersonationContext,我相信它有你正在寻找的东西。

http://msdn.microsoft.com/en-us/library/system.security.principal.windowsimpersonationcontext.aspx

如果愿意,您可以实现自己的helper类,然后声明using([establish your context here])并在将与该用户上下文一起执行的代码块中执行活动。非常方便!

注意:如果您决定使用using,请确保在您的助手的Dispose()方法中释放模拟上下文,以便当您的程序离开using块时一切都很好地清理。