How can I set ProcessExternalMeetingMessages: $true as a default for new Mailboxes
Running Exchange 2010 R2 Rollup 2. How can I set ProcessExternalMeetingMessages: $true as a default for any new mailboxes that are created?
April 23rd, 2010 11:05am

Use Powershell to create the resource mailboxes and set it there. Isnt that a setting reserved for resource mailboxes however?
Free Windows Admin Tool Kit Click here and download it now
April 23rd, 2010 1:09pm

I am wanting to set it is a default for UserMailboxes. I need this for our BES environment. Without this setting, any appointments originating from outside our Exchange, will show up on the Blackberry as a mail item and not an appointment.
April 23rd, 2010 1:32pm

If I do it for the server, would it be the CAS server or the mailbox server? I already have done this for all existing accounts, just want to make it the default so I don't have to script anything in the future.
Free Windows Admin Tool Kit Click here and download it now
April 23rd, 2010 2:55pm

For the whole server, pipe in the mailboxes by server or store etc..., but since you have done it for the existing mailboxes, soudns like you are covered.
April 23rd, 2010 3:22pm

Well that just blows. I was hoping I could make it the default for new mailboxes.
Free Windows Admin Tool Kit Click here and download it now
April 26th, 2010 7:46am

Not via EMC, but if you create the mailboxes with Powershell, absolutely!
April 26th, 2010 8:00am

Hi, I am using Get-Mailbox -server aplmbxi -ResultSize Unlimited -Filter {recipientTypeDetails -eq 'UserMailbox'} | Set-CalendarProcessing -ProcessExternalMeetingMessages $true I would like to filter on the attribute so I wrote this [PS] C:\Windows\system32>Get-Mailbox -server xxxxxxx -Filter {ProcessExternalMeetingMessages -eq $false} Invoke-Command : Cannot bind parameter 'Filter' to the target. Exception setting "Filter": ""ProcessExternalMeetingMessages" is not a recognized filterable property. For a complete list of filterable properties see the command help. "ProcessExternalMeetingMessages -eq $false" at position 1." Is their a way to do this? Then I can run the $true against all the falses.Best wishes Michael
Free Windows Admin Tool Kit Click here and download it now
April 5th, 2012 9:12am

What you're looking for is to change the default provisioning behavior of mailboxes. In order to do that you need to use scripting agents that are called when the new-mailbox cmlets are excuted. I would post in the development forum for more guidance. Understanding the Scripting Agent http://technet.microsoft.com/en-us/library/dd297951.aspxJames Chong MCITP | EA | EMA; MCSE | M+, S+ Security+, Project+, ITIL msexchangetips.blogspot.com
April 5th, 2012 10:02am

Hi, I am using Get-Mailbox -server aplmbxi -ResultSize Unlimited -Filter {recipientTypeDetails -eq 'UserMailbox'} | Set-CalendarProcessing -ProcessExternalMeetingMessages $true I would like to filter on the attribute so I wrote this [PS] C:\Windows\system32>Get-Mailbox -server xxxxxxx -Filter {ProcessExternalMeetingMessages -eq $false} Invoke-Command : Cannot bind parameter 'Filter' to the target. Exception setting "Filter": ""ProcessExternalMeetingMessages" is not a recognized filterable property. For a complete list of filterable properties see the command help. "ProcessExternalMeetingMessages -eq $false" at position 1." Is their a way to do this? Then I can run the $true against all the falses.Best wishes Michael This command ran successfully on my Ex2010 RTM, and Ex2010 SP2. Get-Mailbox -server aplmbxi -ResultSize Unlimited -Filter {recipientTypeDetails -eq 'UserMailbox'} | Set-CalendarProcessing -ProcessExternalMeetingMessages $true You can also write above command like this $mailboxes = Get-Mailbox -server aplmbxi -ResultSize Unlimited |% {$_.recipientTypeDetails -eq 'UserMailbox'}; foreach($mailbox in $mailboxes){Set-CalendarProcessing $mailbox -ProcessExternalMeetingMessages $true} Regards,Laeeq Qazi|Team Lead(Exchange + Sharepoint + BES + DynamicsCRM) www.HostingController.com
Free Windows Admin Tool Kit Click here and download it now
April 5th, 2012 10:17am

