Link to home
Create AccountLog in
Avatar of Ryan Hennessey
Ryan Hennessey

asked on

Export Outlook Calendar Permissions to Database automatically

Hello,

BACKGROUND:
I have been asked to create an application that will be publicly accessible to 2000+ employees that will expose Conference Room Availability to every employee on our intranet.  Each conference room will be setup as an Outlook Resource.  My superiors want to be able to restrict access to some of the conference rooms.  This will be accomplished in Exchange Security settings.

I have created a simple ASP.Net 2.0 application that uses a URL of the following format to retrieve free/busy information from MS Exchange 2003:

    http://EXCHANGE.domain.com/public/?cmd=freebusy&start=2008-07-11T08:00:00&end=2008-07-11T20:00:00&interval=15&u=SMTP:confroom1@domain.com&u=SMTP:confroom2@domain.com&u=SMTP:confroom3@domain.com...

When the user agent header property of the HTTP request is set properly, an XML resultset is returned containing the availability of each resource listed in the URL (&u=SMTP:blah@domain.com).  Then I parse the XML resultset to retrieve the Free/Busy information for each conference room.  The Free/Busy information is displayed a nice little grid.

However, I need to be able to determine which Outlook Resources (Calendars) are restricted to the general public (default, anonymous security settings for the calendar).  As well, any changes to the Resources Name or Description must be determined.

I am storing a list of conference rooms in a separate database (SQL Server 2000).  Some of the conference rooms' Outlook Resource (Calendar) information is duplicated in this database: Ex.Description, Email.

QUESTION:  Is there a way to automatically export the Outlook Resource (Calendar) information from MS Exchange 2003 to my SQL Server 2000 database?  I need to copy over the folder Description and security settings.  Actually, the only security setting I need to know is if the folder is public or restricted: the default & anonymous security settings.

The Automatic export can happen on a nightly basis, or twice a day, or anything like that.  The point is to have it happen automatically so the system administrators don't have to maintain two systems (MS Outlook Exchange & SQL Server 2000).

Am I on the right track?

PS: I have already tried Outlook Redemption and run into many problems.
SOLUTION
Avatar of DavidT543
DavidT543
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
Avatar of Ryan Hennessey
Ryan Hennessey

ASKER

Thanks David, I haven't tried the entryID method yet in this app.  I tried it a while ago and it worked great for a smaller app I wrote.  However, I do have an issue with this approach.  maybe you can provide some feedback.

It is possible that mailboxes may be changed/moved/removed/added as the conference room situation is not static.  If I am to use the EntryID method, it will not be possible for a regular administrator (conference room coordinator, not IT personnel) to perform the operations required to add or update a conference room.

Is it possible for an Exchange administrator (tech who maintains the Exchange servers) to retrieve the EntryID for a certain folder?  Is the EntryID only available via Redemption?  If the Entry ID is only available via redemption, it makes things a little more complicated... which might make the system less feasible to the users.

Right now I'll try to implement the system via the EntryID method.  I have an inkling of an idea of how to streamline the "New Conf Room" process.

By the way, this system could possibly be used by literally hundreds of users; a dozen or more users simultaneously accessing the system is a probable situation.  Do you know if Redemption can handle this kind of load?
I just want to clarify the application's architecture.  It's a simple app with complex issues.

Application Information:
ASP.Net 2.0 application - the page where the user looks up conference room availability
SQL Server 2000 - a list of conference rooms is stored in a database table.  This list is referenced by the ASP.Net app.

I might have said that already, but my question is really long so I'll restate the application's architecture for clarity's sake.
SOLUTION
Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
ASKER CERTIFIED SOLUTION
Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
SOLUTION
Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.