PSExec 打开没有用户登录的交互式程序

PSExec 打开没有用户登录的交互式程序

我正在使用 PSExec 在另一台计算机上打开某个带有小型 GUI 的服务器程序。本地和目标都是 Win7 64 位。我使用

psexec \myothercomputer -u Me -p mypass -i -d -h myapp.exe

当我登录到另一台计算机时,此方法运行正常。但我以这种方式运行此程序的想法是不必登录该计算机。

今天我尝试在未登录的情况下运行该应用程序,只是想看看会发生什么。我以为它会返回错误。然而 PSExec 返回了我的进程 ID。

然后我登录到那台计算机,令我惊讶的是,我看到了一种图形“阴影”,我的意思是,我试图运行的应用程序的形状!......就像它打开了它一样,即使我没有登录。

我以为是屏幕刷新问题,我尝试了几种方法来“唤醒”或与该应用交互,但显示效果并不理想。使用任务管理器时,我注意到该应用的内存消耗比预期的要小……所以我猜是某个时候出了问题。而这正是我真正期望的,它会运行。

问题:为什么PSExec可以在没有登录的情况下成功打开交互式应用程序?那么为什么我的交互式应用程序无法正常运行?

答案1

根据执行程序页面上,-i [session] 开关执行以下操作:

运行该程序,使其与远程系统上指定会话的桌面进行交互。如果未指定会话,则进程在控制台会话中运行。

在您的命令中,您没有像手册页所示的那样在 -i 之后立即指定会话。

我还注意到您已指定 -d。我认为您不能混合使用 -i 和 -d,尤其是当用户未登录时,因为 -i 在控制台会话中运行,但 -d 表示不要使用控制台会话来确定进程生存期:

-d 不等待进程终止(非交互式)。

相关内容