Set-CalendarProcessing - How to use this CMDLET to disable the outlook option "Delete meeting requests and notifications after responding"

Christian 1 Reputation point


I have been trying to find a way to use PS to alter the option "Delete meeting request and notifications after responding" that shows up in the outlook desktop client. Specifically this would be for a resource (conference room) mailbox. The delegated user requested that option be changed, rather than remoting in etc I figured I'd try to find a way to do this on my end with PS so in the future I don't have to schedule with them etc. I didn't see an option to change this in exchange online admin center for the mailbox either, and adding myself as a delegated member for every conference room we have would be absurd. I'm not sure if it's "RemoveOldMeetingMessages" or something else entirely. I tried testing in my own client by unchecking the box and using Get-CalendarProcessing etc on my own profile but the option does not change from $True no matter if the option is selected or not.

Any direction would be great.


Exchange Server Management
Exchange Server Management
Exchange Server: A family of Microsoft client/server messaging and collaboration software.Management: The act or process of organizing, handling, directing or controlling something.
7,195 questions
Windows Server PowerShell
Windows Server PowerShell
Windows Server: A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.PowerShell: A family of Microsoft task automation and configuration management frameworks consisting of a command-line shell and associated scripting language.
5,267 questions
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Jade Liang-MSFT 9,946 Reputation points Microsoft Employee

    Hi @Christian

    I have been trying to find a way to use PS to alter the option "Delete meeting request and notifications after responding"

    Please understand this option is a setting in Outlook client instead of in mailbox, so we couldn't change it via Set-CalendarProcessing cmdlet.

    In this case, it's recommended to manage this option by the register key / GPO, according to my tests, the deletewhenrespond value in register editor could control the option in Outlook client:

    Location: Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Preferences
    Value Name: deletewhenrespond
    Data: 0 --not delete, 1 --delete

    Please try to add this value in your register editor and restart your Outlook to check, if it could work, you could push/assign this Registry key to the users in your organization.

    Howerver, the user still could change it mannually in their client in this way, if you would like to force this option to be disabled, you could deploy it in GPO directly like below, then the option would be grey and user couldn't change it in Outlook.

    Hope that would be helpful to you.

    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

  2. Limitless Technology 39,156 Reputation points

    Hello Christian,

    Use the Set-CalendarProcessing cmdlet to modify calendar processing options for resource mailboxes, which include the Calendar Attendant, resource booking assistant, and calendar configuration. Note that this cmdlet is effective only on resource mailboxes.

    For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax.

    [-Identity] <MailboxIdParameter>
    [-AddAdditionalResponse <Boolean>]
    [-AdditionalResponse <String>]
    [-AddNewRequestsTentatively <Boolean>]
    [-AddOrganizerToSubject <Boolean>]
    [-AllBookInPolicy <Boolean>]
    [-AllowConflicts <Boolean>]
    [-AllowRecurringMeetings <Boolean>]
    [-AllRequestInPolicy <Boolean>]
    [-AllRequestOutOfPolicy <Boolean>]
    [-AutomateProcessing <CalendarProcessingFlags>]
    [-BookingType <ResourceBookingType>]
    [-BookingWindowInDays <Int32>]
    [-BookInPolicy <RecipientIdParameter[]>]
    [-ConflictPercentageAllowed <Int32>]
    [-DeleteAttachments <Boolean>]
    [-DeleteComments <Boolean>]
    [-DeleteNonCalendarItems <Boolean>]
    [-DeleteSubject <Boolean>]
    [-DomainController <Fqdn>]
    [-EnableResponseDetails <Boolean>]
    [-EnforceCapacity <Boolean>]
    [-EnforceSchedulingHorizon <Boolean>]
    [-ForwardRequestsToDelegates <Boolean>]
    [-MaximumConflictInstances <Int32>]
    [-MaximumDurationInMinutes <Int32>]
    [-MinimumDurationInMinutes <Int32>]
    [-OrganizerInfo <Boolean>]
    [-ProcessExternalMeetingMessages <Boolean>]
    [-RemoveForwardedMeetingNotifications <Boolean>]
    [-RemoveOldMeetingMessages <Boolean>]
    [-RemovePrivateProperty <Boolean>]
    [-RequestInPolicy <RecipientIdParameter[]>]
    [-RequestOutOfPolicy <RecipientIdParameter[]>]
    [-ResourceDelegates <RecipientIdParameter[]>]
    [-ScheduleOnlyDuringWorkHours <Boolean>]
    [-TentativePendingApproval <Boolean>]

    Although this topic lists all parameters for the cmdlet, you may not have access to some parameters if they're not included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, do follow the below link.

    Hope this answers all your queries, if not please do repost back.
    If an Answer is helpful, please click "Accept Answer" and upvote it : )

    0 comments No comments

  3. Andy David - MVP 137.9K Reputation points MVP

    If you give yourself full access to the mailbox, then create a new Outlook Profile, you can logon directlyto that resource mailbox via Outlook
    The trick is when creating the profile, create it manually for the SMTP address of the resource mailbox, but enter your own credentials.