Powershell Invoke-SSHCommand:使用“1”个参数调用“EndExecute”时出现异常

2024-05-27

我正在尝试通过 powershell 中的 Posh-SSH 模块连接到 Netscaler SDX 服务器,以搜索特定文件,然后下载它。如果我用 putty 连接到服务器,它就可以工作,然后我可以输入“shell”来打开普通的 bash 控制台。 当我尝试使用 powershell 连接时,我使用以下命令。

$hostname = [ip]
$user = [username]
$password = [password]

$secureStringPwd = $password | ConvertTo-SecureString -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential -ArgumentList 
$user, $secureStringPwd

$ssh = New-SSHSession -ComputerName $HostName -Credential $creds

这将创建一个 ssh 会话,该会话仍然可以工作。接下来我使用 Invoke-SSHCommand。

Invoke-SSHCommand -SessionId ssh.SessionId -Command "shell"

它加载了一段时间,然后抛出这个异常:

Exception calling "EndExecute" with "1" argument(s):  "Command 
'shell' has timed out."
At C:\Users\giapsh\Documents\WindowsPowerShell\Modules\posh-ssh\Posh-
SSH.psm1:266 char:25
+                         $Output = $_.cmd.EndExecute($_.Async)
+                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SshOperationTimeoutException

我用谷歌搜索,我只发现有人有同样的问题,但没有答案(用它从德语翻译成英语)。我还尝试了其他命令,例如“ls”命令,但返回了相同的错误。有人知道我做错了什么吗?

我使用的是 Windows 10 和 Powershell 5.1

Regards

Patrick


我有完全相同的问题。尝试 SSHStream 命令:

PS C:\> $SSHStream = New-SSHShellStream -Index 0
PS C:\> $SSHStream.WriteLine("uname -a")
PS C:\> $SSHStream.read()
Last login: Sat Mar 14 20:02:16 2015 from infidel01.darkoperator.com
[admin@localhost ~]$ uname -a
Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 
UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[admin@localhost ~]$
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Powershell Invoke-SSHCommand:使用“1”个参数调用“EndExecute”时出现异常 的相关文章

随机推荐