从 Ironport 下载文件

Download files from an Ironport

这是我的 powershell 脚本,我可以使用它登录 Cisco Ironport 并将 /mail_logs/ 文件夹中的所有文件下载到我的本地计算机。 我的问题是,如果我没有指定目标文件,脚本就会出错 "pscp : cannot create file"。因此,如果我指定一个目标文件($File_MailLogs),那么所有下载的文件都具有相同的名称,简而言之,所有以前的文件都会被覆盖。 那么如何下载所有文件而不被覆盖。

$SOFTWARE_PATH = "E:\Software\putty_32bit"
$SCRIPTS_PATH = "E:\Scripts_Do_Not_Delete"
$PRIVKEY = $SCRIPTS_PATH + "\IronportClusEval.ppk"
$Folder_MailLogs = "c:\temp\IronPort_MailLogs\"
$File_MailLogs = $Folder_MailLogs + "test.txt"
if ( -not (Test-Path $Folder_MailLogs -PathType Container) ) { mkdir $Folder_MailLogs }
$RemoveFiles_String =  $Folder_MailLogs + "\*.txt"
Remove-Item $RemoveFiles_String

$IronPortServer = ("aaa-bbb-101.com")
$source_file = "admin@" + $IronPortServer + ":/mail_logs/*"
echo y | &($SOFTWARE_PATH + "/pscp.exe") -i $PRIVKEY $source_file $File_MailLogs

查看 运行 脚本的屏幕截图,显示实际上正在下载所有文件

我不得不使用 https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter5.html 中描述的 UNSAFE 选项。这样我就可以下载所有文件(不会被覆盖)。 所以命令是:

echo y | &($SOFTWARE_PATH + "/pscp.exe") -unsafe -i $PRIVKEY $source_file $Folder_MailLogs