Я немного борюсь с использованием переменной с командой pscp.Powershell возвращает Локальная копия не поддерживается при использовании переменных в pscp
ForEach ($Server in $Servers)
{
.\pscp.exe -pw $password create_ssh [email protected]$Server:/home/$myUsername/create_ssh
.\plink.exe -pw $password [email protected]$Server -C "uname -r"
}
Выход
Local to local copy not supported
2.6.32-573.1.1.el6.x86_64
Когда я пытаюсь указать имя хоста не использует переменную там не какой-либо проблемы с передачей файла. Однако если я пытаюсь использовать переменную $ сервера, я получаю сообщение об ошибке «Локальная копия не поддерживается» Я думал, что это может быть проблема с самой переменной, но. \ Палить работает без каких-либо проблем
Я пытался использовать запятые, escape @, полные пути и т. д. ничего не работает. Я не могу использовать winscp.dll, поскольку в этом конкретном случае мне нужно автоматически принимать ключи хоста (что небезопасно, но действительно специфично только для этого случая) - это предоставляется только pscp.
Большое спасибо!
WinSCP .NET сборка не поддерживает автоматический прием хоста (используйте [SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey'] (https://winscp.net/rus/docs/library_sessionoptions#giveupsecurityandacceptanysshhostkey)), что в точности противоречит pscp, а это не так. –