Workshop: Outlook-Mails mit regulären Ausdrücken durchsuchen

Stapelverarbeitung

Sucht man anhand des Betreffs nach Jahre alten E-Mails, kann das Durchforsten einer umfangreichen PST-Datei sehr mühsam sein. Wenn gar nur das Exchange-Abbild in Form einer OST-Datei vorliegt, sind meist externe Umwandlungstools gefragt. Doch es gibt Abhilfe mit Bordmitteln – unser Werkzeug wird die PowerShell sein, die das Zusammenspiel der notwendigen Aktionen koordiniert. Der Weg führt uns dabei durch einen wahren Objektdschungel. Doch das Ergebnis in Form einer effizienten Suche in den Mailkonten ist Belohnung genug.
Allen Unkenrufen zum Trotz ist die E-Mail nach wie vor das Kommunikationsmedium Nummer eins im Unternehmen. Deshalb geben wir in der Februar-Ausgabe eine ... (mehr)

Zunächst müssen wir den Mail-Client in einem für die PowerShell angemessenen Format bereitlegen. Microsoft bietet für seine Office Anwendungen Automatisierungsobjekte an. Der Zugriff erfolgt über einen Alias, den sogenannten ProgID (Programmatic Identifier). Um sich eine Instanz des Mail Clients zu beschaffen, bedienen wir uns des Konstruktes "new-Object". Eigentlich dient es dem Zugriff auf .NET-Klassen, doch mittels des Parameters "-ComObject" steht uns auch die Welt der "Component Object Model"-Typen zur Verfügung.

Altes Modell mit aktuellem Nutzen

Das "Component Object Model" (COM) hat Microsoft schon mit Version 3.1 des Windows-Betriebssystems eingeführt. Zielsetzung war die Wiederverwendung schon geschriebenen Programmcodes. So muss das Rad nicht immer wieder neu erfunden werden. Schon implementierte Teile einer Anwendung wie Menüs oder Dateidialoge lassen sich in anderen Anwendungen mitnutzen. Die Komponente ist technisch als eine Client-Server-Architektur (COM Server) realisiert.

Dieser sehr alte Standard aus den 90er Jahren ist allerdings nicht gerade für seine Performance berühmt und hat auch noch andere Nachteile, doch in der Office-Welt ist diese Schnittstellenspezifikation noch sehr lebendig. In der Serververwaltung (Active Directory, Group Policy) hat .NET allerdings den evolutionären Verdrängungswettbewerb gewonnen.

Wichtig: Schließen Sie Outlook, bevor Sie das Automatisierungsobjekt erstellen. Es kann sonst zu Problemen durch Interferenzen mit der bestehenden Instanz kommen. Ein Outlook-Objekt ist im Prinzip eine Outlook-Anwendung. So erstellen Sie im ersten Schritt ein Outlook-Objekt:

$ObjOutlook = new-object -comobject outlook.application

Dem Rückgabewert "$ObjOutlook" lassen sich schon interessante Informationen entlocken. Während der Name in der Regel wohl immer

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Systeme mit Vamigru verwalten

Auch wer nur kleine Flotten von Linux-Servern verwaltet, freut sich über Werkzeuge, die ihm diese Arbeit erleichtern. Vamigru tritt mit diesem Versprechen an. Wir verraten, was es leistet und wie Sie es in der eigenen Umgebung in Betrieb nehmen. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite