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
[Comic] Plastok [1]
wallpaper-1019588
NAD+ und Langlebigkeit: Wie das Zellwunder-Molekül deinen Alterungsprozess verlangsamen kann
wallpaper-1019588
Der Traum vom Model werden – erste Schritte in die Modewelt
wallpaper-1019588
Naturerlebnisse in Lettland