Hallo,
Iemand hier die mij opweg kan helpen?
Ik heb inmiddels twee powershell scriptjes namelijk;
1. Email mij een bestanden in een spicifieke folder met de inhoud van de folder als bijlage.
2. Houdt een specifieke folder in de gaten op veranderingen
Punt is nu dat ik deze twee wil combineren dus, wanneer er een verandering plaats vind in een specifieke folder mijn dan een stuurd met als bijlage bestanden welke in de folder zitten.
Script.1
Iemand hier die mij opweg kan helpen?
Ik heb inmiddels twee powershell scriptjes namelijk;
1. Email mij een bestanden in een spicifieke folder met de inhoud van de folder als bijlage.
2. Houdt een specifieke folder in de gaten op veranderingen
Punt is nu dat ik deze twee wil combineren dus, wanneer er een verandering plaats vind in een specifieke folder mijn dan een stuurd met als bijlage bestanden welke in de folder zitten.
Script.1
Script 2.Param (
[string]$Path = "D:\99_OVERIGE\05_LOGS\01_FREE_FILE_SYNC\",
)
#Connection Details
$username=”mijnemaildadres@hotmail.com”
$password=”wachtwoord”
$smtpServer = “smtp.live.com”
$msg = new-object Net.Mail.MailMessage
#Change port number for SSL to 587
$smtp = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
#Uncomment Next line for SSL
$smtp.EnableSsl = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential( $username, $password )
#From Address
$msg.From = "mijnemaildadres@hotmail.com"
#To Address, Copy the below line for multiple recipients
$msg.To.Add(“mijnemaildadres@hotmail.com”)
#Message Body
$msg.Body=”Free File Sync is klaar, hierbij het LOG bestand”
#Message Subject
$msg.Subject = “Notificatie”
$File = Get-ChildItem $Path | Where { $_.LastWriteTime -ge [datetime]::Now.AddMinutes(-10) }
If ($File)
{ $SMTPBody = "`nThe following files have recently been added/changed:`n`n"
$File | ForEach { $SMTPBody += "$($_.FullName)`n" }
Send-MailMessage @SMTPMessage -Body $SMTPBody
}
Function Register-Watcher {
param ($folder)
$filter = "*.*" #all files
$watcher = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubdirectories = $false
EnableRaisingEvents = $true
}
$changeAction = [scriptblock]::Create('
# This is the code which will be executed every time a file change is detected
$path = $Event.SourceEventArgs.FullPath
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file $name was $changeType at $timeStamp"
')
Register-ObjectEvent $Watcher "Changed" -Action $changeAction
}
Register-Watcher "D:\99_OVERIGE\05_LOGS\01_FREE_FILE_SYNC"