【发布时间】:2016-07-15 07:53:59
【问题描述】:
是否可以通过runas命令检测应用是否打开?
以及如何检测使用了哪个用户?
runas /netonly /user:DOM\usr "C:\App.exe"
【问题讨论】:
-
检查这是否适合你Run AS
是否可以通过runas命令检测应用是否打开?
以及如何检测使用了哪个用户?
runas /netonly /user:DOM\usr "C:\App.exe"
【问题讨论】:
您可以检查正在运行应用程序的用户,使用
System.Security.Principal.WindowsIdentity.GetCurrent()
请注意,使用/netonly,无法在本地进程上获取提供的凭据。 LSA 会处理这个问题,据我所知,您无法从本地流程中做到这一点。
对于on this link 的原因有一些很好的解释,但原因基本上归结为:虽然您提供的凭据被存储,但在您执行任何类型的远程身份验证(使用 SSPI)之前甚至不会检查它们,以及那些仅在实际的远程计算机上进行检查。
你甚至可以这样做:
runas /netonly /user:FAKE\fake something.exe
甚至不会检查凭据...所以在进行远程身份验证之前,您基本上不会获得身份验证令牌
我能看到的唯一解决方案是尝试运行一个返回用户凭据的远程进程。
【讨论】:
/netonly,看看我的更新...我认为没有办法做到这一点