Назад | Перейти на главную страницу

Git pull в Powershell и как получить вывод команды

Я новичок в использовании PowerShell для автоматизации. Я хочу подключиться к машине по ssh и запустить на ней git pull. Это работает, когда я делаю это вручную через PowerShell, но не когда я автоматизирую это с помощью кода. Что у меня есть:

$Password = "mypsw"
$User = "myusername"
$ComputerName = "computername"

$secpasswd = ConvertTo-SecureString $Password -AsPlainText -Force
$Credentials = New-Object System.Management.Automation.PSCredential($User, $secpasswd)

$SessionID = New-SSHSession -ComputerName $ComputerName -Credential $Credentials 

#$result = Invoke-SSHCommand -Index $sessionid.sessionid -Command "ls"
$result.Output # this one works as expected, returns the list of folders and files
$result = Invoke-SSHCommand -Index $sessionid.sessionid -Command "git pull"
$result.Output # this doesn't return anything

Если я не сохраню значение $ result, я получу

Host       : [myhost]
Output     : {}
ExitStatus : 128

который указывает на сообщение об ошибке. Однако я никогда не смогу отладить его, если точно не знаю, что выводит консоль. Так что, думаю, у меня здесь две проблемы.

1) Как получить реальный вывод удаленной консоли в моей оболочке

2) Как заставить работать git pull

И общий вопрос:

Подходит ли PowerShell для автоматизации этих задач, или мне следует использовать что-то другое? Спасибо