Removing calendar permissions from all users in an OU?
Hello!
At some point, a tonne of people in one of our OUs wanted to be able to see everyone else's calendar, this wasn't done by me (I'd have put the permission against a group, not every user). Unfortunately, these users now want to NOT be able to all see each
other's calendars. I'm struggling to get this done in powershell as I'm pretty much an Amateur, I've gotten this far:
get-mailbox -organizationalunit "ou=ou,dc=domain,dc=domain" | remove-mailboxfolderpermission -user "user" -confirm:$false
Now, obviously this does remove a permission but only from the top level folder, not specifically the calendar.
I've also tried "get-mailboxfolder *:\calendar" but this doesn't support describing the OU, and even if I wanted to apply it to the whole domain by removing -organizationalunit (which in theory shouldn't break anything as it's removing perms that the whole
domain doesn't have anyway) it will only remove permissions for the administrator account of the whole OU.
edit: I don't mind if I have to run a script for every user to remove their perms for every mailbox, that's just a matter of exporting the user list and copying the rest of the script in excel and doesn't increase the time it will take to do this by more
than a few mins.
Anyone able to help me with this?
Regards
Paddy
May 10th, 2012 3:32pm
Is it Exchange 2010?Fiona Liao
TechNet Community Support
Free Windows Admin Tool Kit Click here and download it now
May 11th, 2012 3:50am
Yes, Sorry, Exchange 2010. Forgot to mention this.
May 11th, 2012 5:50am
This seems to be working, however I get the error "pipeline not executing because a pipeline is already executing. Pipelines cannot be executed concurrently" it repeats this for every single mailbox and then starts working on about the last 5 mailboxes.
It seems like it's trying to execute for multiple mailboxes at once. Is there any way to fix this?
Regards
Paddy
Free Windows Admin Tool Kit Click here and download it now
May 11th, 2012 6:48am
Hi,
By default "Default" is assigned the permission AvailabilityOnly and I would think that you want to revert to that and you can do it by running:
get-mailbox -organizationalunit domain.com/OU/someou | ForEach-Object {Add-MailboxFolderPermission $_":\Calendar" -User Default -AccessRights AvailabilityOnly}
Martina Miskovic
May 11th, 2012 7:15am
Thanks!
That solves the problem. I've learned a lot today.
Regards
Paddy
Free Windows Admin Tool Kit Click here and download it now
May 11th, 2012 7:58am
Thanks!
That solves the problem. I've learned a lot today.
Regards
Paddy
May 11th, 2012 8:08am
Is it Exchange 2010?Fiona Liao
TechNet Community Support
Free Windows Admin Tool Kit Click here and download it now
May 11th, 2012 10:50am
Yes, Sorry, Exchange 2010. Forgot to mention this.
May 11th, 2012 12:50pm
This seems to be working, however I get the error "pipeline not executing because a pipeline is already executing. Pipelines cannot be executed concurrently" it repeats this for every single mailbox and then starts working on about the last 5 mailboxes.
It seems like it's trying to execute for multiple mailboxes at once. Is there any way to fix this?
Regards
Paddy
Free Windows Admin Tool Kit Click here and download it now
May 11th, 2012 1:48pm
Ok, Try this instead:
$Mailboxes = get-mailbox -organizationalunit domain.com/OU/someou
$Mailboxes | ForEach-Object {Add-MailboxFolderPermission $_":\Calendar" -User Default -AccessRights AvailabilityOnly}
What is the permissions set on the calendar folder?
Check with: Get-Mailboxfolderpermission alias:\calendarMartina Miskovic
May 11th, 2012 1:56pm