【问题标题】:How do I export all appointment data from Microsoft Exchange?如何从 Microsoft Exchange 导出所有约会数据?
【发布时间】:2014-01-28 09:46:44
【问题描述】:

我想导出每个员工在过去一年内的所有约会列表。我需要的字段是约会名称、开始时间、结束时间、地点和与会者电子邮件。

我已经开始探索 EWS。看来这只允许您一次获得一个特定用户的任命。我的公司有超过 14,000 名员工,假设每个人有大约 500 次约会,最终会产生超过 700 万次网络电话。假设每次调用 1 秒,导出时间不到 3 个月。喵!

我没有排除 EWS,但它看起来可能无法满足我的需求。我想每天将这些数据导出到 sql 数据库。也许在第一次通过后增量抓取。有谁知道获取这些数据的其他方法?

我在 Windows 服务器环境中,可以使用 C#、Powershell 和 SQL Server。任何建议都需要。

【问题讨论】:

  • 什么版本的 Exchange?

标签: c# sql-server powershell console exchangewebservices


【解决方案1】:

我最终留在了 EWS。我发现在首次调用FindItems 之后,我可以使用LoadPropertiesForItems 进行另一次调用,这将在一次调用中返回所有项目所需的属性。所以我可以得到一个项目列表,然后通过总共两个网络调用加载所有与会者。

var propertySet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject,
    AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Location,
    AppointmentSchema.RequiredAttendees, AppointmentSchema.OptionalAttendees);
var results = service.FindItems(id, searchFilter, view); // first call
service.LoadPropertiesForItems(results, propertySet); // second call

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多