我有几台从机和一台主机,它们一起运行分布式应用程序。每台从机上的进程都必须具有 GUI 和网络访问权限(我认为那时它会被称为交互式进程)。为了便于使用,如果主机可以启动/停止那些从机上的进程,那就太好了。
我的第一个想法是使用 WMI 和 Win32_Process 类来启动远程进程,但经过进一步调查,发现以这种方式启动的进程是非交互的和隔离的,因此不能有任何 GUI。一个注释说可以使用 Win32_ScheduledJob.Create 来创建一个远程交互进程,但它在我想避免的 LocalSystem 帐户下运行(我什至无法让它正常运行)。
解决这个问题的好方法是什么?也许可以启动一个辅助应用程序,然后启动一个正确的进程,但这似乎很脏。
编辑:当我尝试 PsExec 时,它真的很笨重,而且速度很慢(不知道为什么)。进一步看 PsExec,它似乎在远程机器上安装了一个临时服务来启动应用程序。这会是使用正确身份生成交互式过程的唯一方法吗?我应该在节点的设置中包含一个帮助服务吗?但即便如此,我将如何与它沟通呢?