SOLVED

Birthdays calendar behavior

%3CLINGO-SUB%20id%3D%22lingo-sub-1302214%22%20slang%3D%22en-US%22%3EBirthdays%20calendar%20behavior%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1302214%22%20slang%3D%22en-US%22%3E%3CP%3EHello%20community%2C%3C%2FP%3E%3CP%3EI'm%20writing%20because%20I'd%20like%20to%20know%20if%20behaviors%20experienced%20while%20using%20the%20%3CSTRONG%3Ebirthdays%3C%2FSTRONG%3E%20calendar%20from%20Outook%20(desktop)%2C%20are%20well-known%20or%20not%3A%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3COL%3E%3CLI%3EWhen%20I%20create%20a%20new%20contact%20with%20birthday%20date%2C%20Outlook%20creates%20an%20entry%20in%20both%20%3CEM%3ECalendar%3C%2FEM%3E%20and%20%3CEM%3EBirthdays%3C%2FEM%3E%20calendar%3B%20the%20same%20happens%20while%20modifying%20an%20existent%20contact.%20I%20expected%20it%20to%20be%20in%20Birthdays%20calendar%20only%20(it%20doesn't%20happen%20when%20the%20same%20operations%20are%20made%20from%20OWA).%26nbsp%3B%3C%2FLI%3E%3CLI%3EThe%20Birthdays%20calendar%20is%20read-only%20so%20I%20cannot%20modify%20any%20birthday%20item%20inside%20of%20it%20(for%20example%2C%20change%20the%20reminder%20from%2018%20hours%20to%200%20minutes)%3B%20I%20can%20make%20these%20changes%20from%20OWA%20only.%3C%2FLI%3E%3C%2FOL%3E%3CP%3EI%20run%20a%20scanpst.exe%20but%20nothing%20changed.%3C%2FP%3E%3CP%3EEnvironment%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CUL%3E%3CLI%3EOffice%20365%20Business%20Premium%3C%2FLI%3E%3CLI%3EMicrosoft%20Outlook%26nbsp%3Bfor%20Office%20365%20(16.0.12624.20422)%2032-bit%3C%2FLI%3E%3C%2FUL%3E%3CP%3EThank%20you%2C%3C%2FP%3E%3CP%3ELuca%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1305951%22%20slang%3D%22en-US%22%3ERe%3A%20Birthdays%20calendar%20behavior%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1305951%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F276013%22%20target%3D%22_blank%22%3E%40lucafabbri365%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EYes%2C%20unfortunately%2C%20that%20is%20the%20current%20designed%20and%20expected%20behavior.%20This%20is%20because%20they%20are%202%20separate%20features%20controlled%20at%202%20separate%20levels.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20Birthday%20Calendar%20feature%20is%20an%20Exchange%20level%20feature%20exposed%20in%20Outlook%20on%20the%20Web%20(OWA).%20It%20creates%20an%20additional%20Calendar%20which%20is%20synched%20to%20Outlook%20Desktop%20as%20well.%20The%20entries%20are%20based%20on%20the%20Birthday%20information%20of%20your%20contacts%20in%20the%20Contacts%20folder.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20Birthday%20events%20that%20are%20being%20added%20to%20your%20main%20Calendar%20folder%20is%20an%20Outlook%20Desktop%20feature.%20These%20events%20are%20created%20when%20you%20add%20or%20update%20the%20birthday%20field%20of%20a%20contact%20and%20then%20save%20the%20contact.%20The%20same%20applies%20to%20the%20anniversary%20field.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EUnfortunately%2C%20unlike%20in%20Outlook%20on%20the%20Web%2C%20there%20is%20no%20option%20to%20disable%20this%20behavior%20in%20Outlook%20Desktop%20and%20thus%20could%20end%20up%20with%20duplicate%20birthday%20events%20and%20have%20to%20delete%20them%20manually%20from%20your%20main%20Calendar.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1309262%22%20slang%3D%22en-US%22%3ERe%3A%20Birthdays%20calendar%20behavior%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1309262%22%20slang%3D%22en-US%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F156%22%20target%3D%22_blank%22%3E%40Robert%20Sparnaaij%3C%2FA%3E%2C%3C%2FP%3E%3CP%3Ethank%20you%20for%20your%20reply%3B%20you%20confirmed%20my%20doubts.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3EExperiment%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20made%20this%20experiment%2Ftest%20(just%20to%20increase%20my%20knowledge).%3C%2FP%3E%3CP%3EThe%20objective%20was%20to%20set%20the%20%3CEM%3EReminder%20%3C%2FEM%3Eto%20%3CEM%3E0%20days%3C%2FEM%3E%26nbsp%3B(default%20is%20%3CEM%3E18%20hours%3C%2FEM%3E)%20for%20all%20recurring%20appointments%2Fevents%20inside%20Birthdays'%20calendar%2C%20in%20bulk.%3C%2FP%3E%3CP%20data-unlink%3D%22true%22%3EI%20achieved%20the%20objective%20by%20using%26nbsp%3B%3CA%20title%3D%22Microsoft%20Graph%20PowerShell%20Preview%22%20href%3D%22https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fblogs%2Fmicrosoft-graph-powershell-preview-now-on-powershell-gallery%2F%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3EMicrosoft%20Graph%20PowerShell%20Preview%3C%2FA%3E.%20This%20is%20the%20piece%20of%20PowerShell%20code%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-csharp%22%3E%3CCODE%3E%23%20You'll%20be%20asked%20to%20sign%20in%20via%20web%20browser%3A%0AConnect-Graph%20-Scopes%20%22Calendars.ReadWrite%22%2C%22User.Read.All%22%20%0A%24userId%20%3D%20(Get-MgUser%20%7C%20Where-Object%20%7B%24_.DisplayName%20-eq%20%22Bill%20Gates%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%20one%20calendar%20only%20(the%20default%20user%20calendar)%3A%0A%24calendarId%20%3D%20(Get-MgUserCalendar%20-UserId%20%24userId%20-Top%2010%20%7C%20Where-Object%20%7B%24_.Name%20-eq%20%22Birthdays%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%2010%20events%20only%20(maybe%20it's%20the%20default)%3A%0AGet-MgUserCalendarEvent%20-CalendarId%20%24calendarId%20-UserId%20%24userId%20-Top%202000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-ReminderMinutesBeforeStart%200%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EEven%20if%20the%20%3CSTRONG%3EUpdate-MgUserEvent%3C%2FSTRONG%3E%20cmdlet%20returns%20the%20error%20below%20(for%20each%20item%20in%20loop)%2C%20%3CSTRONG%3EReminder%3C%2FSTRONG%3E%20was%20changed%20successfully.%20Of%20course%2C%20you%20can%20suppress%20the%20error%20by%20adding%20the%20parameter%20%3CSTRONG%3EErrorAction%3C%2FSTRONG%3E%20to%20%3CSTRONG%3ESilentlyContinue%3C%2FSTRONG%3E.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3EUpdate-MgUserEvent%20%3A%20The%20server%20responded%20with%20an%20unrecognized%20response%2C%20Status%3A%20OK%0AAt%20line%3A1%20char%3A80%0A%2B%20...%20p%201000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-Remind%20...%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%0A%20%20%20%20%2B%20CategoryInfo%20%20%20%20%20%20%20%20%20%20%3A%20InvalidOperation%3A%20(%7B%20UserId%20%3D%200a24...oftGraphEvent%20%7D%3A%26lt%3B%26gt%3Bf__AnonymousType41%603)%20%5BUpdate-MgUserEvent_UpdateExpanded%5D%2C%20RestException%601%0A%20%20%20%20%2B%20FullyQualifiedErrorId%20%3A%20OK%2CMicrosoft.Graph.PowerShell.Cmdlets.UpdateMgUserEvent_UpdateExpanded%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EBye%2C%3C%2FP%3E%3CP%3ELuca%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1309265%22%20slang%3D%22en-US%22%3ERe%3A%20Birthdays%20calendar%20behavior%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1309265%22%20slang%3D%22en-US%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F156%22%20target%3D%22_blank%22%3E%40Robert%20Sparnaaij%3C%2FA%3E%2C%3C%2FP%3E%3CP%3Ethank%20you%20for%20your%20reply%3B%20you%20confirmed%20my%20doubts.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3EExperiment%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20made%20this%20experiment%2Ftest%20(just%20to%20increase%20my%20knowledge).%3C%2FP%3E%3CP%3EThe%20objective%20was%20to%20set%20the%20%3CEM%3EReminder%20%3C%2FEM%3Eto%20%3CEM%3E0%20days%3C%2FEM%3E%26nbsp%3B(default%20is%20%3CEM%3E18%20hours%3C%2FEM%3E)%20for%20all%20recurring%20appointments%2Fevents%20inside%20Birthdays'%20calendar%2C%20in%20bulk.%3C%2FP%3E%3CP%20data-unlink%3D%22true%22%3EI%20achieved%20the%20objective%20by%20using%26nbsp%3B%3CA%20title%3D%22Microsoft%20Graph%20PowerShell%20Preview%22%20href%3D%22https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fblogs%2Fmicrosoft-graph-powershell-preview-now-on-powershell-gallery%2F%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3EMicrosoft%20Graph%20PowerShell%20Preview%3C%2FA%3E.%20This%20is%20the%20piece%20of%20PowerShell%20code%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-csharp%22%3E%3CCODE%3E%23%20You'll%20be%20asked%20to%20sign%20in%20via%20web%20browser%3A%0AConnect-Graph%20-Scopes%20%22Calendars.ReadWrite%22%2C%22User.Read.All%22%20%0A%24userId%20%3D%20(Get-MgUser%20%7C%20Where-Object%20%7B%24_.DisplayName%20-eq%20%22Bill%20Gates%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%20one%20calendar%20only%20(the%20default%20user%20calendar)%3A%0A%24calendarId%20%3D%20(Get-MgUserCalendar%20-UserId%20%24userId%20-Top%2010%20%7C%20Where-Object%20%7B%24_.Name%20-eq%20%22Birthdays%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%2010%20events%20only%20(maybe%20it's%20the%20default)%3A%0AGet-MgUserCalendarEvent%20-CalendarId%20%24calendarId%20-UserId%20%24userId%20-Top%202000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-ReminderMinutesBeforeStart%200%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EEven%20if%20the%20%3CSTRONG%3EUpdate-MgUserEvent%3C%2FSTRONG%3E%20cmdlet%20returns%20the%20error%20below%20(for%20each%20item%20in%20loop)%2C%20%3CSTRONG%3EReminder%3C%2FSTRONG%3E%20was%20changed%20successfully.%20Of%20course%2C%20you%20can%20suppress%20the%20error%20by%20adding%20the%20parameter%20%3CSTRONG%3EErrorAction%3C%2FSTRONG%3E%20to%20%3CSTRONG%3ESilentlyContinue%3C%2FSTRONG%3E.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3EUpdate-MgUserEvent%20%3A%20The%20server%20responded%20with%20an%20unrecognized%20response%2C%20Status%3A%20OK%0AAt%20line%3A1%20char%3A80%0A%2B%20...%20p%201000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-Remind%20...%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%0A%20%20%20%20%2B%20CategoryInfo%20%20%20%20%20%20%20%20%20%20%3A%20InvalidOperation%3A%20(%7B%20UserId%20%3D%200a24...oftGraphEvent%20%7D%3A%26lt%3B%26gt%3Bf__AnonymousType41%603)%20%5BUpdate-MgUserEvent_UpdateExpanded%5D%2C%20RestException%601%0A%20%20%20%20%2B%20FullyQualifiedErrorId%20%3A%20OK%2CMicrosoft.Graph.PowerShell.Cmdlets.UpdateMgUserEvent_UpdateExpanded%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EBye%2C%3C%2FP%3E%3CP%3ELuca%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1309274%22%20slang%3D%22en-US%22%3ERe%3A%20Birthdays%20calendar%20behavior%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1309274%22%20slang%3D%22en-US%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F156%22%20target%3D%22_blank%22%3E%40Robert%20Sparnaaij%3C%2FA%3E%2C%3C%2FP%3E%3CP%3Ethank%20you%20for%20your%20reply%3B%20you%20confirmed%20my%20doubts.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3EExperiment%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20made%20this%20experiment%2Ftest%20(just%20to%20increase%20my%20knowledge).%3C%2FP%3E%3CP%3EThe%20objective%20was%20to%20set%20the%20%3CEM%3EReminder%20%3C%2FEM%3Eto%20%3CEM%3E0%20days%3C%2FEM%3E%26nbsp%3B(default%20is%20%3CEM%3E18%20hours%3C%2FEM%3E)%20for%20all%20recurring%20appointments%2Fevents%20inside%20Birthdays'%20calendar%2C%20in%20bulk.%3C%2FP%3E%3CP%20data-unlink%3D%22true%22%3EI%20achieved%20the%20objective%20by%20using%26nbsp%3B%3CA%20title%3D%22Microsoft%20Graph%20PowerShell%20Preview%22%20href%3D%22https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fblogs%2Fmicrosoft-graph-powershell-preview-now-on-powershell-gallery%2F%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3EMicrosoft%20Graph%20PowerShell%20Preview%3C%2FA%3E.%20This%20is%20the%20piece%20of%20PowerShell%20code%3A%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-csharp%22%3E%3CCODE%3E%23%20You'll%20be%20asked%20to%20sign%20in%20via%20web%20browser%3A%0AConnect-Graph%20-Scopes%20%22Calendars.ReadWrite%22%2C%22User.Read.All%22%20%0A%24userId%20%3D%20(Get-MgUser%20%7C%20Where-Object%20%7B%24_.DisplayName%20-eq%20%22Bill%20Gates%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%20one%20calendar%20only%20(the%20default%20user%20calendar)%3A%0A%24calendarId%20%3D%20(Get-MgUserCalendar%20-UserId%20%24userId%20-Top%2010%20%7C%20Where-Object%20%7B%24_.Name%20-eq%20%22Birthdays%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%2010%20events%20only%20(maybe%20it's%20the%20default)%3A%0AGet-MgUserCalendarEvent%20-CalendarId%20%24calendarId%20-UserId%20%24userId%20-Top%202000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-ReminderMinutesBeforeStart%200%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EEven%20if%20the%20Update-MgUserEvent%20cmdlet%20returns%20the%20error%20below%20(for%20each%20item%20in%20loop)%2C%20Reminder%20was%20changed%20successfully.%20Of%20course%2C%20you%20can%20suppress%20the%20error%20by%20adding%20the%20parameter%20ErrorAction%20to%20SilentlyContinue.%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3EUpdate-MgUserEvent%20%3A%20The%20server%20responded%20with%20an%20unrecognized%20response%2C%20Status%3A%20OK%0AAt%20line%3A1%20char%3A80%0A%2B%20...%20p%201000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-Remind%20...%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%0A%20%20%20%20%2B%20CategoryInfo%20%20%20%20%20%20%20%20%20%20%3A%20InvalidOperation%3A%20(%7B%20UserId%20%3D%200a24...oftGraphEvent%20%7D%3A%26lt%3B%26gt%3Bf__AnonymousType41%603)%20%5BUpdate-MgUserEvent_UpdateExpanded%5D%2C%20RestException%601%0A%20%20%20%20%2B%20FullyQualifiedErrorId%20%3A%20OK%2CMicrosoft.Graph.PowerShell.Cmdlets.UpdateMgUserEvent_UpdateExpanded%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EBye%2C%3C%2FP%3E%3CP%3ELuca%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1309259%22%20slang%3D%22en-US%22%3ERe%3A%20Birthdays%20calendar%20behavior%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1309259%22%20slang%3D%22en-US%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F156%22%20target%3D%22_blank%22%3E%40Robert%20Sparnaaij%3C%2FA%3E%2C%3C%2FP%3E%3CP%3Ethank%20you%20for%20your%20reply%3B%20you%20confirmed%20my%20doubts.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3EExperiment%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20made%20this%20experiment%2Ftest%20(just%20to%20increase%20my%20knowledge).%3C%2FP%3E%3CP%3EThe%20objective%20was%20to%20set%20the%20%3CEM%3EReminder%3C%2FEM%3E%20to%20%3CEM%3E0%20days%3C%2FEM%3E%26nbsp%3B(default%20is%20%3CEM%3E18%20hours%3C%2FEM%3E)%20for%20all%20recurring%20appointments%2Fevents%20inside%20Birthdays'%20calendar%2C%20in%20bulk.%3C%2FP%3E%3CP%20data-unlink%3D%22true%22%3EI%20achieved%20the%20objective%20by%20using%26nbsp%3B%3CA%20title%3D%22Microsoft%20Graph%20PowerShell%20Preview%22%20href%3D%22https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fblogs%2Fmicrosoft-graph-powershell-preview-now-on-powershell-gallery%2F%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3EMicrosoft%20Graph%20PowerShell%20Preview%3C%2FA%3E.%20This%20is%20the%20piece%20of%20PowerShell%20code%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-csharp%22%3E%3CCODE%3E%23%20You'll%20be%20asked%20to%20sign%20in%20via%20web%20browser%3A%0AConnect-Graph%20-Scopes%20%22Calendars.ReadWrite%22%2C%22User.Read.All%22%20%0A%24userId%20%3D%20(Get-MgUser%20%7C%20Where-Object%20%7B%24_.DisplayName%20-eq%20%22Bill%20Gates%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%20one%20calendar%20only%20(the%20default%20user%20calendar)%3A%0A%24calendarId%20%3D%20(Get-MgUserCalendar%20-UserId%20%24userId%20-Top%2010%20%7C%20Where-Object%20%7B%24_.Name%20-eq%20%22Birthdays%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%2010%20events%20only%20(maybe%20it's%20the%20default%3A%0AGet-MgUserCalendarEvent%20-CalendarId%20%24calendarId%20-UserId%20%24userId%20-Top%202000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-ReminderMinutesBeforeStart%200%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EEven%20if%20the%20%3CSTRONG%3EUpdate-MgUserEvent%3C%2FSTRONG%3E%20cmdlet%20returns%20the%20error%20below%20(for%20each%20item%20in%20loop)%2C%20%3CEM%3EReminder%20%3C%2FEM%3Ewas%20changed%20successfully.%20Of%20course%2C%20you%20can%20suppress%20the%20error%20by%20adding%20parameter%20%3CSTRONG%3E-ErrorAction%20SilentlyContinue%3C%2FSTRONG%3E.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3EUpdate-MgUserEvent%20%3A%20The%20server%20responded%20with%20an%20unrecognized%20response%2C%20Status%3A%20OK%0AAt%20line%3A1%20char%3A80%0A%2B%20...%20p%201000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-Remind%20...%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%0A%20%20%20%20%2B%20CategoryInfo%20%20%20%20%20%20%20%20%20%20%3A%20InvalidOperation%3A%20(%7B%20UserId%20%3D%200a24...oftGraphEvent%20%7D%3A%26lt%3B%26gt%3Bf__AnonymousType41%603)%20%5BUpdate-MgUserEvent_UpdateExpanded%5D%2C%20RestException%601%0A%20%20%20%20%2B%20FullyQualifiedErrorId%20%3A%20OK%2CMicrosoft.Graph.PowerShell.Cmdlets.UpdateMgUserEvent_UpdateExpanded%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EBye%2C%3C%2FP%3E%3CP%3ELuca%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1310396%22%20slang%3D%22en-US%22%3ERe%3A%20Birthdays%20calendar%20behavior%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1310396%22%20slang%3D%22en-US%22%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1309239%22%20slang%3D%22en-US%22%3ERe%3A%20Birthdays%20calendar%20behavior%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1309239%22%20slang%3D%22en-US%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F156%22%20target%3D%22_blank%22%3E%40Robert%20Sparnaaij%3C%2FA%3E%2C%3C%2FP%3E%3CP%3Ethank%20you%20for%20your%20reply%3B%20you%20confirmed%20my%20doubts.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3EExperiment%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20made%20this%20experiment%2Ftest%20(just%20to%20increase%20my%20knowledge).%3C%2FP%3E%3CP%3EThe%20objective%20was%20to%20set%20the%20%3CEM%3EReminder%20%3C%2FEM%3Eto%20%3CEM%3E0%20days%3C%2FEM%3E%26nbsp%3B(default%20is%20%3CEM%3E18%20hours%3C%2FEM%3E)%20for%20all%20recurring%20appointments%2Fevents%20inside%20Birthdays'%20calendar%2C%20in%20bulk.%3C%2FP%3E%3CP%20data-unlink%3D%22true%22%3EI%20achieved%20the%20objective%20by%20using%26nbsp%3B%3CA%20title%3D%22Microsoft%20Graph%20PowerShell%20Preview%22%20href%3D%22https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fblogs%2Fmicrosoft-graph-powershell-preview-now-on-powershell-gallery%2F%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3EMicrosoft%20Graph%20PowerShell%20Preview%3C%2FA%3E.%20This%20is%20the%20piece%20of%20PowerShell%20code%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%23%20You'll%20be%20asked%20to%20sign%20in%20via%20web%20browser%3A%0AConnect-Graph%20-Scopes%20%22Calendars.ReadWrite%22%2C%22User.Read.All%22%20%0A%24userId%20%3D%20(Get-MgUser%20%7C%20Where-Object%20%7B%24_.DisplayName%20-eq%20%22Bill%20Gates%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%20one%20calendar%20only%20(the%20default%20user's%20calendar)%3A%0A%24calendarId%20%3D%20(Get-MgUserCalendar%20-UserId%20%24userId%20-Top%2010%20%7C%20Where-Object%20%7B%24_.Name%20-eq%20%22Birthdays%22%7D).Id%0A%0A%23%20If%20the%20'Top'%20parameter%20is%20missing%2C%20it%20returns%2010%20events%20only%20(maybe%20it's%20the%20default%3A%0AGet-MgUserCalendarEvent%20-CalendarId%20%24calendarId%20-UserId%20%24userId%20-Top%202000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-ReminderMinutesBeforeStart%200%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EEven%20if%20the%20%3CSTRONG%3EUpdate-MgUserEvent%3C%2FSTRONG%3E%20cmdlet%20returns%20the%20error%20below%20(for%20each%20item%20in%20loop)%2C%20%3CEM%3EReminder%20%3C%2FEM%3Ewas%20changed%20successfully.%20Of%20course%2C%20the%20error%20itself%20can%20be%20suppressed%20by%20adding%20the%20parameter%20%3CSTRONG%3E-ErrorAction%20SilentlyContinue%3C%2FSTRONG%3E.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3EUpdate-MgUserEvent%20%3A%20The%20server%20responded%20with%20an%20unrecognized%20response%2C%20Status%3A%20OK%0AAt%20line%3A1%20char%3A80%0A%2B%20...%20p%201000%20%7C%20%25%7B%20Update-MgUserEvent%20-EventId%20%24_.Id%20-UserId%20%24userId%20-Remind%20...%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%0A%20%20%20%20%2B%20CategoryInfo%20%20%20%20%20%20%20%20%20%20%3A%20InvalidOperation%3A%20(%7B%20UserId%20%3D%200a24...oftGraphEvent%20%7D%3A%26lt%3B%26gt%3Bf__AnonymousType41%603)%20%5BUpdate-MgUserEvent_UpdateExpanded%5D%2C%20RestException%601%0A%20%20%20%20%2B%20FullyQualifiedErrorId%20%3A%20OK%2CMicrosoft.Graph.PowerShell.Cmdlets.UpdateMgUserEvent_UpdateExpanded%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EBye%2C%3C%2FP%3E%3CP%3ELuca%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
Occasional Contributor

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: 

 

  1. When I create a new contact with birthday date, Outlook creates an appointment entry in both Calendar and Birthdays calendar; the same happens while modifying an existent contact . I expected it to be in Birthdays calendar only. It doesn't happen when the same operations are made from OWA.
  2. The Birthdays calendar is read-only so I cannot modify any of birthday's appointment item inside of it (for example, change the reminder from 18 hours to 0 minutes); I can make these changes from OWA only.

Environment:

 

  • Office 365 Business Premium
  • Microsoft Outlook for Office 365 (16.0.12624.20422) 32-bit

Thank you,

Luca

2 Replies
Highlighted
Solution

@lucafabbri365 

Yes, 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.

Highlighted

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