Benutzer mit den meisten Antworten
FileSystemWatcher Mail verschicken wenn Ordnerstruktur sich verändert

Frage
-
Hallo zusammen:)
Ich habe die Aufgabe bekommen, Verzeichnisse zu überwachen. Nun habe ich eine Vorlage genommen (FileSystemWatcher). Nun möchte ich, das wenn sich ein Ordner verschiebt oder gelöscht wird, eine Mail an mich verschickt wird. Komme nicht auf die Lösung. Könntet ihr mir einige Tipps geben der zum Ziel führt?
Der jetztige Quellcode:
#Überwachungsscript
#Autor: JuiiceeHead
#Datum: 25.11.2016
#------------------- Ordner überwachen --------------------$folder = 'C:\Users\PC18\Desktop\Stecher' #Verzeichnis das überwacht wird
$filter = '*.*' #Filter einsetzen (zb nur bilder(.png))
#Unterordner auch überwachen?
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}
# Here, all three events are registerd. You need only subscribe to events that you need:
Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file '$name' was $changeType at $timeStamp" -fore green
Out-File -FilePath C:\Users\PC18\Desktop\Outlog.txt -Append -InputObject "The file '$name' was $changeType at $timeStamp"}
Register-ObjectEvent $fsw Deleted -SourceIdentifier FileDeleted -Action {
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file '$name' was $changeType at $timeStamp" -fore red
Out-File -FilePath C:\Users\PC18\Desktop\Outlog.txt -Append -InputObject "The file '$name' was $changeType at $timeStamp"}
Register-ObjectEvent $fsw Changed -SourceIdentifier FileChanged -Action {
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file '$name' was $changeType at $timeStamp" -fore white
Out-File -FilePath C:\Users\PC18\Desktop\Outlog.txt -Append -InputObject "The file '$name' was $changeType at $timeStamp"}
#---------- Mail senden --------------$SMTPServer = "smtp.gmail.com"
$SMTPPort = "25"
$Username = "E-Mail Adresse"
$Password = "PW"
#$Dateiname = "C:\Users\PC18\Desktop\Outlog.txt"$file = "C:\Users\PC18\Desktop\Outlog.txt"
$attatchment = New-Object System.Net.Mail.Attachment($file)$to = "Empfänger"
$subject = "Ueberwachung Ordner"
$body = (Get-Date).ToShortTimeString()$message = New-Object System.Net.Mail.MailMessage
$message.subject = $subject
$message.body = $body
$message.to.add($to)
#$message.Attachments.Add($att)
$message.Attachments.Add($attatchment)$message.from = $Username$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.send($message)Vielen Dank
- Bearbeitet Denniver ReiningMVP, Moderator Sonntag, 27. November 2016 00:56 Titel repariert
Antworten
-
klingt irgendwie nach illegaler Überwachung?
warum nutzt du nicht die Audit Funktion von Windows. Wenn dann ein bestimmter Event auftritt kannst du dir ein Mail erzeugen lassen. Alles Standard von Windows
CH
- Bearbeitet -- Chris -- Samstag, 26. November 2016 08:23
- Als Antwort markiert Yavor TanevMicrosoft contingent staff Dienstag, 29. November 2016 12:40
Alle Antworten
-
klingt irgendwie nach illegaler Überwachung?
warum nutzt du nicht die Audit Funktion von Windows. Wenn dann ein bestimmter Event auftritt kannst du dir ein Mail erzeugen lassen. Alles Standard von Windows
CH
- Bearbeitet -- Chris -- Samstag, 26. November 2016 08:23
- Als Antwort markiert Yavor TanevMicrosoft contingent staff Dienstag, 29. November 2016 12:40
-
CH
- Als Antwort markiert Yavor TanevMicrosoft contingent staff Dienstag, 29. November 2016 12:40
- Tag als Antwort aufgehoben Denniver ReiningMVP, Moderator Dienstag, 29. November 2016 16:49
-
am Fileserver unter Eventvwr
CH
- Als Antwort markiert Yavor TanevMicrosoft contingent staff Dienstag, 29. November 2016 12:40
- Tag als Antwort aufgehoben Denniver ReiningMVP, Moderator Dienstag, 29. November 2016 16:49