Как отправлять команды CLI с помощью PowerShell после подключения - PullRequest
0 голосов
/ 14 июня 2019

Я создал пару ключей SSH, которую я использую для подключения к Pulse VTM (устройству балансировки нагрузки на основе Linux) через SSH через Powershell. Эта часть работает нормально, но я не могу отправлять какие-либо дальнейшие команды через мой скрипт после аутентификации пары ключей. Все, что я вставил после аутентификации, похоже, игнорируется. Я пытаюсь отправить команду 'zcli' [enter]. Может ли кто-нибудь указать мне правильное направление для того, как передавать команды в моем сценарии после этого момента? Invoke-Command, похоже, не работает.

Кажется, что сломается в этот момент:

#Connect to VTM via SSH
ssh admin@**IPADDRESS**

#Initiate ZCLI prompt
Invoke-SSHCommand -Index 0 -Command "zcli"

Сценарий

#Make sure Powershell is running in 64bit mode
if (($pshome -like "*syswow64*") -and ((Get-WmiObject 
Win32_OperatingSystem).OSArchitecture -like "64*")) {
    write-warning "Restarting script under 64 bit powershell"

    # relaunch this script under 64 bit shell
    & (join-path ($pshome -replace "syswow64", 
"sysnative")\powershell.exe) -file $myinvocation.mycommand.Definition 
@args

    # This will exit the original powershell process. This will only be 
done in case of an x86 process on a x64 OS.
exit
}

#Bypass Execution Policy
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -force

#Connect to VTM via SSH
ssh admin@**IPADDRESS**

#Initiate ZCLI prompt
Invoke-SSHCommand -Index 0 -Command "zcli"

#Create Pool
Pool.addPool ["Sam_Test"],[["10.10.10.10:443","10.10.10.11:80"]]
Pool.setLoadBalancingAlgorithm ["Sam_Test"], roundrobin
Pool.setPassiveMonitoring ["Sam_Test"], 0
Pool.setMonitors ["Sam_Test"], "Simple HTTPS"
Pool.setKeepalive ["Sam_Test"], 1
Pool.setSSLEncrypt ["Sam_Test"], 1

Мой скрипт входит в систему нормально, но затем не запускает дальнейшие команды?

...