当我在Windows上时,我使用PsExec在其他Windows机器上启动进程。现在,我想要在Linux机器上这样做。
幸运的是,有一个winexe,一个小程序,应该像PsExec那样工作,只适用于Linux-World。我在安装它时没有问题,我能够启动像cmd.exe这样的进程。
问题是,我无法启动对Windows用户可见的进程。如果启动calc.exe,我可以看到它是在任务管理器中启动的,但是没有GUI。
问题:
如何启动Windows机器上实际可见的进程?
发布于 2013-04-22 12:54:00
如何启动Windows机器上实际可见的进程?
一个好的开端是在当前登录用户的会话中创建进程。这通常是会话1,如果只有一个人登录。如果有多个人登录,则可能是会话2、3或27。您必须先在wtsapi32.dll中运行代码,才能找到连接到哪个会话的人。在Windows的现代版本中,会话0是为服务和系统功能保留的。
您正在会话0中启动一个进程,因此没有人能够看到它。
psexec可以启动远程进程,并允许您选择一个不同的会话来启动它,但我不知道任何类似的Linux会话。我查看了winexe的手册页,它似乎没有这个选项。
编辑:微软的官方立场是,远程启动交互进程会带来太大的安全风险,因此它们会抑制您的能力。但如果我们愿意弄脏的话,我们还是可以解决的:
schtasks.exe /create /S COMPUTERNAME /RU "NT AUTHORITY\SYSTEM" /RL HIGHEST /SC ONSTART /TN "RemoteProcess" /TR "program.exe \"argument 1\" \"argument 2\""
schtasks.exe /Run /S COMPUTERNAME /I /TN "RemoteProcess"
schtasks.exe /Delete /S COMPUTERNAME /TN "RemoteProcess"https://serverfault.com/questions/501539
复制相似问题