将文件从 Windows 传输到 Linux 而不使用第 3 方软件并且仅使用 Shell.Application

Transfer file from Windows to Linux without using 3rd party software and using Shell.Application only

如何在不使用第 3 方软件的情况下将文件从 Window 服务器传输到 Linux?我只能使用纯 PowerShell 脚本来传输 zip 文件。

我正在使用 PowerShell v2.0(我知道它很旧而且我没有权限更新到当前版本 - 只能用于 Shell.Application脚本)

  1. Telnet 成功
  2. 目标服务器安装了 private/public 密钥(我使用 PuTTYgen 从我的服务器生成 - 但没有安装 PuTTY 或 WinSCP 的权限)
$timestamp = (Get-Date).AddMonths(-1).ToString('yyyy-MM-dd')
$todaysDate = (Get-Date).AddDays(-1)
$source = "D:\Testing\*.csv", "D:\Testing\*.csv"
$target = "D:\Testing\bin$timestamp.zip"
$housekeepZipFile = "D:\Testing\bin\*.zip"
$locationToTransfer = "D:\Testing\bin\*.zip"
$mftFileTransfer = "UserName@192.168.0.50:/UserName/Outbox"

Get-ChildItem -Path $locationToTransfer –Recurse | Where-Object {
    $_.LastWriteTime -gt (Get-Date).AddDays(-1)
} | Copy-Item -Destination $mftFileTransfer -Force

我的语法正确吗?刚刚试过了,好像收不到任何文件。

使用 Window 服务器 2008

正如 Ansgar 已经评论的那样,键与 SSH/SFTP 一起使用。 PowerShell 和 Windows 2008 都不支持 SSH/SFTP。如果您需要使用 SSH/SFTP,则必须使用第 3 方 software/library。

并且正如上面已经说过的,您不需要安装权限来使用 WinSCP,也不需要 PuTTY/psftp。