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!
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!
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
http://technet.microsoft.com/en-us/library/cc179097(v=office.14).aspx
ASKER
Have not had a chance to try this but I will next week. Thanks!
ASKER
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-mailboxfolderpermissio ns ...
}
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.
The Variable "LimitedDetails" is defined by Microsoft and can be any of the following:
From the conceptual level this would be:
Read AD Group CalendarLimitedDetails
For each user in group {
Set-mailboxfolderpermissio
}
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
}
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
The default value for calendar access permissions is "AvailabilityOnly"
ASKER
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...
ASKER
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. 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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Because there is no true answer for the question I proposed. My solution is a work around.
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.