Ich versuche, die freigegebenen Mailboxen eines Benutzers aufzulisten. Wir haben eine gemischte Umgebung, sodass einige automatisch über Exchange zugeordnet werden und einige nicht (Sicherheitsgruppenberechtigungen). Ich möchte ein Powershell-Skript zum Anmeldevorgang hinzufügen, um alle Postfächer aufzuzeichnen, die ein Benutzer in Outlook geladen hat. Ich möchte diese Liste in eine Textdatei oder CSV speichern.Alle Mailboxen auflisten, die ein Benutzer in Outlook geladen hat
Ich bin in der Lage, die Namen durch $outlook.getnamespace("mapi")
zu bekommen. Einige Namen haben sich jedoch geändert, und das Outlook des Benutzers zeigt diese Änderungen nicht an, daher bedeutet dieser Name nichts, wenn er bei Exchange oder AD ausgelöst wird, funktioniert jedoch irgendwie immer noch magisch.
Ich brauche etwas konkreter, samaccountname oder SMTP-Adresse .. so etwas.
EDIT
Ich habe in diesem weiter arbeiten, und mit Hilfe von MFCMAPI
Ich konnte ich die PR_USER_NAME
Eigenschaft benötigen, um zu bestimmen. Ich muss dies mit Vanille Powershell tun, um auf einem Klientensystem zu laufen (und ich habe Tausende, also ist das Installieren von EMS keine Wahl).
Vielen Dank für mich wissen lassen, dass ich diese Informationen nicht bekommen kann, schätze die Hilfe. Das Problem ist, dass die Läden mir nicht zeigen, was ich brauche. Das einzige, was ich dort sehe, ist "DisplayName" .. und es ist der Anzeigename, der verwendet wird, wenn die geteilte Box hinzugefügt wurde, und nicht der jetzt. In vielen Fällen wird Displayname im Exchange- oder Active Directory nicht aufgelöst. – TetraFlash
Wenn die Stores nicht zwischengespeichert werden, können Sie die PR_MAILBOX_OWNER_ENTRYID-Eigenschaft mit Store.PorpertyAccessor.GetProperty lesen, in hex konvertieren und zum Aufrufen von Namespace.GetAddressEntryFromId verwenden und dann die AddressEntry.GetExchangeuser(). PrimarySmtpAddress-Eigenschaft lesen. Sie können auch die ID des Geschäftseintrags lesen, sie analysieren, um die Adresse des EX-Typs zu extrahieren, eine ID des ID-Eintrags der ID aus der ID erstellen und anschließend Namespace.GetAddressEntryFromId aufrufen. Wenn die Verwendung von Redemption eine Option ist, können Sie die RDOExchangeMailbox.Owner-Eigenschaft verwenden (siehe die aktualisierte Antwort oben). –
Leider ist die Rückzahlung keine Option. Also ging ich die Ladenstraße hinunter ... und wurde blockiert, als der Laden keine getproperty-Methode hatte ... vermisse ich hier etwas Einfaches? – TetraFlash