使用 Powershell 运行 psftp 时出错

error when running psftp with Powershell

我正在从 powershell 脚本调用 psftp.exe,虽然它正确下载了指定的 file/s 并按预期运行,但错误(如下)被抛出到命令行输出,直到我可以说对整个过程没有 material 影响。

.\psftp.exe : Looking up host "hostname.com"
At line:2 char:1
+ .\psftp.exe 'hostname.com' -l 'username' -pw 'password ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Looking up host "hostname.com":String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

Connecting to <HostIP> port <PortNo.>
Server version: <Version>
Using SSH protocol <Version>
We claim version: <Version>
Host key fingerprint is:
<key>
Using username "<username>".
Attempting keyboard-interactive authentication
Access granted
Opening session as main channel
Opened main channel
Started a shell/command
Sent EOF message
Server sent command exit status 0
Disconnected: All channels closed

有谁知道这个错误提示的是什么。当然,如果传递的任何凭据有误,会话将无法正确连接和下载文件?

为了完整起见,脚本如下:

.\psftp.exe 'hostname.com' -l 'username' -pw 'Pass' -P 'portNo' -v -b 'GetFiles.txt' # -be -bc

根据标注为解决方案的回复,我修改为 (.\psftp.exe 'hostname.com' -l 'username' -pw 'Pass' -P 'portNo' -v -b 'GetFiles.txt') 2> $null

看起来所有详细消息都写入了 stderr(很容易通过 运行 相同的命令在末尾加上 2> $null 来确认)。

在 "normal" PowerShell.exe 中,它不应该是可见的,ISE 将在异常中封装出现在标准错误中的任何内容(如您所见)。

您 运行 psftp.exe 使用 PowerShell ISE 吗?如果是,您可能想使用我建议的一种技术来解决 git in ISE.

的类似问题