Create a new Room Mailbox with Security Groups

Last Updated: 2018-07-06

Exchange Server 2013Exchange Server 2016Description

This script creates a new room mailbox and security two groups for full mailbox access and for send-as delegation. The security groups are created using a configurable naming convention. If required by your Active Directory team, you can add group prefixes or department abbreviations as well.

The script uses an XML configuration file to simplify changes for variables unique to your environment.

High-level steps executed by the script:

  1. Create a new room mailbox
  2. Create a new mail-enabled security group for full access delegation
  3. Assign a full access security group for full access to the room mailbox
  4. Create a new mail-enabled security group for send-as delegation
  5. Assign send-as permissions to a send-as security group
  6. Create a new mail-enabled security group for allowed users to book the new room mailbox
  7. Set calendar processing to AutoAccept, if required
  8. Set resource capacity, if required

Examples

XML settings file

Note

The calendar-booking security group feature is currently not available. But will be available in an upcoming release.

The following example creates a room mailbox for a Conference Room with empty security groups.

.\New-RoomMailbox.ps1 -RoomMailboxName "MB - Conference Room" -RoomMailboxDisplayName "Board Conference Room" -RoomMailboxAlias "MB-ConferenceRoom"   -RoomMailboxSmtpAddress "ConferenceRoom@mcsmemail.de" -DepartmentPrefix "C"

You can simplify the use of the script by using a parameterized helper script named Run-NewRoomMailbox.ps1.

The following Run-NewRoomMailbox.ps1 script simplifies the process of creating a team mailbox even more.

$roomMailboxName = 'MB-Conference Room'
$roomMailboxDisplayName = 'Board Conference Room'
$roomMailboxAlias = 'MB-ConferenceRoom'
$roomMailboxSmtpAddress = 'ConferenceRoom@mcsmemail.de'
$departmentPrefix = 'C'
$groupFullAccessMembers = @('JohnDoe','JaneDoe')  # Empty = @()
$groupSendAsMembers = @()
$groupCalendarBookingMembers = @()
$RoomCapacity = 0
$RoomList = 'AllRoomsHQ'
$Language = 'en-GB'

.\New-RoomMailbox.ps1 -RoomMailboxName $roomMailboxName -RoomMailboxDisplayName $roomMailboxDisplayName 
-RoomMailboxAlias $roomMailboxAlias 
-RoomMailboxSmtpAddress $roomMailboxSmtpAddress 
-DepartmentPrefix $departmentPrefix 
-GroupFullAccessMembers $groupFullAccessMembers 
-GroupSendAsMembers $groupSendAsMembers  
-RoomCapacity $RoomCapacity  
-AutoAccept 
-RoomList $RoomList  -Language $Language

Version History

  • 1.0, Initial community release
  • 1.1, Some PowerShell hygiene, issue #2 closed
  • 1.2, CalenderBooking, Language added

Links

Follow

Entdecke mehr von Granikos GmbH & Co. KG

Jetzt abonnieren, um weiterzulesen und auf das gesamte Archiv zuzugreifen.

Weiterlesen