Table of Contents
Stop Annoying In-Product Messages Promoting Events and What’s New Updates
Just as Microsoft settled into the normal stupor surrounding the July 4 holiday, the Teams development group issued message center notification MC808161 (3 July 2024) to announce a new policy setting to disable some in-product messages displayed in Teams clients. The new setting is something that should have been in place when Microsoft started to push in-product messages to promote events like the Microsoft 365 conference (Figure 1) in April 2023, but it’s better later than never.
A Really Bad Idea
I hated in-product messages the first time I saw them. To me, Microsoft has no right to communicate with users belonging to my tenant and no right to advise users what training events they might like to attend. It’s one thing to pump ads to consumers of a free service and quite another to do the same (which is what in-product messages are) to people who pay a monthly license fee.
Advertising conferences chosen simply because events align with Microsoft marketing priorities is simply an abuse of Microsoft’s position as a cloud service provider and adds weight to the argument that Microsoft should be restrained by government intervention. Some will wonder if the latest European Union investigation into anti-competitive behavior around Teams prompted Microsoft to act. I don’t think so because controls over in-product messages were discussed by Microsoft last year in response to complaints from many MVPs.
Squashing In-Product Messages
Applying the policy block for in-product messages can only be done using PowerShell. The instructions to control in-product messages mention the New-CsTeamsUpdateManagementPolicy cmdlet from the Microsoft Teams PowerShell module (I used version 6.3). This implies that you need to create a new policy. You don’t. There should be an existing policy in place that can be updated.
Looking at the DisabledInProductMessages parameter with PowerShell, it seems to be an array. The documentation implies that the parameter takes a string value and that only a single type of in-product message can be disabled. In short, you must choose either:
- 91382d07-8b89-444c-bbcb-cfe43133af33: What’s New Messages
- edf2633e-9827-44de-b34c-8b8b9717e84c: Conferences
However, the Set–CsTeamsUpdateManagementPolicy cmdlet is quite happy to accept an array containing both values. Here’s what I ran to update the default update management policy with both values:
[array]$DisabledMessages = "edf2633e-9827-44de-b34c-8b8b9717e84c", "91382d07-8b89-444c-bbcb-cfe43133af33" Set-CsTeamsUpdateManagementPolicy -Identity Global -DisabledInProductMessages $DisabledMessages Get-CsTeamsUpdateManagementPolicy -Identity Global Identity : Global DisabledInProductMessages : {edf2633e-9827-44de-b34c-8b8b9717e84c, 91382d07-8b89-444c-bbcb-cfe43133af33}
PowerShell documentation has been known to be incorrect in the past, and it seems like this is the way the cmdlet is designed to work. In any case, my tenant is configured as shown above and I look forward to peace from annoying ad placements about both conferences and what’s new messages.
Only for Teams
The policy settings only cover Teams clients. Other products take their own course, as evident in the example of the Power Platform admin center and the two ads placed for the Power Platform community conference (Figure 2).
Let’s hope that the Power BI and any other development group that’s tempted to abuse their customers follow the lead set by Teams and provide tenants with a method to eradicate in-product messages.
Getting in the Way of Work
In-product messages get in the way of useful work. People are distracted by whatever message is being relayed. That’s a direct impact on the effectiveness and efficiency of customer organizations inflicted by Microsoft without invitation or permission.
A better way to promote conferences is to use the Microsoft 365 message center and allow tenant administrators to decide what information to pass on within their organization. This approach might not get messages in front of as many “eyeballs,” but it does offer the advantage of not making people unhappy when they see blatant advertising that doesn’t add a jot of value.
Make sure that you’re not surprised about changes that appear inside Microsoft 365 applications by subscribing to the Office 365 for IT Pros eBook. Our monthly updates make sure that our subscribers stay informed.
@Tony Redmond:
The GUID of Conferences in the plain text paragraph is incorrect (missing “c” at the end).
Refer to the official Microsoft documentation:
Set-CsTeamsUpdateManagementPolicy > Parameters > DisabledInProductMessages
https://learn.microsoft.com/en-us/powershell/module/teams/set-csteamsupdatemanagementpolicy?view=teams-ps#-disabledinproductmessages
As always, thank you for your contribution. 🙂
best regards,
Markus
Fixed. Thanks. Always depend on what’s in the PowerShell because that’s the code that I ran.
How would you roll back the change to remove the GUIDs if needed?
Write a different array or $null into the property that disables in-product messages.
Once a value has been set for DisabledInProductMessages with this command is it possible to remove it? I have tried unsuccessfully
Did you try using $Null as a value for $disabledMessages?
Yes, it failed with ‘Object reference not set to an instance of an object’.
Looks like the cmdlet wants a GUID. It doesn’t care what kind of GUID it is… so I did:
$Guid = New-Guid
Set-CsTeamsUpdateManagementPolicy -Identity Global -DisabledInProductMessages $Guid.toString()
Teams accepted the value. It has no relevance to the two defined to control messages, so I guess this will stop the messages being suppressed. I will bug the issue for the developers.
Great. Thank you