通过Posh SSH重新启动Linux设备

通过Posh SSH重新启动Linux设备,linux,powershell,ssh,posh-ssh,Linux,Powershell,Ssh,Posh Ssh,我正在尝试从Windows 10上运行的PowerShell脚本重新启动Linux计算机。 我使用Posh SSH模块。我通过SSH会话发送的所有其他命令都可以正常工作,但无论我尝试了什么,重新启动都没有效果。 通过常规的SSH客户端会话(Putty或按位),这些命令可以工作,设备可以立即重新启动。 下面是一个示例命令: Invoke-SSHCommand -SSHSession $session -Command "nohup reboot >/dev/null &" -Ensu

我正在尝试从Windows 10上运行的PowerShell脚本重新启动Linux计算机。 我使用Posh SSH模块。我通过SSH会话发送的所有其他命令都可以正常工作,但无论我尝试了什么,重新启动都没有效果。 通过常规的SSH客户端会话(Putty或按位),这些命令可以工作,设备可以立即重新启动。 下面是一个示例命令:

Invoke-SSHCommand -SSHSession $session -Command "nohup reboot >/dev/null &" -EnsureConnection
我试过有/没有诺胡普。 已尝试关闭-r、重新启动、重新启动-f。 尝试使用退出命令 尝试睡眠/超时

所有这些都在SSH控制台中正常工作,但通过高级SSH没有任何效果。
我错过了什么不同于宋承宪的东西

最后,我通过使用stream使它工作起来。 下面是代码片段。关闭流之前需要启动睡眠,否则没有足够的时间间隔使其运行

$stream=$session.Session.CreateShellStream("ps", 0, 0, 0, 0, 1000)
$stream.WriteLine("reboot")
Start-Sleep 1000
$stream.Close()

PowerShell 6已重新启动计算机。您是否已在Linux计算机上安装PowerShell 6?我不能-它是嵌入式Linux发行版,几乎没有必需的命令,也许将来会有一天pwsh会像bash、ksh、tcsh等一样包含在Linux发行版中。。。