pixel0815
Goto Top

Via Powershell alle Mailboxen auflisten und exportieren

Hi zusammen,

ist es möglich, via Powershell den MAPI Store eines Postfachs auszulesen, um die darin enthaltenden zusätzlich hinzugefügten Postfächer aufzulisten?
Es dreht hier darum, zusätzlich hinzugefügte Postfächer ( die manuell ohne Automapping ) hinzugefügt wurden.

Die Kategorien kann ich schon einmal exportieren.
$outlook = New-Object -ComObject Outlook.Application
$namespace = $outlook.GetNamespace("MAPI")  
$namespace.categories | Select-Object -Property Name, Color, ShortCutKey 

Freu mich auf eine Idee.
LG
Pixel

Content-ID: 667256

Url: https://administrator.de/contentid/667256

Ausgedruckt am: 21.11.2024 um 21:11 Uhr

148121
Lösung 148121 02.06.2021 aktualisiert um 10:06:54 Uhr
Goto Top
pixel0815
pixel0815 02.06.2021 um 10:46:52 Uhr
Goto Top
Hi, ich bekomme dort als Rückmeldung vom Skript mein Persönliches Postfach.
Die zusätzlich eingehängte Mailbox wird nicht aufgelistet.
Es handelt sich hier bei um eine Exchange Umgebung, ich füge in mein Exchange Konto zusätzlich über die Profileinstellun gen Microsoft - Exchange - Erweitert - Zusätzlich diese Postfächer öffnen eine Mailbox hinzu. DIese wird leider nicht mit diesen Parametern aufgerufen.
148121
148121 02.06.2021 aktualisiert um 11:06:19 Uhr
Goto Top
Zitat von @pixel0815:
Die zusätzlich eingehängte Mailbox wird nicht aufgelistet.
Dachte die woltest du nicht, haben wir uns wohl missverstanden. Die filtere ich a mittels dem Where Object aus. Einfach mal die Doku die ich verlinkt habe ansehen ...
Die zusätzlich eingebundenen EX-Boxen bekommst du indem du einfach das -ne duch ein -eq beim Where Object tauschst... denn Typ 4 bedeutet olAdditionalExchangeMailbox
$outlook.Session.Accounts | ?{$_.DeliveryStore.ExchangeStoreType -eq 4} | select Username,DisplayName,SmtpAddress,AccountType
Warum verlinke ich eigentlich die Doku wenn man sie dann doch nicht liest? 🤔
Doskias
Doskias 02.06.2021 um 11:15:14 Uhr
Goto Top
Zitat von @148121:
Warum verlinke ich eigentlich die Doku wenn man sie dann doch nicht liest? 🤔

ist doch deine eigene Schuld face-smile

Scherz beiseite: Deswegen bin ich ein Freund davon nicht fertige Skripte zu Posten. Hättest du nur die Doku-Links gepostet, dann hätte man sie lesen müssen.
148121
148121 02.06.2021 aktualisiert um 11:23:01 Uhr
Goto Top
Zitat von @Doskias:
Scherz beiseite: Deswegen bin ich ein Freund davon nicht fertige Skripte zu Posten. Hättest du nur die Doku-Links gepostet, dann hätte man sie lesen müssen.
Man kann sich mit fertigem Code auch selbst mal beschäftigen wenn man denn will face-smile. Aber wenn man diese Zeit lieber zum Post schreiben vergeudet statt das eigene Oberstübchen mal etwas zu fordern kann ich auch nichts machen ...
Doskias
Doskias 02.06.2021 um 11:49:14 Uhr
Goto Top
Zitat von @148121:

Zitat von @Doskias:
Scherz beiseite: Deswegen bin ich ein Freund davon nicht fertige Skripte zu Posten. Hättest du nur die Doku-Links gepostet, dann hätte man sie lesen müssen.
Man kann sich mit fertigem Code auch selbst mal beschäftigen wenn man denn will face-smile. Aber wenn man diese Zeit lieber zum Post schreiben vergeudet statt das eigene Oberstübchen mal etwas zu fordern kann ich auch nichts machen ...

