【问题标题】:PSFTP Unknown Command - PowerShelll Batch Task - PuttyPSFTP 未知命令 - PowerShelll 批处理任务 - Putty
【发布时间】:2020-11-18 20:47:05
【问题描述】:

我希望你和你的家人一切都好- 我一直在为这个我真的不明白的错误而苦苦挣扎。

这是我创建的 PowerShell 脚本,用于使用 PSFTP 将文件上传到 ftp 服务器

 
        $path="C:\Users\jhosef.cardich\Desktop\sol\psftp.exe"
        
        $comd1= "lcd C:\Users\jhosef.cardich\Desktop\sol\"
        $upload_result = ($comd1) | & $path -pw $pass "$user@$hst" 2> $
        
        $comd2="put myfile,txt"

        $upload_result+= $comd2 | & $path -pw $pass "$user@$hst" 2> $

        $upload_result  | Out-File -FilePath "C:\Users\jhosef.cardich\Desktop\sol\sftp.txt" -Append

        "DateTime Stamp - Upload: $(Get-Date)" | Out-File -FilePath "C:\Users\jhosef.cardich\Desktop\sol\sftp.txt" -Append

这是我每次运行代码时得到的输出:(我希望您专注于第二行)

Remote working directory is /download
psftp> psftp: unknown command "ktop\sol\"
psftp> quit
Remote working directory is /download
psftp> quit
DateTime Stamp - Upload: 11/18/2020 21:21:49

如您所见,我不明白为什么在第二行中出现错误“未知命令”,而且 psftp 似乎只检测到我定义了路径的字符串的一部分。我也尝试了这个实现,但我得到了同样的错误 (Call multiple commands from powershell e.g psftp)。

【问题讨论】:

  • 奇怪。你的代码对我来说很好。当然,将我的路径和 SFTP 信息更改为我自己的,但除此之外完全相同,没有任何问题。

标签: powershell psftp


【解决方案1】:

对此的更新: 问题是由于执行包含 putty 命令的脚本的服务器上的某些配置造成的。

确实,这是 Windows 受信任主机的问题,由于某种原因,我们不知道我们用于连接 putty 的 FTP 主机是如何从该列表中删除的。

我们注意到,当我们尝试打开与 Filezilla 的连接时,它会提示一个通知,要求我们信任并将 FTP 域添加到 Windows 受信任的主机列表中。 当我们接受这一点时,突然脚本又可以正常工作了。 很奇怪,但我的建议是使用 WinScp 而不是 putty。 谢谢。

【讨论】:

  • 你好像把不相关的东西混在一起了。受信任的主机用于 PS 远程处理。 PSFTP 是 SFTP 客户端。它与 FTP 无关。
猜你喜欢
  • 1970-01-01
  • 2016-09-27
  • 1970-01-01
  • 2019-09-26
  • 1970-01-01
  • 2016-12-04
  • 2013-01-16
  • 1970-01-01
  • 2019-09-03
相关资源
最近更新 更多