none
E2007 and disable direct booking from resource mailboxes RRS feed

  • Question

  • Hi,

    I have tried to find simple way to remove direct booking from the E2007 resource mailboxes - like Rooms. Does anybody have way to do it? As you know, I cannot do 200 mailboxes using the Outlook client...

    This one is only tip to find, but I could not make the code working...


    Petri

    Wednesday, December 12, 2012 10:26 AM

All replies

  • You will need to make sure that you grant full access to every mailbox you want to try this on using add-MailboxPermission (Exchange Administration rights will mean nothing)

    then try http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopmentlegacy/thread/0f20b827-c1d2-414d-9936-ebbd86e4d285

    If you get an error you need to say what the error is.

    Cheers
    Glen

    Thursday, December 13, 2012 5:52 AM
  • I have full access credentials to those mailboxes, but still the code returns error:

    Collaboration Data Objects:  [Collaboration Data Objects - [MAPI_E_INVALID_ENTRYID(80040107)]]

    And this is from the line:
    set publicfbusy = objSession.getmessage(fbids(2),objpubstore.id)


    Petri

    Monday, December 17, 2012 9:37 AM
  • The error means what it says it saying that the EntryID you trying to use is't valid

    Try to echo out fbids(2)

    You may need to look at the ID's with a Mapi Editor it could be the Index value is wrong for you.

    Cheers
    Glen

    Thursday, December 20, 2012 11:13 AM
  • Glen,

    FBids(2) returns nothing and when I look the property "PR_FREEBUSY_ENTRYIDS" using the MFCMAPI tool I saw:
    FBids(0) was null
    FBids(1) was not null
    FBids(2) was null
    FBids(3) was not null

    And this was the case on root level and inbox folder.

    This mailbox is one of the test mailboxes which I have just created for finding solution for this. So mailboxes are mostly with default settings (some of them are set for direct booking some are not. And all of them have same behavior with this code.


    Petri

    Monday, December 31, 2012 6:42 AM
  • Well I wrote that script for Exchange 2003 but all it did was point to the Public Schedule/FreeBusy object for that mailbox and then enumerates the freebusy objects within that Public folder. You should be able to compare the EntryId's from those properties to what you get from MFCMapi if you look at the Schedule/Freebusy folder object for that mailbox. You can just cut and paste the EntryId for the Schedule+/Freebusy folder into

    objSession.getfolder(publicfbusy.fields.item(PR_PARENT_ENTRYID),objpubstore.id)

    as well.

    Cheers
    Glen

    Wednesday, January 2, 2013 5:26 AM
  • Glen,

    Ok, thanks. This code started to work when I replace the line:

    set publicfbusy = objSession.getmessage(fbids(2),objpubstore.id)

    With the line:

    set publicfbusy = objSession.getmessage(fbids(1),objpubstore.id)

    But of course the biggest question is, how to get this behavior changed. If I just make those three values:
       Automatically accept meeting and process cancellations : False
       Automatically decline conflicting meeting requests : False
       Automatically decline recurring meeting requests : False
    to false and make the mailbox type to "room" it doesn't disable the Direct Booking behavior. When I try to book that kind mailbox the Outlook says:

    " 'Test mailbox' declined our meeting because it is recurring. You must book each meeting separately with this resource"

    And the meeting was not recurring meeting :)


    Petri

    Wednesday, January 2, 2013 8:57 AM
  • You need to connect to the Mailbox directly and change the Local FreeBusy object, what in the public folder is just a copy and changes wont replicate back. see http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopmentlegacy/thread/0f20b827-c1d2-414d-9936-ebbd86e4d285

    which modifies the local object rather then the public folder object.

    Thursday, January 3, 2013 6:17 AM
  • Thank you for your link, but if I read it correctly the code, it will set above three properties as "true". And by that it seems to enable the direct booking.

    So I did it in wise versa, and set all of them "false" using the MFCMapi. So I had the room mailboxes where I had direct booking enabled. After I change the values to false my Outlook started to answers to me for my meeting requests: " 'Test mailbox' declined our meeting because it is recurring. You must book each meeting separately with this resource". Again, the meeting was not recurring meeting.

    Do you or anybody have knowledge what is the best option to extract all content from the mailbox, to be able to compare what are the differences between working and not working rooms and see what is making mailbox to be "direct booking" enabled or disabled.


    Petri

    Friday, January 4, 2013 7:26 AM
  • That sounds to me that you have both automated processing and Direct booking enabled which isn't supported. (eg Direct booking wont return anything about recurring meeting only on of the automated processing option would do this see http://blogs.technet.com/b/exchange/archive/2007/05/14/3402515.aspx )

    Cheers
    Glen

    Wednesday, January 9, 2013 4:59 AM
  • Thanks Glen, but Nagesh Mahadev wrote on the blog:

    "I will talk more above Exchange Server 2007/Exchange server 2003 environments and how legacy resource mailboxes can be converted to Exchange Server 2007 resources without interrupting the ability of legacy clients to send meeting requests to them later on."

    And only references were these (in the comments section):
     - Disable direct booking on one mailbox using Outlook client

     - Disable Auto Accept Agent-Based mailboxes

    So I still would like to see how to do this easily for 400 mailboxes :)


    Petri


    • Edited by Petri X Wednesday, January 9, 2013 12:58 PM Fix the link list
    Wednesday, January 9, 2013 12:57 PM