Das stimmt. Mir ist aufgefallen, dass hier die Häufigkeit steigt bei der keine Hilfe sondern eine fertige Lösung verlangt wird. In einem anderen Topic gab es grade den Fall in dem das Skript kopiert wurde. Als das Skript dann nichts gefunden hat, wurde sich beschwert, dass es nicht funktioniert. Dabei hätte man nur im Skript den IP-Adressbereich auf den eigenen umstellen müssen. Diese Fälle nehmen leider zu.
pixel0815
pixel0815 02.06.2021 um 13:16:54 Uhr
Goto Top
Korrekt. Ich habe sie gelesen und habe auch versucht mittels -like "*" alles anzeigen zu lassen, hier wird auch nur das Hauptpostfach angezeigt. Die zusätzlich eingehängten Postfächer werden über diesen Weg nicht ausgegeben.
Ich hab das mal als Bild angehängt.

und hier die Abfrage

$outlook = New-Object -ComObject Outlook.Application
$outlook.Session.Accounts | ?{$_.DeliveryStore.ExchangeStoreType -like "*"} | select Username,DisplayName,SmtpAddress,AccountType | ft -AutoSize  

UserName         DisplayName              SmtpAddress              AccountType
--------         -----------              -----------              -----------
Test.Test meineemail@ich.de meine.Email@mail.de           0
02-06-2021 11-04-21
pixel0815
pixel0815 02.06.2021 um 14:49:25 Uhr
Goto Top
$outlook = New-Object -ComObject Outlook.Application
$outlook.Session.stores| ?{$_.ExchangeStoreType -like "1"} | select ExchangeStoreType,DisplayName| ft -AutoSize  

Zusätzlich eingebundene Exchange Postfächer werden unter den Stores gelistet. ExchangeStoreType 1.

LG
Doskias
Doskias 03.06.2021 um 07:47:05 Uhr
Goto Top
Moin,

Kurze Nachfrage. Ich hab dein Skript grade einmal bei mir getestet, weil ich das auch interessant fand. Aber bei mir ist es nicht StoreTyp 1.

Mein Postfach:
Application            : Microsoft.Office.Interop.Outlook.ApplicationClass
Class                  : 107
Session                : Microsoft.Office.Interop.Outlook.NameSpaceClass
Parent                 : Microsoft.Office.Interop.Outlook.NameSpaceClass
DisplayName            : Mail-Adresse
StoreID                : 0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001B55FA20AA6611CD9BC800AA002FC45A0C000000746775747363687761676572406C617365726F7074696B2E6465002F6F3D4572737465204F72
                         67616E69736174696F6E2F6F753D45786368616E67652041646D696E6973747261746976652047726F7570202846594449424F484632335350444C54292F636E3D526563697069656E74732F636E3D33366162666665616465323934313431393834
                         653636613063386462623462642D477574736300E94632F448000000020000001000000074006700750074007300630068007700610067006500720040006C0061007300650072006F007000740069006B002E006400650000000000
ExchangeStoreType      : 0
FilePath               : C:\Users\irgendwas.ost
IsCachedExchange       : True
IsDataFileStore        : True
IsOpen                 : True
MAPIOBJECT             : System.__ComObject
PropertyAccessor       : System.__ComObject
IsInstantSearchEnabled : True
IsConversationEnabled  : True
Categories             : System.__ComObject

Dann der zweite Eintrag für mein Postfach
Application            : Microsoft.Office.Interop.Outlook.ApplicationClass
Class                  : 107
Session                : Microsoft.Office.Interop.Outlook.NameSpaceClass
Parent                 : Microsoft.Office.Interop.Outlook.NameSpaceClass
DisplayName            : Öffentliche Ordner - Mail-Adresse
StoreID                : 0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001C830210AA6611CD9BC800AA002FC45A060000004D61696C626F7831406C617365726F7074696B2E6465002F6F3D4572737465204F7267616E69
                         736174696F6E2F6F753D45786368616E67652041646D696E6973747261746976652047726F7570202846594449424F484632335350444C54292F636E3D526563697069656E74732F636E3D3336616266666561646532393431343139383465363661
                         3063386462623462642D477574736300E94632F44000000002000000100000004D00610069006C0062006F007800310040006C0061007300650072006F007000740069006B002E006400650000000000
