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);
}
}