Outlook Mail Weiterverarbeitung per Regel und script
Hallo allerseits,
Kurzbeschreibung vorhandenes System :
- SBS2011, W2K8R2 Remotedesktopgateway (RDGW), W2K8R2 Remotedesktopserver (RDS), alle voll gepatcht
- feste IPs (eine zugeordnet zum RDGW)
- Anmeldung und Abmeldung von extern auf RDS über RDGW wird überwacht, Benachrichtigungsmails werden per Script versendet
- Mails gehen an mehrere Benutzer zwecks unterschiedlicher Weiterverarbeitung auf mehreren Client PCs
- 1 Client z.T. extern (Notebook)
- Notebook ist am Exchange angebunden und bekommt auch extern mails
- Mailweiterverarbeitung auf dem Notebook über Outlook Regeln und Scripte -> Browserfenster mit symbolischer Anzeige "XYZ ist angemeldet" bzw. "XYZ ist abgemeldet" per HTML Script
- Funktionsweise bzgl. Notebook : XYZ meldet sich auf dem RDS über RDGW an -> Überwachung sendet mail -> mail kommt am Notebook an -> Regel- / Scriptweiterverarbeitung -> "XYZ angemeldet" bzw "XYZ abgemeldet" im Browserfenster
Zwecks Vereinfachung habe ich diverse Dinge weggelassen, die hier nicht relevant sind, darum kann am grundsätzlichen Konzept auch nichts geändert werden.
Soweit funktioniert das obige, bis auf ein...
...Problem :
Notebook war ausgeschaltet während sich XYZ mehrere Male an- und abgemeldet hat, entsprechende mails liegen auf dem Exchange
Notebook und Outlook wird gestartet -> mehrere "vermeintlich gleichzeitig" eingehende Mails
Mailverarbeitung per Regeln arbeitet (manchmal) die Mails dabei in der falschen Reihenfolge ab
das kann über die weitere Scriptverarbeitung zu einem falschen Anmelde-Status im Browserfenster führen
Frage :
In welcher Reihenfolge kommen die Mails vom Exchange bei Outlook an ?
Wovon ist die Übermittlung abhängig (Timestamp, Message ID... ?)?
Gibt es da Möglichkeiten zur Beeinflussung, damit Outlook / Exchange die Mails abhängig von der Sendezeit (auf dem RDS) in der richtigen Reihenfolge übermittelt ?
Wenn nein, kann man den Textbody (kann ich beim Versenden z.B. mit Datum und Uhrzeit füllen) der Mails per Script abspeichern in eine Datei ? Diese würde ich dann entsprechend auswerten und weiterverarbeiten.
Hat jemand eine Idee für einen anderen Ansatz für die Weiterverarbeitung der Benachrichtigungsmails ? Nicht änderbare Eckpunkte dabei sind die Benachrichtigungsmail und die Anzeige im Browserfenster.
Ich hoffe, ich habe das ganze klar genug beschrieben.
Grüße
Kurzbeschreibung vorhandenes System :
- SBS2011, W2K8R2 Remotedesktopgateway (RDGW), W2K8R2 Remotedesktopserver (RDS), alle voll gepatcht
- feste IPs (eine zugeordnet zum RDGW)
- Anmeldung und Abmeldung von extern auf RDS über RDGW wird überwacht, Benachrichtigungsmails werden per Script versendet
- Mails gehen an mehrere Benutzer zwecks unterschiedlicher Weiterverarbeitung auf mehreren Client PCs
- 1 Client z.T. extern (Notebook)
- Notebook ist am Exchange angebunden und bekommt auch extern mails
- Mailweiterverarbeitung auf dem Notebook über Outlook Regeln und Scripte -> Browserfenster mit symbolischer Anzeige "XYZ ist angemeldet" bzw. "XYZ ist abgemeldet" per HTML Script
- Funktionsweise bzgl. Notebook : XYZ meldet sich auf dem RDS über RDGW an -> Überwachung sendet mail -> mail kommt am Notebook an -> Regel- / Scriptweiterverarbeitung -> "XYZ angemeldet" bzw "XYZ abgemeldet" im Browserfenster
Zwecks Vereinfachung habe ich diverse Dinge weggelassen, die hier nicht relevant sind, darum kann am grundsätzlichen Konzept auch nichts geändert werden.
Soweit funktioniert das obige, bis auf ein...
...Problem :
Notebook war ausgeschaltet während sich XYZ mehrere Male an- und abgemeldet hat, entsprechende mails liegen auf dem Exchange
Notebook und Outlook wird gestartet -> mehrere "vermeintlich gleichzeitig" eingehende Mails
Mailverarbeitung per Regeln arbeitet (manchmal) die Mails dabei in der falschen Reihenfolge ab
das kann über die weitere Scriptverarbeitung zu einem falschen Anmelde-Status im Browserfenster führen
Frage :
In welcher Reihenfolge kommen die Mails vom Exchange bei Outlook an ?
Wovon ist die Übermittlung abhängig (Timestamp, Message ID... ?)?
Gibt es da Möglichkeiten zur Beeinflussung, damit Outlook / Exchange die Mails abhängig von der Sendezeit (auf dem RDS) in der richtigen Reihenfolge übermittelt ?
Wenn nein, kann man den Textbody (kann ich beim Versenden z.B. mit Datum und Uhrzeit füllen) der Mails per Script abspeichern in eine Datei ? Diese würde ich dann entsprechend auswerten und weiterverarbeiten.
Hat jemand eine Idee für einen anderen Ansatz für die Weiterverarbeitung der Benachrichtigungsmails ? Nicht änderbare Eckpunkte dabei sind die Benachrichtigungsmail und die Anzeige im Browserfenster.
Ich hoffe, ich habe das ganze klar genug beschrieben.
Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 274128
Url: https://administrator.de/contentid/274128
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
9 Kommentare
Neuester Kommentar
Moin,
meine Güte ist das umständlich ... naja jeder wie ers will.
Den Body einer Mail kannst einfach in Outlook via Makro extrahieren (geht natürlich auch mit VBS/Autoit/Powershell je nach Gusto, findest du hier im Forum diverse Skripte dazu)
Regel und Quickstep kombinieren oder andere Lösung gesucht (Email - Antworten - CC setzen - abschicken - löschen)
Das Event hier wird bei jeder neuen Mail aufgerufen und ist nur für Verwendung innerhalb von Outlook gedacht
Die Mails lassen sich natürlich auch nach Datum sortieren, so dass du nur die letzte Mail auswerten kannst.
Gruß jodel
meine Güte ist das umständlich ... naja jeder wie ers will.
Den Body einer Mail kannst einfach in Outlook via Makro extrahieren (geht natürlich auch mit VBS/Autoit/Powershell je nach Gusto, findest du hier im Forum diverse Skripte dazu)
Regel und Quickstep kombinieren oder andere Lösung gesucht (Email - Antworten - CC setzen - abschicken - löschen)
Das Event hier wird bei jeder neuen Mail aufgerufen und ist nur für Verwendung innerhalb von Outlook gedacht
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim varEntryIDs, objItem, newItem As MailItem, i As Integer
varEntryIDs = Split(EntryIDCollection, ",")
For i = 0 To UBound(varEntryIDs)
Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))
If objItem.CLASS = olMail Then
Msgbox objItem.Body
End If
Next
End Sub
Gruß jodel
Aber du schreibst ja nicht wie du die Mails per Script ausliest (EWS / Outlook /IMAP / etc.) ...somit ist es schwer deine Fragen treffend zu beantworten
Naja, ich würde das mit einer Php oder einem *.aspx HTML-Seite auf dem Server erledigen, dann braucht der User nur eine Webseite im Intranet aufrufen und sieht die angemeldeten User auf dem TS, ohne dieses ganze überflüssige Mailzuschick-Gedöns.
Angemeldete User lassen sich leicht via WMI oder quser auslesen, und als Script in die aspx-Seite einbauen, das ist in 10 Minuten erledigt
Angemeldete User lassen sich leicht via WMI oder quser auslesen, und als Script in die aspx-Seite einbauen, das ist in 10 Minuten erledigt
Zitat von @Heccon:
Hier noch die Frage nach der Sicherheit des Ganzen. Fällt Dir spontan etwas ein, was ich im IIS außer den oben genannten Einstellungen noch konfigurieren kann ?
Da gibst es genug Möglichkeiten. Einschränkung auf Windows-Authentifizierung und bestimmte Gruppen oder Einschränkung auf IP-Ebene, die Möglichkeiten sind vielfältig. Was brauchst du noch mehr ?Hier noch die Frage nach der Sicherheit des Ganzen. Fällt Dir spontan etwas ein, was ich im IIS außer den oben genannten Einstellungen noch konfigurieren kann ?
Gruß jodel