フォルダーから別のサーバーにファイルを転送するスクリプトを書く必要があります(Linux)が、ファイルを転送するスクリプトはWindows上にあり、PowerShellの代わりにscp
の代替があるかどうかは疑問でした(または、PowerShellの代替SCPはありますか?
答えて
pscp.exe
は現実的な選択肢ですが、私は、私はSFTPとFTPS転送のために今数年のためにRebexからライブラリを使用していますC#アプリケーションとPowerShellスクリプトの両方が大成功を収めています。彼らのパッケージにはan SCP objectも含まれていますが、私は個人的に使っていません。
無料ですが、お金はpscp
です。 Rebexパッケージを選択する前に、私はPuTTYルートを検討していましたが、チームは長期的にはどんなアプリ/スクリプトにも簡単に巻き込むことができるライブラリがあれば価値があると判断しました。
予算があれば、はい:-) –
このブログ記事は、Rebex SFTPをPowerShellで稼働させるのに役立ちます。http://blog.rebex.net/news/archive/2008/ 09/25/how-to-use-FTP-or-SFTP-in-PowerShell.aspx –
Puttyというpscp.exe
と呼ばれる便利なツールがあり、これは簡単にpowershellで呼び出すことができます。
以下の例では、ウィンドウからCentOSボックスへのコピー(ユーザーコード「請求書」としてログイン)と-pw
スイッチのpscp
を使用してパスワードを渡します。そうでなければ、生成されたコマンドウィンドウはLinuxパスワード):
Start-Process 'C:\Program Files (x86)\PuTTY\pscp.exe' -ArgumentList ("-scp -pw password C:\Document.rtf [email protected]:/home/bill/")
PuTTY Secure Copy client
Release 0.62
Usage: pscp [options] [[email protected]]host:source target
pscp [options] source [source...] [[email protected]]host:target
pscp [options] -ls [[email protected]]host:filespec
Options:
-V print version information and exit
-pgpfp print PGP key fingerprints and exit
-p preserve file attributes
-q quiet, don't show statistics
-r copy directories recursively
-v show verbose messages
-load sessname Load settings from saved session
-P port connect to specified port
-l user connect with specified username
-pw passw login with specified password
-1 -2 force use of particular SSH protocol version
-4 -6 force use of IPv4 or IPv6
-C enable compression
-i key private key file for authentication
-noagent disable use of Pageant
-agent enable use of Pageant
-batch disable all interactive prompts
-unsafe allow server-side wildcards (DANGEROUS)
-sftp force use of SFTP protocol
-scp force use of SCP protocol
スクリプトにパスワードを入力する代わりに、キーベースの認証を使用します。 – slestak
公正な点は、PSCPが要求された仕事を行うことができることを示すためのちょっとした例でした:-) –
ここにWindows noobがあります。私がこれを行うと、約10秒後に消える空白のコンソールウィンドウが表示され、SCP転送は発生していないように見えます。何が起こっているかもしれないかについての任意のアイデア? – jayhendren
".NET優しい" 方法もあります:
を使用すると、sshコマンドを実行するためにSharpSSH DLLを使用し、SCP/SFTPのtranfersを行うことができます。例えば
:
[Reflection.Assembly]::LoadFrom((Resolve-Path .\Tamir.SharpSSH.dll))
$ssh = New-Object Tamir.SharpSsh.Sftp("server","user","password")
$ssh.Connect()
$ssh.Put("C:\localfile","distantfile")
$ssh.Close()
SSH.Netライブラリがありますが、あまりにも、それは近似的に同じことを行います。
SCP転送にWinSCP .NET assemblyからPowerShellを使用できます。例えば
はhttp://winscp.net/eng/docs/library_powershell#example
例では、SFTPプロトコルを使用して参照します。 SCPを使用するには、単にそれを修正する:サーバーのサポートSCPプロトコル場合けれども
$sessionOptions.Protocol = [WinSCP.Protocol]::Scp
、それはまた、SFTPをサポート可能性があります。あなたがオプションを持っているならSFTPが良い選択です。
- 1. Socket.IO(または代替)用のホスティングサービスはありますか?
- 2. Sensor.TYPE_ROTATION_VECTORにはドリフトがあります:代替手段はありますか?
- 3. TemplateControl.ParseControlより高速な代替手段はありますか?
- 4. mySQLの "last_update_ID()"の代替手段はありますか?
- 5. wpfのrichtextboxの良い代替手段はありますか?
- 6. no-javascript用のhrefの代替はありますか?
- 7. モジュール内のtasklist_lockの代替手段はありますか?
- 8. Mac用のVisioの代替方法はありますか?
- 9. 2.2のActionBarの代替手段はありますか?
- 10. UIプログラミングのコールバックの代替手段はありますか?
- 11. 処理中のポートマップの代替方法はありますか?
- 12. ReplayDIRECTOR/Chronon Debuggerのオープンソースの代替品はありますか?
- 13. jQuery UIのウィジェットの代替手段はありますか?
- 14. Vb.netの匿名メソッドの代替案はありますか?
- 15. Linuxシステム用のgdbの代替手段はありますか?
- 16. Ruby on Rails用のビーストの代替品はありますか
- 17. Windows Phone上のWaitHandle.WaitAllの代替手段はありますか?
- 18. JavaのRedDwarfネットワーキングソリューションの.NET代替手段はありますか?
- 19. VBA開発のための代替IDEはありますか?
- 20. WindowsのPowの代替手段はありますか?
- 21. VimからPathogenに代わるEmacsの代替品はありますか?
- 22. StringUtils.isNumericの代替手段はありますか?
- 23. Active Record in Railsの代替手段はありますか?
- 24. TortoiseSVNの良い代替手段はありますか?
- 25. cprintfの代替手段はありますか?
- 26. GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT)の代替手段はありますか?
- 27. Keycloak-Tomcat-Adapter: 'keycloak.json'の代替パスはありますか?
- 28. Silktestに無料の代替品はありますか?
- 29. Windows用catの代替品はありますか
- 30. .Net 4 Code Contractsスタティックアナライザーの代替品はありますか?
PowerShellバージョン3以降を使用している場合、https://github.com/darkoperator/Posh-SSHはオプションです。 –