Wie hole ich Daten mit PowerShell vom SFTP und schreibe sie in ein Log, wenn erfolgreich?

Antwort

Um Daten von einem SFTP-Server mit PowerShell zu holen und den Erfolg in ein Log zu schreiben, kannst du das `WinSCP`-Modul verwenden. Hier ist ein Beispielskript, das zeigt, wie das gemacht werden kann: 1. Installiere das `WinSCP`-Modul, falls noch nicht geschehen: ```powershell Install-Module -Name WinSCP ``` 2. Erstelle ein PowerShell-Skript, das die Daten vom SFTP-Server holt und den Erfolg in ein Log schreibt: ```powershell # Importiere das WinSCP .NET Assembly Add-Type -Path "C:\Program Files (x86)\WinSCP\WinSCPnet.dll" # Konfiguriere die SFTP-Verbindung $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 { # Öffne die Sitzung $session.Open($sessionOptions) # Definiere die Transferoptionen $transferOptions = New-Object WinSCP.TransferOptions $transferOptions.TransferMode = [WinSCP.TransferMode]::Binary # Lade die Datei herunter $transferResult = $session.GetFiles("/remote/path/file.txt", "C:\local\path\file.txt", $False, $transferOptions) # Überprüfe, ob der Transfer erfolgreich war if ($transferResult.IsSuccess) { # Schreibe in das Log Add-Content -Path "C:\path\to\logfile.log" -Value "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - Datei erfolgreich heruntergeladen." } else { # Schreibe in das Log Add-Content -Path "C:\path\to\logfile.log" -Value "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - Fehler beim Herunterladen der Datei." } } catch { # Schreibe in das Log bei einem Fehler Add-Content -Path "C:\path\to\logfile.log" -Value "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - Ausnahme aufgetreten: $_" } finally { # Schließe die Sitzung $session.Dispose() } ``` Dieses Skript verbindet sich mit einem SFTP-Server, lädt eine Datei herunter und schreibt den Erfolg oder Fehler in ein Logfile. Stelle sicher, dass du die Pfade und Anmeldeinformationen entsprechend anpasst. Weitere Informationen zu WinSCP und dessen Verwendung findest du auf der offiziellen Website: [WinSCP](https://winscp.net/).

Kategorie: Technologie Tags: PowerShell SFTP Log
Frage stellen und sofort Antwort erhalten