根据这个MSDN 文章:
重要提示:从 Windows Vista 开始,服务无法直接与用户交互。因此,不应在新代码中使用标题为“使用交互式服务”的部分中提到的技术。
为什么psexec \\REMOTEPCNAME -i -s cmd
实际上仍然可以正常工作并在上下文中启动命令提示符NT AUTHORITY\SYSTEM
? SysInternals 有 Windows 作弊代码吗?
答案1
psexec 服务具有足够的权限 (SeTcbPrivilege),可以获取其他会话的令牌查询用户令牌(然后将其提供给创建进程作为用户或类似的东西)。
也可以看看:http://www.remkoweijnen.nl/blog/2007/10/20/how-to-launch-a-process-in-a-terminal-session/