使用Powershell运行psftp时出错

时间:2015-07-21 15:22:21

标签: powershell putty

我从powershell脚本调用psftp.exe,虽然它正确地下载指定的文件并按预期运行,但是错误(如下)被抛出到命令行输出,据我所知,没有任何材料对整个过程的影响。

.\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

1 个答案:

答案 0 :(得分:3)

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

在“普通”PowerShell.exe中,它不应该是可见的,ISE将封装在异常中出现标准错误的任何内容(正如您所注意到的)。

您是否在PowerShell ISE中运行psftp.exe?如果是,您可能希望使用我建议的与git in ISE类似问题的技巧之一。