Export Standard / Extended User Grüße (Exchange 2016) - zur Verwendung in XMedius AVST

stimmen
0

In einem frühen Beitrag am 18. Juni 2018 (mein Geburtstag BTW), fragte ein Nutzer „Hoffentlich eine einfache Frage - zu einer Zeit ich weiß, wenn Benutzer ihre persönlichen Grüße für UM Voicemail aufgezeichnet ist in O365 (regelmäßige Gruß und / oder längerer Abwesenheit Begrüßung) diese in ihrem Exchange-Posteingang gespeichert wurden ein spezielles Element Typ (zB“ IPM.Configuration . .Um.CustomGreetings.External ) Einstellung jedoch meinen Test O365 Setup auf, immer UM konfigurierte und alles, was nach meiner persönlichen Begrüßung der Aufnahme und durch jedes Element geht aus der Wurzel von meinem Posteingang starten, (einige 900+ Artikel - vielen ungerade Sachen drin) - ich sehe nichts wie dieses mehr Lose log, Aktivitätsposten, einige Nachrichten, aber nichts über Grüße alles extrahieren, die ich durch jeden ging an einen E-Mail-Typ in einen Ordner werfen könnte -.. nichts versprechend jemand irgendwelche Anhaltspunkte hat, wo die individuellen Ansagen für Benutzer uM (nicht automatische Telefonzentrale Aufnahmen -, die ein anderes Tier ist).?, um aus sind und wie man es bekommen“ Nach der Lektüre sowie der Code durch die Antworten, die von Jeff Lindborg zur Verfügung gestellt wurde, dachte ich, dass ich irgendwo bekam. Mit viel Versuch und Irrtum, konnte ich endlich die EWS-FAI-Modul sowie die Exchange Web Services-API installiert bekommen. Leider, wenn es das Ausführen des bereitgestellten Code kam, das ist, wo ich bin ratlos. Ich bin kein Entwickler oder ‚Coder‘ in irgendeiner Form, aber ich bin immer auf der Suche für eine effektive und effiziente Methoden meiner Arbeit zu tun. Mit dieser sagte, versuche ich dies auf einem Win10-Workstation zu laufen, kann aber nicht zu Figur scheinen aus dem diese Bedürfnisse programmieren laufen im Innern. Ich habe versucht, Powershell, aber das funktioniert nicht. Ich habe Zugang zu den erforderlichen Konten für Mailbox Identitätswechsel sowie alle anderen Berechtigungen benötigt. Ich habe den Code zur Verfügung gestellt, die ursprünglich für die Überprüfung geliefert wurden. Jede zusätzliche Hilfe wäre sehr geschätzt.

Code

ExchangeService _service;
        _service = new ExchangeService(ExchangeVersion.Exchange2016); // Exchange2013_SP1);
        _service.Credentials = new WebCredentials(user@domain, myPw);
        _service.Url = new Uri(https://outlook.office365.com/EWS/Exchange.asmx);

        //select the user you're fetching greetings for
        _service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, user@domain);

        //get the root folder for the current account
        var oParamList = new List<FolderId> {WellKnownFolderName.Root};
        var oTemp = _service.BindToFolders(oParamList, PropertySet.FirstClassProperties);
        var oRoot = oTemp.First().Folder;

        var oView = new ItemView(50)
        {
            PropertySet = new PropertySet(BasePropertySet.FirstClassProperties),
            Traversal = ItemTraversal.Associated
        };
        SearchFilter oGreetingFilter = new SearchFilter.ContainsSubstring(ItemSchema.ItemClass,
            IPM.Configuration.Um.CustomGreetings, ContainmentMode.Substring, ComparisonMode.IgnoreCase);
        var oResults = _service.FindItems(oRoot.Id, oGreetingFilter, oView);

        //fetch the binary for the greetings as values 
        var oPropSet = new PropertySet(BasePropertySet.FirstClassProperties);
        var oRoamingBinary = new ExtendedPropertyDefinition(31753, MapiPropertyType.Binary);
        oPropSet.Add(oRoamingBinary);
        _service.LoadPropertiesForItems(oResults, oPropSet);

        var strFileName = ;
        foreach (var oItem in oResults.Items)
        {
            if (oItem.ItemClass.Equals(IPM.Configuration.Um.CustomGreetings.External,
                StringComparison.InvariantCultureIgnoreCase))
                strFileName = jlindborg_Standard.wav;
            if (oItem.ItemClass.Equals(IPM.Configuration.Um.CustomGreetings.Oof,
                StringComparison.InvariantCultureIgnoreCase))
                strFileName = jlindborg_Extended.wav;
            File.WriteAllBytes(d:\\ + strFileName, (byte[]) oItem.ExtendedProperties.First().Value);
        }
    }
Veröffentlicht am 02/12/2019 um 23:58
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Der Code, den Sie geschrieben ist c #, so dass Sie Visual Studio verwenden müsste eine C # -Anwendung fügen Sie einen Verweis auf die EWS Managed API zu erstellen und kompilieren, dass für sie zu arbeiten (Sie werden einen Entwickler engagieren müssen oder einige grundlegende Codierung lernen).

EWS-FAI ist ein Powershell-Modul sollte das Element zurückkehren können, und Sie sollten das in eine Datei zB etwas schreiben können wie

   $MailboxName = "mailbox@domain.com" 
   $Item = Get-FAIItem -MailboxName $MailboxName -ConfigItemName Um.CustomGreetings.External -Folder Inbox -ReturnConfigObject
   [System.IO.File]::WriteAllBytes(("C:\temp\" + $MailboxName + ".wav"),$Item.BinaryData)
Beantwortet am 03/12/2019 um 23:06
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more