Powershell e SFTP.exe

1

É possível canalizar o conteúdo de uma pasta em um site SFTP para um arquivo local semelhante ao programa window sinnate ftp.exe, em que a sintaxe é:

dir / MainDir / SubDir c: \ teste \ ftp \ CurrentContents.txt

mas a mesma sintaxe não funciona com o SFTP.exe. Eu preciso ser capaz de processar um nome de arquivo de cada vez em um script powershell e não vejo como passar nomes de arquivo do programa SFTP.exe para o script powershell e voltar sem poder analisar um arquivo de texto com o conteúdo do diretório .

Se alguém tiver alguma ideia ou sugestão, por favor avise-me. obrigado rp

    
por user194104 30.01.2013 / 21:31

3 respostas

1

Eu uso componentes .NET do Rebex para FTPS & SFTP em meus programas c # & Scripts do PowerShell. Eu acho muito mais fácil do que criar programas externos que não foram projetados para interagir suavemente com scripts & outras aplicações.

Edit: Como o dinheiro é um problema, você já tentou usar um dos utilitários empacotado com o PuTTY ?

    
por 30.01.2013 / 21:39
0

A função Push-FTP do PowerShell Pipeworks faz isso, mas não tão perfeitamente quanto eu gostaria. Farei as edições necessárias para oferecer suporte ao pipeline sem emenda em alguns dias. Também fornece uma barra de progresso durante os uploads.

Veja um exemplo:

Push-Ftp -Path c:\Example -Include *.aspx
    
por 08.10.2013 / 20:06
0

Estou usando o putty psftp que funciona muito bem com o powershell.

Uso:

vamos criar $ tempContentFile contendo comandos ftp na codificação ASCII

$tempContentFile = "$($workdir)\temp_get.txt"
$tempContent = "get -r /root/home/someuser/filestoDownload C:\temp\DownloadedFiles"
$out = out-file -filepath $tempContentFile -inputobject $tempContent -encoding ASCII;

Primeiro, precisamos garantir que o certificado SSL do servidor remoto seja aceito / armazenado localmente

$out = echo Y|.\plink.exe -v -ssh $($attribute_IP) -l $($attribute_user) -pw $($attribute_password) -batch exit 2>&1

Do que o comando psftp:

$out = .\psftp.exe $($attribute_IP) -l $($attribute_user) -pw $($attribute_password) -b $tempContentFile
    
por 06.02.2014 / 11:05