Creating a resource mailbox in Exchange Server is easy. And it can make managing your organization’s resources — conference rooms, projectors, etc. — real easy, especially in avoiding double-booking.
But what if you accidentally create your resource mailbox as a user, instead? You can’t set it to auto-accept invitations, creating a management nightmare as each one has to be manually accepted on your resource’s calendar.
You can change the type of the account, but no one — Microsoft included — makes it easy to find out how! Here’s my humble effort to change that…
If you create your resource using the New-Mailbox
, you simply specify “-Room” as one of the arguments, and Bam! you have yourself a room resource.
But what if you forget that part?
[PS] C:\Windows\system32>Get-Mailbox confroom |fl *resource*
IsResource : False
ResourceCapacity :
ResourceCustom : {}
ResourceType :
[PS] C:\Windows\system32>Get-MailboxCalendarSettings confroom
AutomateProcessing : AutoUpdate
Well, that won’t do — we want AutoAccept, not AutoUpdate; the latter puts meeting invites in the “Tentative” state, while the former actually accepts them, which is what we want. But we can’t change it to AutoAccept because it’s not a resource!
Okay, well, New-Mailbox
uses the “-Room” parameter, so all we need to do is to use Set-Mailbox
with that parameter, right?
Wrong. Microsoft, in their infinite wisdom, decided that they don’t need consistency. So how do you do it?
[PS] C:\Windows\system32>Set-Mailbox confroom -type room
[PS] C:\Windows\system32>Set-MailboxCalendarSettings confroom -AutomateProcessing:AutoAccept
Easy, huh? Wouldn’t it have been easier, though, if Microsoft had embraced the very simple philosophy of consistency?
Did not work at all in Exchange 2010, here’s how I had to do it:
1) Get the database and username paramters for the specific user (e.g. ‘Room2.101’)
Get-Mailbox -Identity “RoomName” | Select-Object Database, SamAccountName
Note the database and username as you will need them in the following comands.
e.g.:
Database SamAccountName
——– ————–
EU-ON10 Room2.101
2) Disconnect the mailbox
Disable-Mailbox -Identity “RoomName”
(you will get a warning “If the mailbox has an archive or remote archive…. etc.”)
type Y
3) Clean-MailboxDatabase DATABASE
Clean-MailboxDatabase EU-ON10
If you do not clean the database first, the disconnected mailbox will not be found before Exchange has replicated automatically.
Now reconnect the disconnected mailbox to the correct user in the GUI of you like, or continue with PS:
4) Connect the mailbox back to the account
Connect-Mailbox -Identity “RoomName” -Database “Database” -User “Username”
5) Convert the mailbox to the Room Mailbox type:
Set-Mailbox -Identity “RoomName” -Type Room | Set-CalendarProcessing -AutomateProcessing AutoAccept
Done. 🙂