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.
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.