Send-FtpFile #
ÜBERSICHT #
Lädt eine lokale Datei auf einen FTP- oder FTPS-Server hoch.
SYNTAX #
Send-FtpFile [-Server] <string> [[-Protocol] <string>] [[-Port] <int>] [-ActiveMode] [[-ResumeAge]
<int>] [[-ResumeRetries] <int>] [-User] <string> [[-Password] <securestring>] [[-PlainPassword]
<string>] [[-PasswordPath] <string>] [-RemoteFolder] <string> [[-RemoteFile] <string>]
[-LocalFolder] <string> [-LocalFile] <string> [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion verbindet sich mit einem FTP- oder FTPS-Server und überträgt eine lokale Datei in ein angegebenes Remote-Verzeichnis. Wenn die Datei bereits existiert, kann der Upload automatisch fortgesetzt werden (Resume), sofern sie nicht älter als die durch -ResumeAge angegebene Zeit ist.
Fortgesetzt wird nur, wenn die Datei am Ziel der Anfang genau dieser lokalen Datei sein kann: nicht leer, kleiner als die lokale Datei und nicht älter als deren letzte Änderung. Ist sie unter diesen Bedingungen gleich groß, gilt der Upload als vollständig. In jedem anderen Fall wird die Datei am Ziel gelöscht und vollständig neu geschrieben (Regel in Get-FtpUploadMode). Bis 24.09.2026 genügten Alter und Größe, und aus einer älteren, kleineren Datei am Ziel und dem Rest der neuen entstand eine Mischdatei. -ResumeAge 0 schaltet das Fortsetzen ganz ab.
Authentifizierung kann über SecureString, Klartext oder eine Passwortdatei erfolgen. Unterstützt aktiven oder passiven Modus und optional SSL-Verschlüsselung bei FTPS.
Unterfunktionen wie Test-FtpFile, Remove-FtpFile, Get-FtpFileAge, Get-FtpFileSize und New-FtpFolder sollten die gleichen Passwortparameter (PlainPassword, PasswordPath) unterstützen.
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.
-ResumeAge #
Type: int
Default: 60 * 60 * 3
Maximales Alter (in Sekunden) einer vorhandenen Datei, für die ein Resume erlaubt ist. Standard: 3 Stunden (10800 Sekunden). 0 = nie fortsetzen, immer vollständig schreiben.
-ResumeRetries #
Type: int
Default: 7
Maximale Anzahl der Wiederholungsversuche bei fehlerhaftem Upload. Standard: 7.
-User #
Type: string
Benutzername zur Anmeldung.
-Password #
Type: securestring
Passwort als SecureString.
-PlainPassword #
Type: string
Passwort im Klartext. Wird automatisch in einen SecureString konvertiert.
-PasswordPath #
Type: string
Pfad zu einer Datei, die das Passwort enthält (Text oder Clixml).
-RemoteFolder #
Type: string
Zielverzeichnis auf dem Server, z. B. /upload.
-RemoteFile #
Type: string
Ziel-Dateiname auf dem Server. Wenn nicht angegeben, wird der Name der lokalen Datei verwendet.
-LocalFolder #
Type: string
Lokaler Ordner, in dem sich die zu sendende Datei befindet.
-LocalFile #
Type: string
Name der lokalen Datei, die übertragen werden soll.
AUSGABEN #
None (führt Upload durch)
BEISPIELE #
# Lädt eine Datei per FTP hoch
Send-FtpFile -Server 'ftp.example.com' -User 'admin' -PlainPassword 'secret' -RemoteFolder '/upload' -LocalFolder 'C:\temp' -LocalFile 'data.csv'
# Lädt Datei per FTPS hoch, Passwort aus Datei
Send-FtpFile -Server 'ftp.example.com' -Protocol 'ftps' -User 'cn' -PasswordPath 'C:\Users\cn\.eulandaconnect\pw.xml' -RemoteFolder '/in' -LocalFolder 'C:\files' -LocalFile 'report.zip' -Verbose
VERWANDTE LINKS #
- Get-FtpDir
- Get-FtpFileAge
- Get-FtpFileDate
- Get-FtpFileSize
- Get-FtpNewestFilename
- Get-FtpOldestFilename
- New-FtpFolder
- Receive-FtpFile
- Remove-FtpFile
- Remove-FtpFilesOlderThan
- Remove-FtpFolder
- Rename-FtpFile
- Rename-FtpFolder
- Test-FtpFile
- Test-FtpFolder
HINWEISE #
- Unterstützt FTP und FTPS
- Unterstützt Resume-Uploads
- Erstellt Remote-Verzeichnisse bei Bedarf automatisch
- Kompatibel mit PowerShell 5.1 und 7+