PowerShellスクリプトを使用してSFTPサーバーからローカルマシンにファイルをダウンロードする必要があります。PowerShellを使用してSFTPサーバーからファイルをダウンロード
ダウンロードに使用されるAPI /ライブラリでは、転送の結果を監視し、転送を記録し、ダウンロードしたファイルをアーカイブ/移動できる必要があります。
ありがとうございます。
PowerShellスクリプトを使用してSFTPサーバーからローカルマシンにファイルをダウンロードする必要があります。PowerShellを使用してSFTPサーバーからファイルをダウンロード
ダウンロードに使用されるAPI /ライブラリでは、転送の結果を監視し、転送を記録し、ダウンロードしたファイルをアーカイブ/移動できる必要があります。
ありがとうございます。
PowerShellまたは.NETフレームワークにSFTPサポートはありません。したがって、外部SFTPライブラリを使用する必要があります。
あなたの質問にあなた自身がタグ付けされている可能性のあるものはWinSCP .NET assemblyです。 using WinSCP from PowerShellに関する記事があります。
code example in PowerShell for SFTP downloadもあります:
try
{
# Load WinSCP .NET assembly
Add-Type -Path "WinSCPnet.dll"
# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Sftp
HostName = "example.com"
UserName = "user"
Password = "mypassword"
SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx..."
}
$session = New-Object WinSCP.Session
try
{
# Connect
$session.Open($sessionOptions)
# Download files
$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.TransferMode = [WinSCP.TransferMode]::Binary
$transferResult =
$session.GetFiles("/home/user/*", "d:\download\*", $False, $transferOptions)
# Throw on any error
$transferResult.Check()
# Print results
foreach ($transfer in $transferResult.Transfers)
{
Write-Host "Download of $($transfer.FileName) succeeded"
}
}
finally
{
# Disconnect, clean up
$session.Dispose()
}
exit 0
}
catch [Exception]
{
Write-Host "Error: $($_.Exception.Message)"
exit 1
}
WinSCPをGUIでもgenerate a PowerShell SFTP download code、上記のような、特定のセッション設定と転送オプションについて次のことができます。
(私はWinSCPのの著者です)
PowerShell ISEで実行すると、WINSCPから生成されたコードがエラーを出しています。 Add-Type:パラメータ 'Path'をターゲットにバインドできません。例外設定 "パス": "パスが見つかりません 'C:\ Users \ ratnesh.sharma \ WinSCPnet.dll' が存在しないためです。ラインで :2文字:16 + -Path "WinSCPnet.dll" + ~~~~~~~~~~~~~~~ + CategoryInfo-タイプを追加します。WriteError:(:) [アドオンタイプ]、ParameterBindingException + FullyQualifiedErrorId:ParameterBindingFailed、Microsoft.PowerShell.Commands.AddTypeCommand –
指示に従っていますか? https://winscp.net/english/docs/library_powershell#installing_the_assembly –
これはうまくいきました。SFTPフォルダに同じ名前で同じパスに2つのファイルがある場合、ファイルを追加する必要があります。 –
オーケーマーティン、私は私の心でこれを維持します。 Powershellスクリプトを使用してSFTPから私のローカルマシンにファイルをダウンロードするのを手伝ってもらえますか? –