Thanks both for the reply. The command I use does indeed work, but it returns all mailboxes. I am going to have to move another 100 mailboxes over the weekend and I now need to run the same command again against mailboxes that are already set. I would prefer to run it only against the false mailboxes, but it seems Powershell can't filter on anything, it has to be an allowed filter property and that is a shame. As James says setting the default would be even better, but I am sure their will be other examples where filtering on other settings would be helpful. Best wishes Michael
April 5th, 2012 4:51pm

Thanks both for the reply. The command I use does indeed work, but it returns all mailboxes. I am going to have to move another 100 mailboxes over the weekend and I now need to run the same command again against mailboxes that are already set. I would prefer to run it only against the false mailboxes, but it seems Powershell can't filter on anything, it has to be an allowed filter property and that is a shame. As James says setting the default would be even better, but I am sure their will be other examples where filtering on other settings would be helpful. Best wishes Michael Hi Michael, There is nothing wrong with powershell commands, and exchange has very strong powershell cmdlet set, and it's only that we are not aware how to use them. Here is the solution to your problem. $Mailboxes = get-CalendarProcessing| where {$_.ProcessExternalMeetingMessages -eq $false}; foreach($mailbox in $Mailboxes){ Set-CalendarProcessing $mailbox.Identity -ProcessExternalMeetingMessages $true} Best Regards, Laeeq Qazi|Team Lead(Exchange + Sharepoint + BES + DynamicsCRM) www.HostingController.com
Free Windows Admin Tool Kit Click here and download it now
April 5th, 2012 7:57pm

Hi Laeeq, You're a star. That is excellent. You are correct I am new to Powershell so when I find a script that works I try to use that as a starting point. The one I was using had a filter so I though filtering ProcessExternalMeetingMessages seemed a fair place to start. Can you recommend any good books to PS? Really appreciate your help. Best wishes Michael
April 6th, 2012 4:56am

Hi Laeeq, I have tried to adjust your script slightly. I believe your script will bring back all mailboxes including rooms. In the Rim technote it says not to change the meeting rooms. So did this. How does it look? This was my test to see what was returned. This seems to return user mailboxes only and those that need changing. $Mailboxes = get-CalendarProcessing| where {$_.ProcessExternalMeetingMessages -eq $false -and $_.recipientTypeDetail -eq 'UserMailbox'};foreach($mailbox in $Mailboxes){ Get-Mailbox -server xxxxxxx} This will be the script to set the attribute $Mailboxes = get-CalendarProcessing| where {$_.ProcessExternalMeetingMessages -eq $false -and $_.recipientTypeDetail -eq 'UserMailbox'};foreach($mailbox in $Mailboxes){ Set-CalendarProcessing $mailbox.Identity -ProcessExternalMeetingMessages $true} I appreciate your feedback. Best wishes Michael
Free Windows Admin Tool Kit Click here and download it now
April 10th, 2012 6:27am

Thank you to all of you who have contributed here - this thread is a big help to me. I've tried this: $Mailboxes = get-CalendarProcessing| where {$_.ProcessExternalMeetingMessages -eq $false and $_.recipientTypeDetail eq UserMailbox}foreach($mailbox in $Mailboxes){ Set-CalendarProcessing $mailbox.Identity -ProcessExternalMeetingMessages $true} but every time I enter line #1 PowerShell comes back and prompts me for the Identity: . I'm trying to loop through and affect all mailboxes (that fit the criteria), so of course I don't want to specify a specific identity. In my case I'm working with Exchange Online/Office 365 - I assume that is why the syntax above isn't working for me. How can I change the above to work? ---------------- I also want to change the AutomateProcessing property. I altered the above, to get this: $UpdateCalMailboxes = get-CalendarProcessing| where {$_.AutomateProcessing -ne AutoUpdate and $_.recipientTypeDetail eq UserMailbox);foreach($mailbox in $UpdateCalMailboxes){ Set-CalendarProcessing $mailbox.Identity -AutomateProcessing AutoUpdate} Does that look right? I assume I'll need to fix it similarly to the lines above. Thanks, Steve
May 16th, 2012 12:44am

I *think* I solved the problem I was running into. I ran this: PS C:\Windows\system32> Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize unlimited | Set-CalendarProcessing -ProcessExternalMeetingMessages $true -AutomateProcessing AutoUpdate Seemed to work OK. Do you guys see anything wrong with that command? Thanks, Steve
Free Windows Admin Tool Kit Click here and download it now
May 16th, 2012 1:08am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics