使用 PowerShell 将文件上传到 SFTP
Windows 和 Mac 用户发现可以通过命令行界面运行的工具非常有限。大多数基于 GUI 的应用程序为所有用户提供低脚本和自动化功能。
PowerShell 用于弥合 Windows 用户和类 Linux 系统用户之间的差距。PowerShell 为脚本编写、自动化需求、CI/CD 系统管理等提供了一个命令行界面。
PowerShell 是 Microsoft 的产品,它为 Windows 和 Mac 用户提供了满足其脚本要求的灵活性。但是,在使用 PowerShell 时,你应该熟悉一些脚本命令和 PowerShell 独有的命令。
什么是 SFTP
SFTP 是用户常用的一种协议,用于将文件从一台计算机/服务器传输到另一台计算机/服务器。它是通用 FTP 协议的安全版本,可确保发送方和接收方之间的端到端文件加密。
SFTP 代表安全文件传输协议,是计算中最常用的文件传输方法之一。
使用 PowerShell 将文件上传到 SFTP 站点
我们的要求是使用 PowerShell 将文件按计划上传到 SFTP 站点。PowerShell 让用户可以毫无问题地运行预定脚本。
这可以通过几个步骤来解释。
- 将安排一个文件从数据库上传到 SFTP 站点。
- 建立身份验证以访问该站点。
- Windows 任务计划程序触发脚本在特定时间运行。
- 任务调度程序会抓取所需的文件并将其上传到 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 中完成,如下所示。
-
登录到
WinSCP
。 - 导航到远程位置的目标目录。
-
选择
上传命令
。 -
传输选项
>传输设置
>生成代码
>.NET 汇编代码
>PowerShell 语言
。
作为代码的输出,该文件将被上传到你指定的位置/站点,并最终清理以处理会话。
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。