下面是我的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查看运行脚本的屏幕截图,显示实际上正在下载所有文件

发布于 2020-03-29 22:33:07
我不得不使用https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter5.html中描述的不安全选项。有了这个,我可以下载所有的文件(不会被覆盖)。所以命令是:
echo y | &($SOFTWARE_PATH + "/pscp.exe") -unsafe -i $PRIVKEY $source_file $Folder_MailLogs
https://stackoverflow.com/questions/60889731
复制相似问题