【问题标题】:Reboot Linux Device via Posh-SSH通过 Posh-SSH 重启 Linux 设备
【发布时间】:2018-08-23 14:02:12
【问题描述】:

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

Invoke-SSHCommand -SSHSession $session -Command "nohup reboot >/dev/null &" -EnsureConnection

我尝试使用/不使用 nohup。 试过关机-r,重启,重启-f。 尝试使用退出命令 尝试睡眠/超时。

所有这些都在 SSH 控制台中按预期工作,但通过 Posh-SSH 没有任何工作。 我错过了 Posh-SSH 中的不同之处?

【问题讨论】:

  • PowerShell 6 具有重新启动计算机。您是否在 Linux 机器上安装了 PowerShell 6? github.com/PowerShell/PowerShell
  • 我不能 - 它是嵌入式 Linux 发行版,那里几乎没有所需的命令
  • 也许有一天 pwsh 会像 bash、ksh、tcsh 等一样被包含在 Linux 发行版中……

标签: linux powershell ssh posh-ssh


【解决方案1】:

最后我设法通过使用流来让它工作。 下面是代码sn-p。关闭流之前需要启动睡眠,否则没有足够的时间间隔运行。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    相关资源
    最近更新 更多