Не решено ошибка в коде

elFigaro

Почетный гость
Добрый день! Есть кусок кода - телеграм бота. По задумке команда должна открывать SSH туннель для соединения с cisco устройством. Вот код:
Код:
        '/циска' { # открываем консоль для работы с циско
                    $ConsoleClose = $false
                    BotSay -text "для выхода в обычный режим введите 'закрыть'"

                    $PPassword = "PASSWORD"
                    $SPassword = $PPassword | ConvertTo-SecureString -AsPlainText -Force
                    $UserName = "root"
                    $Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $SPassword
                    $SwitchIP = '192.168.20.1'

                    Import-Module Posh-SSH
                    $SSHSession = New-SSHSession -ComputerName $SwitchIP -Credential $Cred -Verbose

                    if ($($sshSession.Connected) -eq $true) {
                        BotSay -text "SSH session $SwitchIP opened"
                        $ssh = $sshSession | New-SSHShellStream
                        $ssh.read()

                        while ($ConsoleClose -eq $False) {
                            Write-Host "циска: новый цикл обработки сообщений" -ForegroundColor Yellow
                  
                            $ConsoleMsg = Bot-Listen -ChatTimeOut $ChatTimeOutSeconds -UpdateId $botUpdateId

                            if ($ConsoleMsg.UpdateId -gt 1) {
                                log "пришло сообщение: $($ConsoleMsg.text) от $($ConsoleMsg.first_name) $($ConsoleMsg.last_name) из чата №$($ConsoleMsg.chat_id)"
                                Write-Host "     пришло сообщение: $($ConsoleMsg.text) от $($ConsoleMsg.first_name) $($ConsoleMsg.last_name) из чата №$($ConsoleMsg.chat_id)"  -ForegroundColor Magenta
                                $botUpdateId = $ConsoleMsg.UpdateId + 1

                                $text = $ConsoleMsg.text
                                if ( $text -eq 'закрыть' ) {
                                    $ConsoleClose = $true
                                }

                                if ( $text.length -gt 0 ) {
                                    Start-Sleep -Seconds 1
                                    $ssh.WriteLine( $text )
                                    $response = $ssh.read()
                                    BotSay -text $response
                                }
                            }

                            Start-Sleep -Seconds 1
                        }
                    }
                    else {
                        BotSay -text "SSH session cannot be established"
                    }

                    if ( $($sshSession | Remove-SSHSession) -eq $true) {
                        BotSay -text "SSH session closed"
                    }
                    else{
                        BotSay -text "SSH session NOT closed"
                    }

                    BotSay -text "переходим в обычный режим"
                    Chat-Alive -ChatID $Msg.chat_id
                    break
                }

Почему то при выполнении команды телеграм бот выдает ошибку:

logic start. text is /циска
ПОДРОБНО: Using SSH Username and Password authentication for connection.
ПОДРОБНО: Fingerprint for 192.168.20.1: f4:9b:d5:85:4e:5d:bd:1c:d8:2d:52:48:e4:3a:bf:21
ПОДРОБНО: Fingerprint matched trusted fingerprint for host 192.168.20.1
Исключение при вызове "CreateShellStream" с "6" аргументами: "Client not connected."
C:\Program Files\WindowsPowerShell\Modules\Posh-SSH\2.0.2\Posh-SSH.psm1:664 знак:9
+ $stream = $ToProcess.Session.CreateShellStream($TerminalName, ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: :)) [], MethodInvocationException
+ FullyQualifiedErrorId : SshConnectionException

Add-Member : Не удается привязать аргумент к параметру "InputObject", так как он имеет значение NULL.
C:\Program Files\WindowsPowerShell\Modules\Posh-SSH\2.0.2\Posh-SSH.psm1:665 знак:33

+ Add-Member -InputObject $stream -MemberType NoteProperty -Nam ...
+ ~~~~~~~
+ CategoryInfo : InvalidData: :)) [Add-Member], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.AddMemberCommand

Add-Member : Не удается привязать аргумент к параметру "InputObject", так как он имеет значение NULL.
C:\Program Files\WindowsPowerShell\Modules\Posh-SSH\2.0.2\Posh-SSH.psm1:666 знак:33

+ Add-Member -InputObject $stream -MemberType NoteProperty -Nam ...
+ ~~~~~~~
+ CategoryInfo : InvalidData: :)) [Add-Member], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.AddMemberCommand

Невозможно вызвать метод для выражения со значением NULL.
C:\scripts\energorobot.ps1:652 знак:25
+ $ssh.read()
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: :)) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
 
Назад
Верх