Экспорт Standard / Расширенные Приветствия пользователя (Exchange 2016) - для использования в XMedius AVST

голоса
0

В предыдущем посте на 18 июня 2018 года (мой день рождения BTW), пользователь спросил «Надеется, простой вопрос - в свое время я знаю, что, когда пользователь записал свои личные приветствия для единой системы обмена сообщений голосовой почты в o365 (регулярном приветствия и / или длительное отсутствие приветствия) они были сохранены в их почтовом ящике Exchange, используя специальный тип элемента (т.е.» IPM.Configuration . .Um.CustomGreetings.External ) Однако настройки моих настроек теста o365, получая UM сконфигурирован, и все, что после записи моего личного приветствия и прохождения каждого элемента, начиная от корня моего почтового ящика, (некоторые 900+ пунктов - много нечетные вещи там) - я не вижу ничего подобного больше Много журнала, элементы деятельности, некоторые сообщения, но ничего о приветствии Распаковки все, что может ввергнуть к типу электронной почты в папку, я пошел через каждый из них. -. ничего обещая кого-нибудь есть ключи, где пользовательские приветствия для пользователей единой системы обмена сообщений (не автосекретарь записей - это другое животное).? пошли прочь к и как добраться до него» После прочтения ответов, а также код, который был предоставлен Джефф Lindborg, я думал, что я уже где-то. С большим количеством проб и ошибок, я, наконец, смог получить модуль EWS-ФАИ установлена, а также API веб-служб Exchange. К сожалению, когда дело дошло до запуска предоставленного кода, это где я в тупике. Я не разработчик или «Кодер» в любой форме, но я всегда ищу эффективные и действенные методы, чтобы сделать свою работу. С учетом сказанного, я пытаюсь запустить это на рабочей станции Win10, но не могу показаться, чтобы выяснить, какая программа это должна работать внутри. Я пробовал Powershell, но это не работает. У меня есть доступ к необходимым счетам для олицетворения почтового ящика, а также любых других разрешений, необходимых. Я предоставил код, который первоначально поставляемый для обзора. Любая дополнительная помощь будет высоко оценен.

Код

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);
        }
    }
Задан 02/12/2019 в 23:58
источник пользователем
На других языках...                            


1 ответов

голоса
0

Код Размещенное C #, так что вам нужно будет использовать Visual Studio для создания # приложение C добавить ссылку на EWS Managed API и компиляции, что для него на работу (вы должны будете заниматься разработчик или узнать некоторые базовые кодирования).

EWS-ФАИ является модуль PowerShell он должен быть в состоянии вернуть этот пункт, и вы должны быть в состоянии написать, что в файл, например, что-то вроде

   $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)
Ответил 03/12/2019 в 23:06
источник пользователем

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