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
Akiba Pass Festa Fall Edition: Attack on Titan Panel am Sonntag
wallpaper-1019588
[Comic] Black Hammer: Colonel Weird – Cosmagog
wallpaper-1019588
Maden in der Küche: So befreien Sie Ihre Küche von den Maden
wallpaper-1019588
Beste Gaming-Stühle mit Fußstütze