ExchangeStoreType      : 2
FilePath               : 
IsCachedExchange       : False
IsDataFileStore        : False
IsOpen                 : True
MAPIOBJECT             : System.__ComObject
PropertyAccessor       : System.__ComObject
IsInstantSearchEnabled : True
IsConversationEnabled  : False
Categories             : System.__ComObject

und dann unser IT-Postfach:
Application            : Microsoft.Office.Interop.Outlook.ApplicationClass
Class                  : 107
Session                : Microsoft.Office.Interop.Outlook.NameSpaceClass
Parent                 : Microsoft.Office.Interop.Outlook.NameSpaceClass
DisplayName            : Öffentliche Ordner - IT-Postfach-Mail
StoreID                : 0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001C830210AA6611CD9BC800AA002FC45A060000004D61696C626F7831406C617365726F7074696B2E6465002F6F3D4572737465204F7267616E69
                         736174696F6E2F6F753D45786368616E67652041646D696E6973747261746976652047726F7570202846594449424F484632335350444C54292F636E3D526563697069656E74732F636E3D3936326438623663353231393431306161373463396636
                         6235323265323939332D697473757000E94632F44000000002000000100000004D00610069006C0062006F007800310040006C0061007300650072006F007000740069006B002E006400650000000000
ExchangeStoreType      : 2
FilePath               : 
IsCachedExchange       : False
IsDataFileStore        : False
IsOpen                 : True
MAPIOBJECT             : System.__ComObject
PropertyAccessor       : System.__ComObject
IsInstantSearchEnabled : True
IsConversationEnabled  : False
Categories             : System.__ComObject

Application            : Microsoft.Office.Interop.Outlook.ApplicationClass
Class                  : 107
Session                : System.__ComObject
Parent                 : System.__ComObject
DisplayName            : IT-Mail
StoreID                : 0000000038A1BB1005E5101AA1BB08002B2A56C20000454D534D44422E444C4C00000000000000001B55FA20AA6611CD9BC800AA002FC45A0C0000006974737570706F7274406C617365726F7074696B2E6465002F6F3D4572737465204F7267616E
                         69736174696F6E2F6F753D45786368616E67652041646D696E6973747261746976652047726F7570202846594449424F484632335350444C54292F636E3D526563697069656E74732F636E3D39363264386236633532313934313061613734633966
                         366235323265323939332D697473757000E94632F44200000002000000100000006900740073007500700070006F007200740040006C0061007300650072006F007000740069006B002E006400650000000000
ExchangeStoreType      : 4
FilePath               : C:\Users\[..]IT-Postfach.ost
IsCachedExchange       : True
IsDataFileStore        : True
IsOpen                 : True
MAPIOBJECT             : System.__ComObject
PropertyAccessor       : System.__ComObject
IsInstantSearchEnabled : True
IsConversationEnabled  : True
Categories             : System.__ComObject

Das IT-Postfach ist als zusätzliches Konto verbunden (händisch eingerichtet, nicht über den Exchange verteilt). So wie ich dich verstanden habe, müsste ich doch dann dort eine 1 haben und keine 4, oder?

Gruß
Doskias
colinardo
Lösung colinardo 07.06.2021 aktualisiert um 18:45:02 Uhr
Goto Top
Zitat von @Doskias:
Das IT-Postfach ist als zusätzliches Konto verbunden (händisch eingerichtet, nicht über den Exchange verteilt). So wie ich dich verstanden habe, müsste ich doch dann dort eine 1 haben und keine 4, oder?

Gruß
Doskias
Servus Doskias,
hier eine etwas verständlichere Beschreibung der Enumerationswerte
olPrimaryExchangeMailbox    0 = Primäres Exchange Konto
olExchangeMailbox           1 = Postfächer die über "weitere Mailboxen öffnen" des primären Kontos eingebunden werden  
olExchangePublicFolder      2 = Public Folder Mailboxen
olNotExchange               3 = Kein Exchange Konto
olAdditionalExchangeMailbox 4 = Weitere Exchange Konten die nicht über "weitere Mailboxen öffnen"eingerichtet wurden sondern als separate Konten  
Exchange-Konten mit Wert 4 sind separat manuell eingebundene Exchange Konten, also nicht über den Dialog "weitere Mailboxen öffnen" des primären Exchange Kontos. Es sind also sekundäre Konten die man über die reguläre "Konten hinzufügen" Funktion einbindet.

Grüße Uwe