Room Booking Out of Policy Request Without Delegate Approval

Hi Readers,

Recently we have got a requirement to provide one group access to all Resource Calendars so that they can book out of policy requests.

They don’t want any delegate appprovals therefore we came up with this approach, created a group of the users that need this kind of feature,

Created the script that will assign Author access to all Resource Calendars, Created a process document on how to book the room directly in

Resource mailbox calendar.

Download & extract the script from below link:

https://gallery.technet.microsoft.com/scriptcenter/ADD-Group-Access-to-812f4fb0

Change the variables accordingly & schedule the batch file..

$access = “Author”     

$usrgp =  “AllRoomsAuthorAccess”  # group Name that you want to use

Replace the ExchangeServer Name…

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://ExchangeServer/PowerShell/ -Authentication Kerberos

You can use this script to apply any of the below permissions

# None

# Owner

# PublishingEditor

# Editor

# PublishingAuthor

# Author

# NonEditingAuthor

# Reviewer

# Contributor

On first run you should change the condition from $_.WhenMailboxCreated -ge $days to $_.WhenMailboxCreated -le $days so that permissions are applied to mailboxes that are already in the enviornment, after that you can change it back to what it is $_.WhenMailboxCreated -ge $days to apply permissions on newly created mailboxes.

############################################################################# 
#       Author: Vikas Sukhija 
#       Reviewer:     
#       Date: 04/06/2015 
#       Update:  
#    Description: Add group as Author, reviewer or other access to  
#    ALL Rooms/Equipment resources 
# None  
# Owner 
# PublishingEditor 
# Editor 
# PublishingAuthor  
# Author   
# NonEditingAuthor    
# Reviewer 
# Contributor 
############################################################################# 
#########################Define Variables#################################### 
$access = "Author"     # Vaules can be anything from above 
$usrgp =  "AllRoomsAuthorAccess" 
 
$days = (get-date).adddays(-1) 
$limit = (Get-Date).AddDays(-60) #for log recycling 
 
$date = get-date -format d 
$date = $date.ToString().Replace(“/”, “-”) 
$time = get-date -format t 
 
$time = $time.ToString().Replace(":""-"$time = $time.ToString().Replace(" """) 
 
$path = ".\logs\" 
$output1 = ".\logs\" + "Addaccess_" + $date + "_" + $time + "_.log" 
$output2 = ".\logs\" + "Powershell_" + $date + "_" + $time + "_.log" 
 
 
###################### Add Exchange Shell#################################### 
 
<#If ((Get-PSSnapin | where {$_.Name -match "Microsoft.Exchange.Management.PowerShell.E2010"}) -eq $null) 
{ 
    Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 
}#> 
 
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://ExchangeServer/PowerShell/ -Authentication Kerberos 
import-pssession $session 
 
 
start-transcript -Path $output2 
########################Get all Rooms/Equipment mailboxes#################### 
 
$Resources = Get-Mailbox -resultsize unlimited | where{($_.RecipientTypeDetails -like "RoomMailbox"-or ($_.RecipientTypeDetails -like "EquipmentMailbox")} 
 
if ($Resources){ 
 
$Resources | foreachif($_.WhenMailboxCreated -ge $days){ 
$Name = $_.primarysmtpaddress 
$now = get-date -Format t 
Write-host "Processing ...........$Name"  -foregroundcolor Green 
 
Add-MailboxFolderPermission -identity ([string]$Name + ":\Calendar"-User $usrgp  -AccessRights $access 
 
ADD-content $output1 "$now ...processed ..$Name" 
 } 
} 
} 
 
########################Recycle logs ###################################### 
 
Get-ChildItem -Path $path  | Where-Object {   
$_.CreationTime -lt $limit } | Remove-Item -recurse -Force  
 
 
stop-transcript 
########################################################################### 

 Now refer the process document

Book Rooms out of Policy

Below outlines the procedure that needs to be followed if room booking is required beyond 360 days. Members of “AllAuthorAccess” group have Author access to all Rooms to leverage this capability.

 

  1. Go to File –> Open –>Other User’s Folder

1

2. Select Calendar from the drop down list.

2

3. Select the conference room by clicking Name  in the Open Other User’s Folder window. Click on the name of the room shown in the Global Address List window. Click OK.

4. Now you will see the calendar of the conference room

5. Right click the calendar of the conference room and create a New Meeting Request.

6. Select the dates beyond 180 days and after filling out the remaining meeting request details, click Send

7. Meeting will now be booked.

8. You can now remove the calendar if there are no other meetings to book.

3

 

Note:- If you want to cancel or reschedule the meeting, you have to submit it by going to the Room Calendar and following the example used above for booking.

 

Regards

Sukhija Vikas

http://msexchange.me

Advertisements

2 thoughts on “Room Booking Out of Policy Request Without Delegate Approval

  1. Hi
    We have a single room that we would like a select group of users to be allowed to make an “out of policy” booking that does NOT require delegate approval. I have looked at your script above and concluded that all I would need to do is grant these select users (or AD group) the “Author” permission to the rooms calendar – is this correct? Anyway I tried that but out of policy bookings made by this group of users are still being sent to the delegate for approval. What am I missing here please?

    Thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s