# Script Name: rdp-access-mail-notification.v3.local.ps1 # Beschreibung: Versendet eine Mail, wenn sich jemand per RDP auf einem System anmeldet # Aufruf: - # Autor: Patrick Asmus # Web: https://www.media-techport.de # Git-Reposit.: https://git.media-techport.de/scriptos/private-script-collection.git # Version: 3.1 # Datum: 22.10.2023 # Modifikation: Umzug ins neue Repo und damit verbundene Anpassungen ##################################################### # Konfigurationsparameter $SMTPServer = "smtp.media-techport.int" $FromName = "Media-Techport.DE | Notification Service" $FromEmail = "noreply@media-techport.de" $LogoURL = "https://assets.media-techport.de/logos/main/LogoSchwarz.png" $ManualRecipient = "system@media-techport.de" # Funktion zum Senden von E-Mails function Send-Email { param( [string]$To, [string]$Subject, [string]$HTMLBody ) $emailMessage = @" $HTMLBody "@ Send-MailMessage -SmtpServer $SMTPServer -From "$FromName <$FromEmail>" -To $To -Subject $Subject -Body $emailMessage -BodyAsHtml -Encoding "UTF8" } # Parameter aus dem Ereignisprotokoll auslesen $eventID = 1149 # Event ID für RDP-Anmeldungen $eventLogName = "Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational" $latestEvent = Get-WinEvent -LogName $eventLogName -FilterXPath "" | Select-Object -First 1 if ($latestEvent) { $xml = [xml]$latestEvent.ToXml() if ($xml.Event.UserData) { $user = $xml.Event.UserData.EventXML.Param1 $domain = $xml.Event.UserData.EventXML.Param2 $clientIP = $xml.Event.UserData.EventXML.Param3 $eventTime = $latestEvent.TimeCreated $computerName = $latestEvent.MachineName $HTMLBody = @"

Hallo Patrick Asmus,

Es wurde eine Anmeldung per RDP auf der Windows Maschine $computerName registriert.

Datum: $($eventTime.ToString('dd.MM.yyyy'))
Uhrzeit: $($eventTime.ToString('HH:mm:ss'))
Domäne: $domain
Benutzer: $user
IP-Adresse des Clients: $clientIP

"@ Send-Email -To $ManualRecipient -Subject "RDP-Anmeldung auf $computerName registriert" -HTMLBody $HTMLBody } }