For this example we’ll use a powershell script that sends an email to the admin when a new file has been uploaded to ProVide.
# Setup script parameters param ([Parameter(Mandatory=$true)][string]$local, [Parameter(Mandatory=$true)][string]$ftp) # Email parameters $SMTPServer = "mailserver.domain.com" $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) $SMTPClient.EnableSsl = $true # The email address that will appear to be the sender of the email. $EmailFrom = "from@domain.com" # The email address that will receive the email. $EmailTo = "to@domain.com" # This will be the subject of the email. $Subject = "New file" # The email text that will be sent will be what is contained within the '@"' in the start and the '"@' in the end. $Body = @" A new file has arrived through $ftp, ending up in $local. Best regards, ProVide "@ # If credentials are required for sending through this SMTP server $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("domain\user", "password"); # If we should skip certification validation check for this SMTP server [System.Net.ServicePointManager]::ServerCertificateValidationCallback = { return $true } # Now we are ready to send the message $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
We want this script to trigger when a user is done uploading a file so go to the “Messages and events” in the provide administrator interface and select “OnUploadEnd” from the drop-down menu. We want to add the follow line to the message box:
%EXECUTE(Powershell.exe -File "c:\PATH\TO\SCRIPT\SCRIPT.ps1" -local "%LOCAL_FILENAME%" -ftp "%FTP_FILENAME%")%
This line is telling ProVide that when the upload has been finished it will execute the powershell script located at the path and it will send with it the ‘local_filename’ and ‘ftp_filename’.
If you wish to read more about this subject you can go to our CMD examples.