Link to home
Start Free TrialLog in
Avatar of timgbaldwin
timgbaldwin

asked on

Push Exchange user shared calendars to all mailboxes

Ok Exchange 2010 guru's, I have a challenge. The President of my company wants everyone to share their calendars and either give full view, restricted, or just show free/busy depending on who they are. This is the easy part.

We want all users to have everyone's calendars showing in groups, by department (calendar group) in outlook's calendar view. The challenge is this: I would like to be able to execute an EMS command that will be able to copy the settings from one mailbox to another, or simply write a command that will add all of the user's shared calendars to each mailbox calendar view. Or any other way to automate the process rather than manually adding all calendar groups, and calendars to each mailbox through outlook logged in as that user.

Our HR Manager had this at her previous company and said that the IT department pushed that out to everyone so that they didn't have to add them all manually.

Please let me know if there is any way to do this. I can't find any reference to it anywhere online. THANK YOU!
Avatar of Simon Butler (Sembee)
Simon Butler (Sembee)
Flag of United Kingdom of Great Britain and Northern Ireland image

Ah, the old "it was done at my old company so you must be able to do it" excuse. This is probably the same place the idea came from.
The end user probably has a hazy memory, doesn't remember that IT sat at every machine for 30 minutes or they were not even using Exchange! (It sounds like something Lotus Notes can do).

As far as I am aware, it isn't possible to do what you have asked. Certainly not from Exchange.
You may be able to write a script to do something in Outlook to do it, but it isn't anything I have seen, certainly not the grouping of calendars.
Shared Calendar display is a client side setting, not a server side setting.

Simon.
If it can be done, your best chance of getting there would be using the Office Customization Tool for Office 2010
http://technet.microsoft.com/en-us/library/cc179097(v=office.14).aspx
Avatar of timgbaldwin
timgbaldwin

ASKER

Have not had a chance to try this but I will next week. Thanks!
I looked at the Office Customization Tool and this is only for initial setup. For instance to insert the product key, company name, etc.
The only way I can see to get this done using groups is to create a powershell script that will enumerate all the individuals in a user group, then apply calendar permissions to each of those users.  You'd have to invoke this script each time you want permissions modified.

From the conceptual level this would be:
Read AD Group CalendarLimitedDetails
For each user in group {
Set-mailboxfolderpermissions ...
}


There is no direct method of applying calendar permissions to groups of people, because calendar permissions are assigned within the users mailbox inside the exchange database, and that mailbox entry has no outward visibility to Active Directory - a mailbox cannot query AD for information, so therefore it has no method of enumerating a user group when applying access permissions.

Get-ADGroupMember -Identity "Calendar_LimitedDetails" | ForEach-Object { 
    $mb = Get-Mailbox -Identity $_.distinguishedName
    set-MailboxFolderPermission -Identity "${mb}:\Calendar" -User Default -AccessRights LimitedDetails
}

Open in new window


The Variable "LimitedDetails" is defined by Microsoft and can be any of the following:
{Variable} 		{Rights Granted}
None 			FolderVisible
Owner 			CreateItems, ReadItems, CreateSubfolders, FolderOwner, FolderContact, FolderVisible, EditOwnedItems, EditAllItems, DeleteOwnedItems, DeleteAllItems
PublishingEditor 	CreateItems, ReadItems, CreateSubfolders, FolderVisible, EditOwnedItems, EditAllItems, DeleteOwnedItems, DeleteAllItems
Editor 			CreateItems, ReadItems, FolderVisible, EditOwnedItems, EditAllItems, DeleteOwnedItems, DeleteAllItems
PublishingAuthor 	CreateItems, ReadItems, CreateSubfolders, FolderVisible, EditOwnedItems, DeleteOwnedItems
Author 			CreateItems, ReadItems, FolderVisible, EditOwnedItems, DeleteOwnedItems
NonEditingAuthor 	CreateItems, ReadItems, FolderVisible
Reviewer 		ReadItems, FolderVisible
Contributor 		CreateItems, FolderVisible

The following roles apply specifically to calendar folders:
AvailabilityOnly 	View only availability data
LimitedDetails		View availability data with subject and location

Open in new window

The default value for calendar access permissions is "AvailabilityOnly"
I'm still looking for an answer to this. If I could just figure out how to create calendar groups, and open shared calendars for each user in powershell, (EMS), then we could script this to open all that are needed without user intervention. I'm not a powershell expert, so I'm calling on the gods to help me...
Sorry Jrhelgeson, I just saw your post, I probably just didn't refresh. The permissions are not a problem since I can set those with EMS for each user. It's clunky, but it works..

My main problem is just getting the shared calendars to be opened for each user in Outlook and grouped by department. I know these settings are stored on the server since the user can open outlook on any computer and the opened calendars are the same.

 I don't mind scripting this, if we could just find a command to create a calendar group, then to open shared calendars under this group. Thanks for your time and help with this! I think the community would eventually benefit from this if we can find the answer!
My main problem is just getting the shared calendars to be opened for each user in Outlook and grouped by department.
No surprise but you are not the first person to want this, and I have not yet found any method to accomplish this.

I know that Exchange 2010 uses a 'hidden mailbox' to store this information, but have not found any method to directly manipulate that information. The only thing I could think to do is run every command I can think of against a user mailbox and log all the settings, modify their calendar then re-run the powershell commands and compare the results...  I don't hold much hope for that though.  I'm almost certain it would have to be a MAPI utility of some sort.

I think the community would eventually benefit from this if we can find the answer!
Hear hear!

-Joel
ASKER CERTIFIED SOLUTION
Avatar of timgbaldwin
timgbaldwin

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Because there is no true answer for the question I proposed. My solution is a work around.