Wie kann man PowerShell-Daten vom SFTP auf einen Netzwerkpfad verschieben?

Antwort

Um Daten von einem SFTP-Server auf einen Netzwerkpfad zu verschieben, kannst du PowerShell in Kombination mit einem SFTP-Modul wie `PSSFTP` oder `WinSCP` verwenden. Hier ist ein Beispiel, wie du dies mit `WinSCP` und PowerShell machen kannst: 1. **WinSCP herunterladen und installieren**: [WinSCP Download](https://winscp.net/eng/download.php) 2. **PowerShell-Skript erstellen**: ```powershell # Pfad zur WinSCP .NET Assembly $WinSCPLibPath = "C:\Program Files (x86)\WinSCP\WinSCPnet.dll" # Laden der WinSCP .NET Assembly Add-Type -Path $WinSCPLibPath # WinSCP SessionOptions konfigurieren $sessionOptions = New-Object WinSCP.SessionOptions -Property @{ Protocol = [WinSCP.Protocol]::Sftp HostName = "sftp.example.com" UserName = "username" Password = "password" SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx" } $session = New-Object WinSCP.Session try { # Verbindung zum SFTP-Server herstellen $session.Open($sessionOptions) # Herunterladen der Dateien vom SFTP-Server $transferOptions = New-Object WinSCP.TransferOptions $transferOptions.TransferMode = [WinSCP.TransferMode]::Binary $remotePath = "/remote/path/*" $localPath = "\\network\path\" $transferResult = $session.GetFiles($remotePath, $localPath, $False, $transferOptions) # Überprüfen, ob der Transfer erfolgreich war foreach ($transfer in $transferResult.Transfers) { Write-Host "Download of $($transfer.FileName) succeeded" } # Optional: Dateien auf dem SFTP-Server löschen foreach ($transfer in $transferResult.Transfers) { $session.RemoveFiles($transfer.FileName) } } catch { Write-Host "Error: $($_.Exception.Message)" } finally { # Sitzung schließen $session.Dispose() } ``` 3. **Skript ausführen**: Speichere das Skript als `.ps1` Datei und führe es in PowerShell aus. Dieses Skript stellt eine Verbindung zu einem SFTP-Server her, lädt Dateien herunter und verschiebt sie auf einen Netzwerkpfad. Stelle sicher, dass die Pfade und Anmeldeinformationen korrekt sind und dass die WinSCP-Bibliothek installiert ist.

Frage stellen und sofort Antwort erhalten