Export standard / Auguri per l'utente completo (Exchange 2016) - da utilizzare in XMedius AVST

voti
0

In un precedente post, il 18 giugno, 2018 (il mio compleanno BTW), un utente ha chiesto Speriamo che una semplice domanda - in una sola volta so quando l'utente è registrato i loro saluti personali per UM voicemail in O365 (di saluto regolare e / o assenza prolungata saluto) questi sono stati conservati nella loro casella Exchange utilizzando uno speciale tipo di elemento (ad esempio IPM.Configuration . .Um.CustomGreetings.External ) Tuttavia la creazione di mia configurazione di prova O365, ottenendo UM configurato e tutto ciò che, dopo aver registrato il mio saluto personale e passare attraverso ogni elemento a partire dalla radice della mia casella di posta, (alcuni 900+ oggetti - un sacco di roba strana in là) - non vedo nulla di simile più un sacco di log, elementi di attività, alcuni messaggi ma niente circa i saluti Estrazione tutto ciò che potrebbe lanciare a un tipo di e-mail in una cartella sono andato attraverso ciascuno -.. niente promettendo qualcuno ha qualche indizio in cui i messaggi di saluto personalizzati per gli utenti di messaggistica unificata (non auto attendant registrazioni - che è una bestia diversa).? è andato fuori per e come arrivare ad essa Dopo la lettura attraverso le risposte così come il codice che è stato fornito da Jeff Lindborg, ho pensato che mi è stato sempre da qualche parte. Con un sacco di tentativi ed errori, sono stato finalmente in grado di ottenere il modulo di EWS-FAI installato così come l'API Servizi Web Exchange. Purtroppo, quando si trattava di eseguire il codice fornito, questo è dove io sono perplesso. Io non sono uno sviluppatore o 'coder' in qualsiasi forma, ma sto sempre alla ricerca di metodi efficaci ed efficienti per fare il mio lavoro. Detto questo, sto cercando di eseguire questo su una workstation Win10, ma non riesco a capire quale programmare questo ha bisogno di eseguire all'interno. Ho provato Powershell, ma che non funziona. Ho accesso ai conti necessari per la cassetta postale di rappresentazione nonché eventuali altre autorizzazioni necessarie. Ho fornito il codice che è stato originariamente fornita per la revisione. Qualsiasi ulteriore aiuto sarebbe molto apprezzato.

Codice

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);
        }
    }
È pubblicato 02/12/2019 alle 23:58
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

Il codice che hai postato è c # così si avrebbe bisogno di utilizzare Visual Studio per creare un'applicazione C # aggiungere un riferimento alla EWS Managed API e compilare che per farlo funzionare (è necessario coinvolgere uno sviluppatore o imparare a scrivere qualche base).

EWS-FAI è un modulo PowerShell dovrebbe essere in grado di restituire tale elemento e si dovrebbe essere in grado di scrivere che in un file di esempio, qualcosa di simile

   $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)
Risposto il 03/12/2019 a 23:06
fonte dall'utente

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