Powershell dan SFTP.exe


1

Apakah mungkin untuk mem-pipe konten folder pada situs SFTP ke file lokal mirip dengan program windows sinnate ftp.exe di mana sintaks:

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

tetapi sintaks yang sama tidak bekerja dengan SFTP.exe. Saya harus dapat memproses satu nama file pada suatu waktu dalam skrip powershell dan saya tidak bisa melihat cara untuk meneruskan nama file dari program SFTP.exe ke skrip powershell dan kembali tanpa dapat mengurai file teks dengan isi direktori .

Jika ada yang punya ide atau saran, beri tahu saya. terima kasih rp

Jawaban:


1

Saya menggunakan komponen .NET Rebex untuk FTPS & SFTP di program C # saya & skrip PowerShell. Saya merasa jauh lebih mudah daripada membolak-balik program eksternal yang tidak benar-benar dirancang untuk berinteraksi dengan lancar dengan skrip & aplikasi lain.

Sunting: Karena uang adalah masalah, pernahkah Anda mencoba menggunakan salah satu utilitas yang dibundel dengan Putty ?


Saya menghargai jawabannya tetapi, sebagai agen publik tanpa dana untuk perangkat lunak tambahan, harga $ 350 keluar dari liga.
user194104

Pada $ 20 / jam (untuk membuat matematika mudah), jika Anda menghabiskan 2 hari berjuang dengan sftp.exedan belum membuatnya bekerja, Anda sudah menghabiskan sekitar $ 350 dari dana agensi dan masih belum punya solusi. Saya mengerti apa yang Anda katakan, tetapi waktu memang memiliki nilai dolar. Lihat hasil edit saya untuk saran lain.
alroc

0

Fungsi Push-FTP dari PowerShell Pipeworks melakukan ini, tetapi tidak sesempurna yang saya inginkan. Saya akan melakukan pengeditan yang diperlukan untuk mendukung pemipaan yang mulus dalam beberapa hari. Ini juga menyediakan bilah kemajuan selama unggahan.

Ini sebuah contoh:

Push-Ftp -Path c:\Example -Include *.aspx

0

Saya menggunakan PSFTP dempul yang bekerja sangat baik dengan PowerShell.

Pemakaian:

mari kita buat $ tempContentFile yang berisi perintah ftp dalam pengkodean 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;

Pertama, kita perlu memastikan bahwa sertifikat SSL server jarak jauh diterima / disimpan secara lokal

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

Daripada perintah psftp itu sendiri:

$out = .\psftp.exe $($attribute_IP) -l $($attribute_user) -pw $($attribute_password) -b $tempContentFile
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.