[英]PowerShell script to SSH to Multiple Linux devices and restart/reboot them
[英]Reboot Linux Device via Posh-SSH
我正在嘗試從 Windows 10 上運行的 PowerShell 腳本重啟 Linux 機器。我使用 Posh-SSH 模塊。 我通過 SSH 會話發送的所有其他命令工作正常,但無論我嘗試什么,重新啟動都無效。 通過常規 SSH 客戶端會話(Putty 或 BitWise),這些命令起作用並且設備立即重啟。 下面是一個示例命令:
Invoke-SSHCommand -SSHSession $session -Command "nohup reboot >/dev/null &" -EnsureConnection
我嘗試使用/不使用 nohup。 試過 shutdown -r,reboot,reboot -f。 嘗試使用退出命令嘗試睡眠/超時。
所有這些在 SSH 控制台中都按預期工作,但通過 Posh-SSH 沒有任何效果。 我錯過了什么 Posh-SSH 的不同之處?
最后我設法通過使用流來讓它工作。 下面是代碼片段。 在關閉流之前需要 Start-Sleep,否則沒有足夠的時間間隔來運行它。
$stream=$session.Session.CreateShellStream("ps", 0, 0, 0, 0, 1000)
$stream.WriteLine("reboot")
Start-Sleep 1000
$stream.Close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.