使Powershell将Start-Process ssh.exe放入后台

问题描述

我在下面使用此Powershell脚本和在网上找到的代码拼凑而成,并且大部分情况下都可以使用。它只需要使用if条件在主机上尝试两个可用的ssh端口,然后在成功后启动mstsc.exe。有一些小问题我想解决

  1. 为什么-NoNewWindow参数在第一个实例中起作用而在else块中不起作用?
  2. 在ssh.exe进入后台后,为什么必须依靠Start-Sleep来运行任何行。如果我不使用Start-Sleep,则似乎mstsc.exe进程启动得太早或根本没有启动,因为它正在等待ssh.exe完成。如果将-v添加到ssh,您将看到它确实以“派生到后台”完成,但从技术上讲还没有完成。

是否有类似于使用&符号的类似于Linux bash的解决方法

谢谢!

sat

解决方法

糟糕的问题#1只是因为我是从Powershell编辑器运行的,所以这不是问题。问题2仍未解决。