Wie überprüfe ich mit PowerShell, ob der SFTP-Transfer erfolgreich war, und schreibe es in ein Log?

Antwort

Um in PowerShell zu überprüfen, ob ein SFTP-Transfer erfolgreich war, und das Ergebnis in ein Log zu schreiben, kannst du das folgende Skript verwenden. Dieses Skript setzt voraus, dass du das `WinSCP`-Modul verwendest, das eine beliebte Wahl für SFTP-Transfers in PowerShell ist. 1. Installiere das WinSCP-Modul, falls noch nicht geschehen: ```powershell Install-Module -Name WinSCP ``` 2. Erstelle ein PowerShell-Skript, das den SFTP-Transfer durchführt und das Ergebnis in ein Log schreibt: ```powershell # Importiere das WinSCP .NET Assembly Add-Type -Path "C:\Path\To\WinSCPnet.dll" # Konfiguriere die SFTP-Verbindung $sessionOptions = New-Object WinSCP.SessionOptions -Property @{ Protocol = [WinSCP.Protocol]::Sftp HostName = "example.com" UserName = "username" Password = "password" SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx...=" } $logFile = "C:\Path\To\LogFile.log" try { $session = New-Object WinSCP.Session $session.Open($sessionOptions) # Definiere die Dateiübertragungsoptionen $transferOptions = New-Object WinSCP.TransferOptions $transferOptions.TransferMode = [WinSCP.TransferMode]::Binary # Führe den Dateiübertragungsbefehl aus $transferResult = $session.PutFiles("C:\Path\To\LocalFile.txt", "/remote/path/", $False, $transferOptions) # Überprüfe, ob der Transfer erfolgreich war if ($transferResult.IsSuccess) { Add-Content -Path $logFile -Value "$(Get-Date) - Transfer erfolgreich" } else { Add-Content -Path $logFile -Value "$(Get-Date) - Transfer fehlgeschlagen" } # Schließe die Sitzung $session.Dispose() } catch { # Fehlerbehandlung Add-Content -Path $logFile -Value "$(Get-Date) - Fehler: $_" } ``` Ersetze die Platzhalter wie `C:\Path\To\WinSCPnet.dll`, `example.com`, `username`, `password`, `C:\Path\To\LocalFile.txt`, und `/remote/path/` durch die entsprechenden Werte für deine Umgebung. Dieses Skript öffnet eine SFTP-Sitzung, überträgt eine Datei und schreibt das Ergebnis des Transfers in eine Logdatei. Wenn der Transfer erfolgreich ist, wird eine entsprechende Nachricht in das Log geschrieben. Andernfalls wird eine Fehlermeldung protokolliert.

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