在PowerShell远程处理中,Start-Process不起作用

时间:2014-11-25 19:44:06

标签: powershell powershell-remoting

我一直试图使用PowerShell远程控制来运行计算器。我进入了powershell会话(使用Enter-PSSession),并输入以下命令:

Start-Process calc.exe

我看着远程计算机,什么也没出现。当我尝试其他命令如Get-ProcessStop-Process时,它们可以正常工作。我在网上看了一下,看到我应该尝试使用-PassThrough查看它是否做了什么,我得到了这个结果:

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
      7       4     1228       2388    35     0.02    528 calc

所以我决定在我正在连接的计算机上查看任务管理器,看看进程是否正在运行,但它并不存在。只有当我点击"显示来自所有用户的流程时#34;它出现了,即使进程中列出的用户是我登录的用户。我尝试使用其他一些Windows程序,如mspaint和记事本,并得到相同的结果。

有谁知道为什么会这样?这些过程似乎在没有打开gui的情况下运行。

编辑:我刚刚注意到会话关闭后进程停止了。有办法克服这个问题吗?

1 个答案:

答案 0 :(得分:3)

当您使用enter-pssession创建会话时,它是自己的"实体" - 您无法将其连接到交互式桌面会话,也没有任何GUI用于您开始与之交互的应用程序。它只是一个基于交互式文本的控制台,即使您已经登录到控制台,它也是两个独立的用户会话,但它们无法通信。

因此即使您可以启动具有GUI的进程,也没有用于附加或显示的GUI。