Letzte Aktualisierung am 12.10.2024, 10:10:24 Uhr
Wer VMware Horizon View im Intranet nutzt, denkt früher oder später auch darüber nach Zugriffsmöglichkeiten für Mitarbeiter/innen über das Internet zu realisieren. Mit dem mitgelieferten Webportal auf Basis von HTML5 ist dies natürlich perfekt geeignet, da keinerlei Installation auf dem heimischen Rechner/Notebook notwendig ist.
Für die Veröffentlichung wird normalerweise in der DMZ der VMware Horizon Security Server bereitgestellt, welcher mit einem weiterem VMware Horizon Connection Server im Intranet gekoppelt wird.
Versucht jemand sich von außen unberechtigt Zugang zu verschaffen, in dem er Benutzernamen und Passwörter ausprobiert, würde ich das gerne mitbekommen. Leider gibt es bisher seitens des Herstellers VMware keine Möglichkeit bei bestimmten Ereignissen sich benachrichtigen zu lassen.
Aber die fehlgeschlagene Anmeldung wird jedes Mal in das Ereignisprotoll -> Sicherheit des jeweiligen Horizon View Connection Servers geschrieben, mit dem der Horizon View Security Server verbunden ist. Genau da setzt meine Gedanke mit einem PowerShell Skripts an.
Clear-Host [string] $strMailBetreff = "Info: VMWare Horizon Security Server" [string] $strMailServerAdresse = "Mailserver" [int] $intMailServerPort = 587 [bool] $bMailServerSsl = $true [string] $strMailAbesender = "abc@domain.de" [string] $strMailAbsenderBenutzer = "benutzer" [string] $strMailAbsenderPasswort = "passort" [array] $aMailEmpfaenger = @("empfänger1", "empfänger2") # Letztes Ereignis auslesen $Event = Get-EventLog -LogName Security -InstanceId 4625 -Newest 1 -Message "*wsnm.exe*" $MailBody= @" Fehler beim Anmelden eines Kontos. Servername:`t`t$($Event.ReplacementStrings[1]) Domäne:`t`t$($Event.ReplacementStrings[2]) Benutzername:`t$($Event.ReplacementStrings[5]) Zeitstempel:`t`t$($Event.TimeGenerated) "@ # E-Mail verschicken $MailMessage = New-Object System.Net.Mail.MailMessage $MailMessage.From = $strMailAbesender foreach($a in $aMailEmpfaenger) { $MailMessage.To.Add($a) } $MailMessage.IsBodyHtml = 0 $MailMessage.Subject = $strMailBetreff $MailMessage.Body = $MailBody $MailMessage.Priority = "High" $SmtpClient = New-Object System.Net.Mail.SmtpClient $SmtpClient.EnableSsl = $bMailServerSsl $SmtpClient.Port = $intMailServerPort $SmtpClient.host = $strMailServerAdresse $SmtpClient.Credentials = New-Object System.Net.NetworkCredential($strMailAbsenderBenutzer, $strMailAbsenderPasswort); $SmtpClient.Send($MailMessage)
Quelle: Git Repository
Das Skript muss natürlich um die E-Maildaten (sprich Mailserver, Benutzer + Passwort, Absender und Empfänger) ergänzt werden. Anschließend das Skript auf dem VMware Connection Server abspeichern, welcher mit dem VMware Horizon Security Server verknüpft ist. Damit das Skript in Aktion tritt, wird eine einfache Aufgabe in der Aufgabenplanung einzurichten.
Im letzten Screenshot wird zuerst der Pfad zur powershell.exe angegeben. Bei der Zeile „Argument“ wird hinter dem Parameter der vollständige Pfad inkl. Skriptname und Dateiendung benötigt.