coen17stam
Gebruiker
- Lid geworden
- 21 aug 2010
- Berichten
- 55
Hallo,
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 mail mij dan het bestand wat in de folder zit.
Iemand hier die mij opweg kan helpen?
1.
2.
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 mail mij dan het bestand wat in de folder zit.
Iemand hier die mij opweg kan helpen?
1.
Code:
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
}
2.
Code:
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"