microsoft.public.exchange.development
[Top] [All Lists]

Re: Outlook DIrect Online Booking migration to Auto Accept Solutions

Subject: Re: Outlook DIrect Online Booking migration to Auto Accept Solutions
From: "Glen Scales [MVP]"
Date: Thu, 19 Oct 2006 17:14:14 +1000
Newsgroups: microsoft.public.exchange.development
I dont think I've seen any scripts for this it can be a little bit 
complicated and documentation on how it works in pretty hard to find. From 
experience the 3 Direct booking options are held on the freebusy item for 
the resource mailbox. Freebusy information is stored in two spots its stored 
in the Non_ipm_subtree of the users mailbox in the FreeBusy Data folder in a 
item called localfreebusy and also there's an entry in the Public Schedule + 
Freebusy folder in the public store. Outlook I think generally looks at the 
local freebusy item to work out the configuration and other mail clients 
will query the public folder to see if this mailbox is DOB enabled. Normally 
Outlook will handle any changes to these properties and make sure that there 
keep in sync whenever the options are changed. If you want to display what 
the setting are via CDO you can use a script like this. The EntryID of the 
mailbox and public folder freebusy item should be held in the 
PR_FREEBUSY_ENTRYIDS  multivalued property on the root of mailbox.

MailServer = "servername"
Mailbox = "Mailbox"
Const PR_FREEBUSY_ENTRYIDS = &H36E41102
Const PR_PARENT_ENTRYID = &H0E090102
Const PR_RECALCULATE_FREEBUSY = &H10F2000B
Const PR_FREEBUSY_DATA = &H686C0102

set objSession = CreateObject("MAPI.Session")
strProfile = MailServer & vbLf & Mailbox
objSession.Logon "",,, False,, True, strProfile
Set objInfoStores = objSession.InfoStores
set objInfoStore = objSession.GetInfoStore
Set objpubstore = objSession.InfoStores("Public Folders")
Set objRoot = objInfoStore.RootFolder

set non_ipm_rootfolder = 
objSession.getfolder(objroot.fields.item(PR_PARENT_ENTRYID),objInfoStore.id)
fbids = non_ipm_rootfolder.fields.item(PR_FREEBUSY_ENTRYIDS).value
set localfbusy = objSession.getmessage(fbids(1),objInfoStore.id)
Wscript.echo "Private FB Settings"
wscript.echo "Automatically accept meeting and proccess cancellations : " & 
localfbusy.fields.item(&H686D000B)
wscript.echo "Automatically decline conflicting meeting requests : " & 
localfbusy.fields.item(&H686F000B)
wscript.echo "Automatically decline recurring meeting requests : " & 
localfbusy.fields.item(&H686E000B)
wscript.echo
set publicfbusy = objSession.getmessage(fbids(2),objpubstore.id)
Wscript.echo "Public FB Settings"
wscript.echo "Automatically accept meeting and proccess cancellations : " & 
publicfbusy.fields.item(&H686D000B)
wscript.echo "Automatically decline conflicting meeting requests : " & 
publicfbusy.fields.item(&H686F000B)
wscript.echo "Automatically decline recurring meeting requests : " & 
publicfbusy.fields.item(&H686E000B)

To handle any rules you should be able to use the Rule.dll to go though the 
rules table and delete whatever rules you dont want eg something like 
http://gsexdev.blogspot.com/2006/08/reporting-on-meeting-delegate-forward.html. 
Permissions you can do using the ACL.dll

Cheers
Glen

<dzekunskas@xxxxxxxxx> wrote in message 
news:1161197068.282807.159090@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> Are there any scripts or non manual way to remove DOB settings,
> delegates and rules from a resource? We have well over a thousand
> resources in our org and to do these manually would require massive
> time and resource efforts. I would say that it isnt even worth
> migrating away, because we dont have the resources to accomplish this
> in one or two night rollover. Any ideas out there? Why create a tool
> then not create a migration to it or somehow to remove the Direct
> booking checks and the other things.
> 



<Prev in Thread] Current Thread [Next in Thread>
Privacy Policy