我们目前使用 Exchange 2010 中的公共文件夹。我们在整个组织中拥有一系列共享日历。发布的一些项目要求我们在特定时间设置设备(例如视频会议),但安排这些约会的最终用户并不总是能够让我们知道具体时间(即使应该提前几天/通知)。除了每天多次查看这些单独的日历这种显而易见的方法之外,有没有办法让 Exchange(或 powershell、Outlook 等)在创建事件时通过电子邮件提醒我们?例如,如果 Powershell 可以转到公共文件夹数据库,搜索过去 12 小时内添加的任何条目,然后通过电子邮件通知我。即使我可以将其设置为每天运行一次,每天早上 7:30,那也会有很大帮助。您觉得呢?
谢谢!
答案1
我们实际上曾经使用 PHP EWS 来做到这一点,我们会在白天频繁地抓取一组日历以查找更改(通过将它们与我们在本地保存的该日历的最后一个值的数据库进行比较),然后通过电子邮件向我们发送检测到的更改的摘要列表。
我目前正在用 PowerShell 重写它(EWS 库是 2007 年的,在 2010 年还不起作用),所以现在它在我的脑海里还很新鲜 :)
在确定何时添加(或重要更改)某些内容方面,我看到有人尝试使用消息的未读状态来检测这一点,但他们遇到了未读状态无法正确更改的问题。老实说,仅对您本地保存的先前看到的状态(数据库或某种平面文件)进行差异处理可能是最可靠的方法。您可以使用 CalendarItem.Id.UniqueID 子属性来识别条目,并使用 CalendarItem.Id.ChangeKey 子属性来确定它们何时更改。
如果您正在寻找一个地方来开始研究可能用来从日历中获取事件的实际 powershell,那么这里是一个好地方:
http://gsexdev.blogspot.com.au/2012/01/ews-managed-api-and-powershell-how-to.html
(如上所述,您需要首先从这里下载最新的 powershell 集成内容:http://www.microsoft.com/en-us/download/details.aspx?id=30141)