類似Linux,powershell 也支持執行遠程命令,windows2019 默認的powershell 5 也支持簡單的命令,但是需要穩定的支持還是需要更高版本的powershell. 看你的powershell 是否支持遠程命令
(Get-Command New-PSSession).ParameterSets.Name // 輸出帶SSH的就支持,看下windows 2019 默認是否支持? windows2019 不支持,需要安裝最新的powershell 7 Name ---- SSHHost SSHHostHashParam
Github 上下載最新開源的powershell 7,安裝的選項里面有是否支持遠程SSH,我都勾上了,覺得方便。
注意,把部署程序的Server 的默認 powershell 換成最新的poweshell7 . jenkins slave 機器還是需要默認的bat 為默認的shell,不要修改,jenkins 里面的腳步原來調用是 powershell """xxx""" ,現在改為 pwsh """xxx""" .
現在應該支持遠程命令調用了
創建托管遠程計算機上的 PowerShell 進程的 SSH 子系統:
Subsystem powershell c:/progra~1/powershell/7/pwsh.exe -sshs -NoLogo 這句話是修改 server 端的 sshd_config 里面的內容
使用 ssh 遠程操作
進入 $session , 就已經得到遠程的shell.
退出$session, Exit-PSsession 回到終端。
在本地終端執行遠程命令
Invoke-Command $session -ScriptBlock { Get-Process pwsh }
Reference : https://docs.microsoft.com/zh-cn/powershell/scripting/learn/remoting/ssh-remoting-in-powershell-core?view=powershell-7.1