Marco31 33 Geschrieben 22. September 2020 Melden Teilen Geschrieben 22. September 2020 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) Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 22. September 2020 Melden Teilen Geschrieben 22. September 2020 (bearbeitet) 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 22. September 2020 von daabm Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 23. September 2020 Melden Teilen Geschrieben 23. September 2020 Hast du das ganze einmal debuggt und geschaut was in der Variable $EventResult steht? Wieso nutzt du wevtutil? Powershell kennt selbst die Eventlogs mittels https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-eventlog?view=powershell-5.1. Zitieren Link zu diesem Kommentar
Marco31 33 Geschrieben 23. September 2020 Autor Melden Teilen Geschrieben 23. September 2020 Ich muss gestehen dass ich nicht so unbedingt der Coder bin 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. Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 23. September 2020 Melden Teilen Geschrieben 23. September 2020 Vermutlich gibt es das Log nicht. Evtl. suchst du "Application" Zitieren Link zu diesem Kommentar
Marco31 33 Geschrieben 23. September 2020 Autor Melden Teilen Geschrieben 23. September 2020 Doch, das Log existiert. Ich habe jetzt mal einen Ansatz mit Powershell. Der Befehl get-winevent -logname "Microsoft-Windows-AppLocker/EXE and DLL" | Where-Object{$_.id -eq 8003} | ft message bringt mir schon mal die gewünschten Daten. Wie bekomme ich jetzt diese Ausgabe in den Text-Teil meiner Email? Zitieren Link zu diesem Kommentar
Marco31 33 Geschrieben 23. September 2020 Autor Melden Teilen Geschrieben 23. September 2020 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) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.