Remove FTP Files Older Than
Zuletzt geändert: 14.03.2026 05:56

Remove-FtpFilesOlderThan #

ÜBERSICHT #

Löscht bestimmte Dateien aus einem FTP- oder FTPS-Verzeichnis, die älter als eine bestimmte Anzahl Tage sind. Unterstützt -WhatIf und -Confirm zur Simulation und Sicherheitsabfrage.

SYNTAX #

Remove-FtpFilesOlderThan [-Server] <string> [[-Protocol] <string>] [[-Port] <int>] [-ActiveMode]
    [-User] <string> [[-Password] <securestring>] [[-PlainPassword] <string>] [[-PasswordPath]
    <string>] [-RemoteFolder] <string> [[-Extension] <string>] [[-Days] <int>] [[-MinFiles] <int>]
    [-UseBaseDateFromFile]

BESCHREIBUNG #

Diese Funktion verbindet sich mit einem FTP- oder FTPS-Server und löscht Dateien in einem Remote-Verzeichnis, die älter als eine bestimmte Anzahl Tage sind. Optional kann eine Dateierweiterung gefiltert werden, und es kann festgelegt werden, dass immer mindestens eine bestimmte Anzahl Dateien im Verzeichnis verbleibt.

Unterstützt FTP und FTPS (explizit), aktiven oder passiven Modus, sowie Authentifizierung über SecureString, Klartext oder Passwortdatei.

PARAMETER #

-Server #

Type: string

Hostname oder IP-Adresse des FTP-Servers.

-Protocol #

Type: string
Default: 'ftp'

Gibt das Protokoll an (ftp oder ftps). Standard: ftp.

-Port #

Type: int
Default: 21

Portnummer des Servers. Standard: 21.

-ActiveMode #

Type: switch

Wenn gesetzt, wird der aktive FTP-Modus verwendet. Standard ist passiv.

-User #

Type: string

Benutzername für die Anmeldung.

-Password #

Type: securestring

Passwort als SecureString.

-PlainPassword #

Type: string

Passwort im Klartext. Wird intern in SecureString konvertiert.

-PasswordPath #

Type: string

Pfad zu einer Datei, die das Passwort enthält (Text oder XML via Export-Clixml).

-RemoteFolder #

Type: string

FTP-Verzeichnis, in dem die Dateien geprüft und ggf. gelöscht werden.

-Extension #

Type: string
Default: '.done'

Filtert Dateien nach einer Erweiterung (z. B. .done). Standard: .done.

-Days #

Type: int
Default: 14

Alter in Tagen. Dateien, die älter als dieser Wert sind, werden gelöscht. Standard: 14.

-MinFiles #

Type: int
Default: 0

Minimale Anzahl Dateien, die im Verzeichnis verbleiben sollen (z. B. 5). Standard: 0.

-UseBaseDateFromFile #

Type: switch

Wenn gesetzt, wird das Datum der neuesten Datei als Basisdatum verwendet, sonst das aktuelle Datum.

AUSGABEN #

int

Anzahl gelöschter Dateien.

BEISPIELE #

# Löscht .done-Dateien, die älter als 14 Tage sind
Remove-FtpFilesOlderThan -Server 'ftp.example.com' -User 'admin' -PlainPassword 'secret' `
                         -RemoteFolder '/queue' -Extension '.done' -Days 14
# Simulation mit WhatIf (zeigt nur an, was gelöscht würde)
Remove-FtpFilesOlderThan -Server 'ftp.example.com' -Protocol 'ftps' -User 'cn' `
                         -PasswordPath 'C:\Users\cn\.eulandaconnect\pw.xml' `
                         -RemoteFolder '/archive' -Extension '.zip' -Days 30 -MinFiles 2 -WhatIf

HINWEISE #

  • Unterstützt FTP und FTPS (explizit)
  • Unterstützt -WhatIf und -Confirm (ConfirmImpact=‘High’)
  • Kompatibel mit PowerShell 5.1 und 7+