迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

使用 PowerShell 将文件上传到 SFTP

作者:迹忆客 最近更新:2024/03/01 浏览次数:

Windows 和 Mac 用户发现可以通过命令行界面运行的工具非常有限。大多数基于 GUI 的应用程序为所有用户提供低脚本和自动化功能。

PowerShell 用于弥合 Windows 用户和类 Linux 系统用户之间的差距。PowerShell 为脚本编写、自动化需求、CI/CD 系统管理等提供了一个命令行界面。

PowerShell 是 Microsoft 的产品,它为 Windows 和 Mac 用户提供了满足其脚本要求的灵活性。但是,在使用 PowerShell 时,你应该熟悉一些脚本命令和 PowerShell 独有的命令。


什么是 SFTP

SFTP 是用户常用的一种协议,用于将文件从一台计算机/服务器传输到另一台计算机/服务器。它是通用 FTP 协议的安全版本,可确保发送方和接收方之间的端到端文件加密。

SFTP 代表安全文件传输协议,是计算中最常用的文件传输方法之一。


使用 PowerShell 将文件上传到 SFTP 站点

我们的要求是使用 PowerShell 将文件按计划上传到 SFTP 站点。PowerShell 让用户可以毫无问题地运行预定脚本。

这可以通过几个步骤来解释。

  1. 将安排一个文件从数据库上传到 SFTP 站点。
  2. 建立身份验证以访问该站点。
  3. Windows 任务计划程序触发脚本在特定时间运行。
  4. 任务调度程序会抓取所需的文件并将其上传到 FTP 站点。

使用 WinSCP 通过 PowerShell 将文件上传到 SFTP 站点

WinSCP 是最流行的 SFTP 客户端之一,也是 Microsoft Windows 的 FTP 客户端。此工具可以将文件从计算机复制到远程文件服务器。

为此要求,我们必须首先下载 WinSCP .NET 程序集。

然后必须使用脚本提取文件。然后我们将根据官方的 WinSCP 上传示例此处创建如下脚本。

Add-Type -Path "WinSCPnet.dll"

$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
    Protocol = [WinSCP.Protocol]::Sftp
    HostName = "example.com"
    UserName = "user"
    Password = "mypassword"
    SshHostKeyFingerprint = "ssh-rsa 2048 xx...="
}
$session = New-Object WinSCP.Session
try
{
    $session.Open($sessionOptions)
    $session.PutFiles("C:\users\export.txt","/Outbox/").Check()
}
finally
{
    $session.Dispose()
}

重要的是要记住所有这些都必须在 WinSCP GUI 中完成,如下所示。

  1. 登录到 WinSCP
  2. 导航到远程位置的目标目录。
  3. 选择上传命令
  4. 传输选项 > 传输设置 > 生成代码 > .NET 汇编代码 > PowerShell 语言

作为代码的输出,该文件将被上传到你指定的位置/站点,并最终清理以处理会话。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

以管理员身份运行 PowerShell 脚本

发布时间:2024/03/01 浏览次数:87 分类:编程语言

本文将展示如何在不输入管理员凭据的情况下以管理员权限运行 powershell 脚本。如果代码片段未在提升的 Windows PowerShell 中运行,则以下脚本将自行提升你的脚本。

使用 Windows PowerShell 启动进程

发布时间:2024/03/01 浏览次数:58 分类:编程语言

本文将解释 Start-Process cmdlet 是什么以及参数如何与 cmdlet 一起使用。本文还展示了使用 Start-Process cmdlet 的好处

使用 PowerShell 远程处理执行命令

发布时间:2024/03/01 浏览次数:144 分类:编程语言

本文将讨论 PowerShell 远程处理的工作原理、几个 PowerShell 远程处理命令,以及我们如何将其投入实际使用。我们还将区分它与许多类似 cmdlet 的优势。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便