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!

Recommended Posts

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 to comment

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/

Edited by daabm
Link to comment

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 to comment

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 to comment
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...