Jump to content

Applocker - Benachrichtigung per Email


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Forum,

 

wir haben derzeit Software Restriction Policies im Einsatz. Wir werden unserer Clients nach und nach auf Windows 10 Enterprise upgraden, daher bin ich am testen zur Einführung von Applocker. Ein Problem ist aber jetzt folgendes: ich hatte für SRP eine Aufgabe per GPO verteilt, die beim loggen des Events 865 eine Mail verschickt. Funktioniert perfekt.

Mail wird beim Event 8003 versendet, leider bekomme ich das Script nicht so hin, dass es mir z.B. für das Applocker-Event 8003 den Event-Text in die Mail schreibt.

Kann mir dabei jemand helfen? 

 

Das Script sieht folgendermaßen aus (abgeleitet von https://community.spiceworks.com/how_to/128255-event-log-notification-e-mail-automatic-gpo)

Clear-Host 

# ======================== 
# Collection Data Section 
# ======================== 

Function EventID-To-HTML($ComputerName = $env:COMPUTERNAME) 
{ 
$EventResult = wevtutil qe Applocker /rd:true /c:1 /f:text /q:"*[Applocker[(EventID=8003)]]" 
return $EventResult 

} 

# ====================== 
# Sending Email Section 
# ====================== 

$strFrom = "applocker@domain.de"
$strTo = "user@domain.de" 
$strSubject = "*** Event Listener - Applocker 8003 ***" 
$strSMTPServer = "mailserver" 

$objEmailMessage = New-Object system.net.mail.mailmessage 
$objEmailMessage.From = ($strFrom) 
$objEmailMessage.To.Add($strTo) 
$objEmailMessage.Subject = $strSubject 
$objEmailMessage.IsBodyHTML = $true 
$objEmailMessage.Body = EventID-To-HTML 

$objSMTP = New-Object Net.Mail.SmtpClient($strSMTPServer) 
$objSMTP.Send($objEmailMessage) 

 

Link zu diesem Kommentar

Naja, der Eventlog-Name sollte schon korrekt angegeben werden. Tipp: "Applocker" ist falsch :-) Den richtigen Namen findest Du in jedem Applocker-Event, das Dich interessiert. Vermutlich brauchst Du 2 oder 3 Logs (Exe/MSI/Script/AppX/xyz).

Edit: Das Skript hängt vermutlich als geplanter Task an einem Event-Trigger. Mit ein wenig Forschung kann man sich das Event dann auch direkt holen, das landet soweit ich weiß in Aufrufparametern des Tasks (und ja, auch ich müßte da erst forschen - hab ich noch nie gemacht, aber wenn ich so was implementieren würde, wäre das auf jeden Fall so möglich).

Edit 2: Falsches Forum - hier bist Du richtig https://www.mcseboard.de/forum/71-windows-forum-—-scripting/

bearbeitet von daabm
Link zu diesem Kommentar

Ich muss gestehen dass ich nicht so unbedingt der Coder bin :frown: Habe da also wenig Erfahrung. 

Ich habe jetzt auch mal einen Versuch mit Powershell gemacht mit dem Befehl 

 

Get-EventLog -LogName '"Microsoft-Windows-AppLocker/EXE and DLL"' | Where-Object {$_.EventID -eq 8003} | Select-Object -Property Source, EventID, InstanceId, Message

 

Hier moniert er aber dass das Eventlog nicht vorhanden sei. (Ich habe das ganze mit und ohne Anführungszeichen und wie angegeben versucht). Ich vermute hier einfach mal dass die hier die Leerzeichen im Eventlog-Namen das Problem sind... Anführungszeichen haben aber bisher nicht geholfen.

 

 

Link zu diesem Kommentar

Kurze Rückmeldung. Das Problem hat sich gelöst. Nachdem Get-winevent nicht alle benötigten Infos geliefert hatte, habe ich noch mal das Script mit wevtutil neu erstellt.

Ich hatte das ganze zwar schon mit "Microsoft-Windows-Applocker/EXE and DLL" versucht (ohne Ergebnis), aber erstaunlicherweise hat es bei diesem Anlauf funktioniert. Kann da nur nen Tippfehler oder einen Fehler beim kopieren vermuten.

 

Hier jetzt der funktionierende Code, falls jemand mal ein ähnliches Problem hat

 

Clear-Host 

# ======================== 
# Collection Data Section 
# ======================== 

Function EventID-To-HTML($ComputerName = $env:COMPUTERNAME) 
{ 
$EventResult = wevtutil qe "Microsoft-Windows-AppLocker/EXE and DLL" /rd:true /c:1 /f:text /q:"*[System[(EventID=8003)]]" 
return $EventResult 

} 

# ====================== 
# Sending Email Section 
# ====================== 

$strFrom = "applocker@domain.de"
$strTo = "username@domain.de" 
$strSubject = "*** Event Listener - Applocker 8003 ***" 
$strSMTPServer = "mailserver.domain.local" 

$objEmailMessage = New-Object system.net.mail.mailmessage 
$objEmailMessage.From = ($strFrom) 
$objEmailMessage.To.Add($strTo) 
$objEmailMessage.Subject = $strSubject 
$objEmailMessage.IsBodyHTML = $true 
$objEmailMessage.Body = EventID-To-HTML 

$objSMTP = New-Object Net.Mail.SmtpClient($strSMTPServer) 
$objSMTP.Send($objEmailMessage) 

 

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...