Apr 13 2020 02:48 AM - edited Apr 13 2020 02:52 AM
Hello community,
I'm writing because I'd like to know if behaviors experienced while using the birthdays calendar from Outook (desktop), are well-known or not:
Environment:
Thank you,
Luca
Apr 14 2020 07:45 AM
SolutionYes, unfortunately, that is the current designed and expected behavior. This is because they are 2 separate features controlled at 2 separate levels.
The Birthday Calendar feature is an Exchange level feature exposed in Outlook on the Web (OWA). It creates an additional Calendar which is synched to Outlook Desktop as well. The entries are based on the Birthday information of your contacts in the Contacts folder.
The Birthday events that are being added to your main Calendar folder is an Outlook Desktop feature. These events are created when you add or update the birthday field of a contact and then save the contact. The same applies to the anniversary field.
Unfortunately, unlike in Outlook on the Web, there is no option to disable this behavior in Outlook Desktop and thus could end up with duplicate birthday events and have to delete them manually from your main Calendar.
Apr 15 2020 06:23 AM - edited Apr 15 2020 02:20 PM
Hello @Robert Sparnaaij,
thank you for your reply; you confirmed my doubts.
Experiment
I made this experiment/test (just to increase my knowledge).
The objective was to set the Reminder to 0 days (default is 18 hours) for all recurring appointments/events inside Birthdays' calendar, in bulk.
I achieved the objective by using Microsoft Graph PowerShell Preview. This is the piece of PowerShell code:
# You'll be asked to sign in via web browser:
Connect-Graph -Scopes "Calendars.ReadWrite","User.Read.All"
$userId = (Get-MgUser | Where-Object {$_.DisplayName -eq "Bill Gates"}).Id
# If the 'Top' parameter is missing, it returns one calendar only (the default user's calendar):
$calendarId = (Get-MgUserCalendar -UserId $userId -Top 10 | Where-Object {$_.Name -eq "Birthdays"}).Id
# If the 'Top' parameter is missing, it returns 10 events only (maybe it's the default:
Get-MgUserCalendarEvent -CalendarId $calendarId -UserId $userId -Top 2000 | %{ Update-MgUserEvent -EventId $_.Id -UserId $userId -ReminderMinutesBeforeStart 0}
Even if the Update-MgUserEvent cmdlet returns the error below (for each item in loop), Reminder was changed successfully. Of course, the error itself can be suppressed by adding the parameter -ErrorAction SilentlyContinue.
Update-MgUserEvent : The server responded with an unrecognized response, Status: OK
At line:1 char:80
+ ... p 1000 | %{ Update-MgUserEvent -EventId $_.Id -UserId $userId -Remind ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: ({ UserId = 0a24...oftGraphEvent }:<>f__AnonymousType41`3) [Update-MgUserEvent_UpdateExpanded], RestException`1
+ FullyQualifiedErrorId : OK,Microsoft.Graph.PowerShell.Cmdlets.UpdateMgUserEvent_UpdateExpanded
Bye,
Luca
Apr 14 2020 07:45 AM
SolutionYes, unfortunately, that is the current designed and expected behavior. This is because they are 2 separate features controlled at 2 separate levels.
The Birthday Calendar feature is an Exchange level feature exposed in Outlook on the Web (OWA). It creates an additional Calendar which is synched to Outlook Desktop as well. The entries are based on the Birthday information of your contacts in the Contacts folder.
The Birthday events that are being added to your main Calendar folder is an Outlook Desktop feature. These events are created when you add or update the birthday field of a contact and then save the contact. The same applies to the anniversary field.
Unfortunately, unlike in Outlook on the Web, there is no option to disable this behavior in Outlook Desktop and thus could end up with duplicate birthday events and have to delete them manually from your main Calendar.