Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We currently use Public Folders with Exchange 2010. We have a series of shared calendars throughout the organization. Some of the items posted require us to set up devices (video conferencing for example) at a certain time, but the end users who schedule these appointments aren't always the best at letting us know when it is (even though it's supposed to be several days in advance/notice). Other than the obvious way of just going out to those individual calendars multiple times a day to look, is there a way to have Exchange (or powershell, Outlook, etc) alert us via email when an event has been created? For instance if Powershell could go to the Public Folder database, search for any entries added within the last 12 hours, then email me to let me know. Even if I could set it to run once a day, each morning at 7.30 am, that would be a huge help. Thoughts?

Thanks!

share|improve this question
add comment

2 Answers

A moderated PF might do the trick. Have a look here:

http://messagingserversupport.com/2012/02/18/setup-moderated-public-folder-using-microsoft-exchange-approval-assistant-2/

share|improve this answer
    
Nice article, definitely worth bookmarking as I didn't realize you could do that! But, not quite what I'm looking for for this situation. We wouldn't want to be in charge of what they put on there so much as be alerted when they do. Thank you for the suggestion though. –  Don Apr 19 '12 at 13:20
    
Glad to help... –  joeqwerty Apr 19 '12 at 14:19
add comment

we actually used to do this with PHP EWS where we'd frequently during the day scrape a set of calendars for changes (by comparing them with a database we kept locally of the last values we'd seen for that calendar) and then emailing us a summary list of changes detected.

I'm in the process of rewriting this in PowerShell (the EWS library was for 2007 and doesn't yet work in 2010) at the moment, so it's quite fresh on my mind right now :)

In terms of determining when something is added (or importantly changed) I saw someone trying to use the unread status of a message as a way of detecting this, but they were running into problems where the unread status wasn't changing properly. Honestly, just doing a diff to a previous seen state that you keep locally (either database, or some sort of flatfile) is probably the most reliable way to do this. You can use the CalendarItem.Id.UniqueID subproperty to identify entries, and the CalendarItem.Id.ChangeKey subproperty to determine when they change.

If you're looking for a place to start to look into the actual powershell you might use to get events from the calendar, here's a good one:

http://gsexdev.blogspot.com.au/2012/01/ews-managed-api-and-powershell-how-to.html

(as noted, you'll need to start by downloading the most recent powershell integration stuff from here: http://www.microsoft.com/en-us/download/details.aspx?id=30141)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.