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
Mit Kindern über gleichgeschlechtliche Liebe reden
wallpaper-1019588
[Comic] Seven Sons
wallpaper-1019588
Momentary Lily: Original-Anime angekündigt
wallpaper-1019588
LUCK LIFE: Band feiert Europapremiere auf der Connichi