Export Standard / étendu Salutations de l'utilisateur (Exchange 2016) - Destiné à être utilisé dans XMedius AVST

voix
0

Dans un précédent post, le 18 Juin, 2018 (mon anniversaire BTW), un utilisateur a demandé « Si tout va bien une simple question - à un moment donné, je sais que lorsque l'utilisateur est enregistré leurs messages d'accueil pour la messagerie vocale de messagerie unifiée à O365 (message d'accueil régulier et / ou message d'accueil absence prolongée) ceux-ci ont été stockés dans leur boîte de réception Exchange à l'aide d'un type spécial d'élément (par exemple » IPM.Configuration . .Um.CustomGreetings.External ) mise en place mais mon test O365 configuration, obtenir UM configuré et tout ce qui, après avoir enregistré mon message d'accueil personnel et en passant par chaque élément à partir de la racine de ma boîte de réception, (certains 900+ articles - beaucoup de trucs bizarre là-dedans) - je ne vois pas quelque chose comme ça plus Beaucoup de journal, des éléments d'activité, certains messages mais rien au sujet de salutations Extraction tout ce qui pouvait jeter à un type de courrier électronique dans un dossier que je suis passé par chacun -.. rien promettant que quelqu'un a des indices où les messages d'accueil personnalisés pour les utilisateurs de messagerie unifiée (pas automatiquement des enregistrements - concomitantes qui est une bête différente).? est parti et comment pour y accéder » Après avoir lu les réponses ainsi que le code qui a été fourni par Jeff Lindborg, je pensais que je devenais quelque part. Avec beaucoup d'essais et d'erreurs, je suis enfin en mesure d'obtenir le module SAP-FAI installé, ainsi que l'API des services Web Exchange. Malheureusement, quand il est venu d'exécuter le code fourni, c'est là où je suis perplexe. Je ne suis pas un développeur ou « codeur », sous quelque forme, mais je suis toujours à la recherche de méthodes efficaces et efficaces pour faire mon travail. Cela dit, je suis en train de l'exécuter sur un poste de travail Win10, mais ne peut pas sembler figurer quel programme ce besoin pour fonctionner à l'intérieur. J'ai essayé Powershell, mais cela ne fonctionne pas. J'ai accès aux comptes nécessaires à l'usurpation d'identité de boîte aux lettres, ainsi que toutes les autres autorisations nécessaires. J'ai fourni le code qui a été initialement fourni pour examen. Toute aide supplémentaire serait grandement apprécié.

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);
        }
    }
Créé 02/12/2019 à 23:58
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Le code affiché est c # et vous devez utiliser Visual Studio pour créer une application C # ajouter une référence à l'API SAP Managed et compiler que pour que cela fonctionne (vous aurez besoin d'engager un développeur ou d'apprendre un certain codage de base).

EWS-FAI est un module de Powershell, il devrait être en mesure de retourner cet article et vous devriez être en mesure d'écrire que dans un fichier par exemple quelque chose comme

   $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)
Créé 03/12/2019 à 23:06
source utilisateur

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