Eksport Standardowy / Rozszerzone Pozdrowienia Użytkownika (Exchange 2016) - do stosowania w XMedius AVST

głosy
0

We wcześniejszym poście na 18 czerwca 2018 roku (moje urodziny BTW), użytkownik proszony „Mam nadzieję, że proste pytanie - w tym samym czasie, kiedy wiem autora rejestrowane swoje osobiste powitania poczty głosowej dla UM w o365 (regularnego powitania i / lub rozszerzonym braku okolicznościowe) były one przechowywane w skrzynce odbiorczej Exchange przy użyciu specjalnego typu elementu (czyli” IPM.Configuration . .Um.CustomGreetings.External ) Jednakże skonfigurowaniu Test o365 konfiguracji, coraz UM skonfigurowany i wszystko, że po nagraniu mojego osobistego powitania i przeżywa każdej pozycji zaczynając od korzenia mojej skrzynce odbiorczej (jakieś 900+ przedmiotów - dużo dziwne rzeczy tam) - nie widzę czegoś takiego więcej Dużo dzienniku, przedmiotów działalności, niektóre wiadomości, ale nic o pozdrowień Wyodrębnianie wszystko, co mogłoby rzucić do typu e-mail do folderu poszedłem przez każdego z nich. -. nic obiecując ktoś ma żadnych wskazówek, gdzie niestandardowych pozdrowienia dla użytkowników UM (nie auto towarzyszącymi nagrań - to już zupełnie inna bestia).? upadł off i jak się do niego” Po przeczytaniu odpowiedzi oraz kodu, który został przewidziany przez Jeffa Lindborg, myślałem, że byłem coraz gdzieś. Z wielu prób i błędów, w końcu byłem w stanie uzyskać moduł EWS-FAI zainstalowany również API Exchange Web Services. Niestety, jeśli chodzi o prowadzenie dostarczonego kodu, to gdzie jestem zakłopotany. Nie jestem programistą lub „koder” w dowolnej formie, ale ja zawsze szuka skutecznych i wydajnych metod, aby wykonywać moją pracę. Z powiedział, że próbuję uruchomić to na stacji roboczej Win10, ale nie wydaje się, aby dowiedzieć się, który program ten musi uruchomić wewnątrz. Próbowałem PowerShell, ale to nie działa. Mam dostęp do niezbędnych dla kont poczty personifikacji, jak również wszelkich innych potrzebnych uprawnień. Mam pod warunkiem, że kod, który został dostarczony do przeglądu. Każda dodatkowa pomoc będzie bardzo mile widziane.

Kod

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);
        }
    }
Utwórz 02/12/2019 o 23:58
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Kod zostanie zaksięgowana jest C # więc trzeba byłoby użyć Visual Studio do tworzenia aplikacji C # dodać odwołanie do EWS Managed API i skompilować, że dla niego do pracy (trzeba zatrudnić programistę lub nauczyć się kilku podstawowych kodowania).

EWS-FAI jest modułem PowerShell powinna być w stanie wrócić do tego elementu i powinien być w stanie napisać, że do pliku np coś takiego

   $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)
Odpowiedział 03/12/2019 o 23:06
źródło użytkownik

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