FTP Upload mit PowerShell automatisieren

FTP Upload mit PowerShell automatisieren

Ich hatte gerade die Problemstellung dass einige Datein regelmäßig auf einem FTP Server hochgeladen werden mussten.
Da kaum ein FTP Client zu finden ist der diese Funktion bereitstellen würde habe ich mir ein PowerShell Script zurecht gelegt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#FTP Multiple File Upload Script by Michael Reischl http://www.gamorz.de /-/ V.3
#Based on FTP Upload Script from http://www.thomasmaurer.ch
# FTP Config
$Username = "ftpuser" #FTP User
$Password = "ftppass" #FTP Password
$Dir = "\\unc\path\or\local\path/" #Local Folder
$RemotePath = "ftp://ftp.server.de/complete/path/" #Ftp Server + Folder
#Start Loop to Upload every file in Local Folder, files can be filtered.
foreach($item in (dir $Dir "*.crl"))
{
# Create FTP Request Object
$FTPRequest = [System.Net.FtpWebRequest]::Create("$RemotePath$item")
$FTPRequest = [System.Net.FtpWebRequest]$FTPRequest
$FTPRequest.Method = [System.Net.WebRequestMethods+Ftp]::UploadFile
$FTPRequest.Credentials = new-object System.Net.NetworkCredential($Username, $Password)
$FTPRequest.UseBinary = $true
$FTPRequest.UsePassive = $true
# Read the File for Upload
$FileContent = gc -en byte $item.Fullname
$FTPRequest.ContentLength = $FileContent.Length
# Get Stream Request by bytes
$Run = $FTPRequest.GetRequestStream()
$Run.Write($FileContent, 0, $FileContent.Length)
# Cleanup
$Run.Close()
$Run.Dispose()
}

Download FTP Upload Script

Damit lässt sich nun bequem und Zeitgesteuert ein ganzes Verzeichnis auf einen FTP Server stellen.
Wunderbar geeignet um z.B. die Zertifikatssperrlisten in Verbindung mit einem SSTP Server aktuell zu halten.


wallpaper-1019588
Gesundes Essen Teil 4
wallpaper-1019588
[Review] Manga ~ Taranta Ranta
wallpaper-1019588
Haustiergesundheit: Wichtige Tipps für das Wohlbefinden Deines Tieres
wallpaper-1019588
The 100 Girlfriends: Trailer zur zweiten Staffel veröffentlicht