我有2个用户:domain1 \ user1和domain2 \ user2。 我使用domain1 \ user1登录。我想使用domain2 \ user2运行应用程序(使用选项'以不同用户身份运行')。 如何获取当前登录到Windows的人员的用户名,因为Environment.UserName返回user2,但我想要domain1 \ user1。
答案 0 :(得分:4)
在MSDN上查看WindowsImpersonationContext
,我相信它有您正在寻找的内容。
http://msdn.microsoft.com/en-us/library/system.security.principal.windowsimpersonationcontext.aspx
如果愿意,您可以实现自己的帮助程序类,然后声明using([establish your context here])
并在将使用该用户上下文执行的代码块中执行您的活动。非常方便!
注意:如果您决定使用using
,请确保在帮助程序的Dispose()
方法中释放模拟上下文,以便在程序离开{{1}时一切都清理干净阻止。