'Allowing bookings of o365 room for external users

I have a O365 tenant with a bunch of resources (=rooms) in it, e.g. [email protected], and a few users, e.g. [email protected].

The rooms are possible to book for users within the tenant, i.e., user1 may schedule a meeting in room1, but I now want to make them available also for some external users, let's call it [email protected].

I've read a ton of guides such as this and this and this about this, and they all pretty much say the same thing; it's the ProcessExternalMeetingMessages property that allows this. If it's enabled, by default anyone should be able to send a scheduling request to the resource's mailbox.

So from PowerShell I've done

> Set-CalendarProcessing -Identity Room1 -ProcessExternalMeetingMessages $true

I've verified that the change is in effect:

> Get-CalendarProcessing -Identity Room1 | fl ProcessExternalMeetingMessages

ProcessExternalMeetingMessages : True

I've also published the calendar:

> Set-MailboxCalendarFolder Room1:\Calendar -PublishEnabled $true           

This gives me a public URL in which the calendar is viewable with free/busy information.

Furthermore, I've added my user as a delegate to the resource so that I can view its mailbox, verified that "Everyone" is allowed to book the resource, verified that there are no custom transport rules preventing e-mail delivery to the resource, and even explicitly shared the calendar with my external user [email protected].

Still, when trying to book a meeting with the resource as the location, there's never any response. The event is not added to the room calendar, there is no accept/decline answer sent back to the booking user, and there is no invitation e-mail in the resource's mailbox. It's clear that external meeting requests are not processed.

If I book the room from [email protected], it instantly responds with an accept, and in the resource's mailbox the received invitation and the sent response is visible.

I feel like I've turned every stone now, trying to understand why this room cannot be scheduled. Every guide says that if ProcessExternalMeetingMessages is true, by default anyone may schedule that resource, but I cannot even do it after explicitly publishing and sharing the calendar with my particular user.

How could I debug this further? Is there any global setting that could override the ProcessExternalMeetingMessages settings, such as a policy that blocks or restricts external messages on a higher level?



Solution 1:[1]

Just a little something, if you come across mail boxes calendar folders in another language.

This gets the calendar folder regardless of language.

$calendar_folder = get-mailboxfolderstatistics $RoomID -folderscope calendar | where {($_.foldertype -eq "Calendar")} | select name 
$calendar_folder_name = $RoomID+":\"+$cal.name

Also what do you want to share, the meeting title, or just the organiser or both? # Meeting details in calendar to be shown.

set-calendarprocessing -Identity $RoomID -DeleteSubject $false -AddOrganizerToSubject $true

Get permmissions of calendar_folder

$calendar_folder_permissions = Get-MailboxFolderPermission 
$calendar_folder_name | where {$_.User -notmatch "^(Default|Anonymous)$"} 

Get and remove permissions

Get-MailboxFolderPermission $calendar_folder_name | where {$_.User -notmatch "^(Default|Anonymous)$"} | % { Remove-MailboxFolderPermission -Identity $_.Identity -User $_.User.DisplayName -Confirm:$false 

Add-MailboxFolderPermission (adds) / Set-MailboxFolderPermission (overwrites), You can use groups or people

Set-MailboxFolderPermission $calendar_folder_name -User Default -AccessRights LimitedDetails
Set-MailboxFolderPermission $calendar_folder_name -User Default -AccessRights AvailabilityOnly
Add-MailboxFolderPermission $calendar_folder_name -User $GroupName -AccessRights LimitedDetails

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1