Я получаю более одного удаленного источника, не поддерживается ошибка на PSCP, если мой сценарий написан так (без проблем с plink):
Я хочу получить файлы с нескольких серверов UNIX на локальный windows Может ли кто-нибудь помочь мне проверить мой код?
#Server Information:
$Server_IP=@("root@192.168.13.10","root@192.168.13.11")
$PPK_Path="C:\Users\me\Desktop\private-key.ppk"
#Local machine related information
$Dest_Path=@("C:\Users\me\Desktop\savehere01\","C:\Users\me\Desktop\savehere02\")
#Commands //Change with cautious
For ($i=0; $i -le 2; $i++) {
#Prompt computer to start plink.exe to insert private key and enable ssh
Echo "n" | plink -ssh -i $PPK_Path $Server_IP[$i]
#Prompt Powershell to run scp
pscp -r $Server_IP[$i]:/cf/conf/backup/* $Dest_Path[$i]
}
Однако, если я запускаю свой скрипт, как показано ниже, я могу получить файлы с нескольких серверов на один локальный хост.
Echo "y" | plink -ssh -i C:\Users\me\Desktop\private-key.ppk root@192.168.13.32
pscp -pw testing -r root@192.168.13.10:/cf/conf/backup/* C:\Users\me\Desktop\savehere\
Echo "y" | plink -ssh -i C:\Users\me\Desktop\private-key.ppk root@192.168.13.11
pscp -pw testing -r root@192.168.13.11:/cf/conf/backup/* C:\Users\me\Desktop\savehere02\
РЕДАКТИРОВАТЬ
foreach ($IP in $Server_IP){
#Prompt computer to start plink.exe to insert private key and enable ssh
Echo "y" | plink -ssh -i $PPK_Path $IP
#Prompt Powershell to run pscp
pscp -pw testing -r $IP":"/cf/conf/backup/* C:\Users\me\Desktop\savehere\
}