The latest restriction on tenants using MOERA (service domain) addresses in production is that Teams will restrict external collaboration from September 2026. At this point, there is zero sense in any organization using a MOERA-only tenant for production purposes. Restrictions in Exchange Online and Teams should drive that point home, and the likelihood is that further clampdowns will follow in the future.
When discussing the transfer ownership of calendar events, we pointed out the Teams meeting problem. Essentially, if an event is a Teams meeting, details of the online meeting are not updated to allow the new owner to control its settings. The result is that recordings and other online meeting artifacts can end up in the wrong place. Microsoft should fix the problem. In the meantime, a PowerShell script illustrates the issue and shows how a fix might work.
Microsoft recognized the problem posed when users attempt to join recording or notetaking bots to Teams meetings in early 2026. Now a new Teams meeting policy setting is available to control whether bots can join meetings. Allied to smarter bot detection and a program to work with ISVs to identify bots, organizations have a better chance of stopping the unexpected export of confidential information for processing outside the tenant.
Teams released a new version of their PowerShell module on July 19. The new module contains WAM support and cmdlets to limit federated chat for specific users and tenants. The new controls are welcome, but it’s a sad state of affairs that to configure the settings you must install a new version of a module that doesn’t work so well alongside other Microsoft 365 modules.
It is possible to schedule Teams meetings from shared mailboxes without incurring the need to license the shared mailboxes. However, Microsoft’s recent clampdown on unlicensed OneDrive for Business accounts creates a problem because Teams meeting recordings are stored in the OneDrive account for the organizer (shared mailbox). And if that account remains unlicensed for 365 days, it will be removed along with all the recordings.
A lawyer asked if it is possible to take a snapshot of Teams memberships (people who were members at a certain point). This isn’t something that every Microsoft 365 tenant will want to do, but good reasons no doubt exist for the request. In any case, PowerShell makes it easy to find the team membership data and record it in a CSV file or XLS spreadsheet.
The Graph removeAllAccessForUser API is supposed to remove external chat messages from the view of a tenant user when the chat contains some objectionable material. Unless the documentation is erroneous, the API doesn’t work as advertised and the results are disappointing. All of which means that blocking content for external chats isn’t really possible. If someone gets to start an external chat, they can pump some horrible stuff into your tenant.
A recent improvement is the introduction of a small window for incoming Teams calls. It doesn’t sound like a great step forward, but switching to the small window is a surprisingly useful step. The sad thing is that many users won’t know that the option to switch exists because it’s buried in Teams settings. If you’re a busy person who takes lots of Teams calls, switching is definitely recommended.
Recent reports from security companies and news outlets about an attack by the DragonForce ransomware group against a U.S. services company highlighted the use of Teams. It’s true that Teams was involved in this very artful attack, but the most critical point is that the network was compromised well before the attackers went near Teams. And when your network is compromised, all sorts of bad things happen. Stop compromises and stay safe!
It’s common to find that tenants have many inactive channels in their Teams deployment. Becoming inactive is a natural side-effect of time eroding interest in the topics people discuss in channels. And if you don’t go looking for inactive channels, they’ll remain silently in place doing nothing except acting as a container for potentially obsolete long-over discussions. But we can find inactive channels with PowerShell. What you next is up to you.
Sometimes, Microsoft 365 tenants need to remove problematic Teams chat threads from user view. The usual reason is because someone posted some bad or objectionable content to Teams. This article covers how to use Microsoft Graph PowerShell SDK cmdlets to find chat threads, to check thread messages for targeted content, and to remove matching chat threads. The code can be run interactively by an administrator to clean up Teams.
Microsoft began an automated background process to move Teams private channels to a new infrastructure earlier this year. Tenants should check the state of the migration as reported by the Get-TenantPrivateChannelMigrationStatus cmdlet because it is possible that the migration is stalled and waiting for administrator intervention. In most cases, the problem is because of ownerless channels, but archived teams with private channels also stop the migration.
In a somewhat surprising decision, Microsoft announced plans to retire the Together mode feature for Teams meetings in June 2026. Based on personal experience, it didn’t seem that many people used Together mode. It seemed like it was something that people tried a couple of times before giving up. Maybe it’s just the meetings I attend, but I haven’t seen Together mode used in years.
In 2024, I wrote a script explaining how to report details of Teams online meetings, including participants. Now someone wants to report single-user meetings. Their reason is that company management believe that some remote workers schedule online meetings that only they attend with the intention of appearing active if anyone checks. It’s an odd ask, but we can do the job with PowerShell.
Teams will soon block third-party recording bots from being able to create transcripts and generate AI-based summaries for Teams meetings. The problem is that these bots must export information for processing outside of a tenant, which creates all sorts of compliance issues. The new feature is part of base Teams and will be enabled in all tenants. You can disable it and allow bots if you want.
In December 2024, Microsoft introduced a control to block responses to sentiment-related prompts in Teams meeting chat. Now that block extends to every Teams user following a consolidation of the Teams meeting implementation of chat with Microsoft 365 Copilot. Basically, the block stops Copilot responding to prompts that look for opinions about emotions, judgement, or evaluations of other meeting participants. It’s a good thing.
Microsoft announced a set of Teams licensing changes to take effect in April 2026. The changes affect devices, Microsoft Places, and Teams events. Webinars and Teams town halls will be easier to manage without Teams Premium licenses, and organizations will be able to buy capacity packs to host events for up to 100,000 participants. The changes will leave some Microsoft 365 tenants cold while others will be delighted.
A new Entra ID role is coming. The Teams External Collaboration administrator role allows users to manage external collaboration settings. Quite how often Microsoft 365 tenants need to manage these settings is unknown, but it’s a useful prompt to review the current set of roles used and users who are members of those roles. Time for an annual clean-up.
Chat and meetings have their agents, and now the Teams channel agent is available to help members understand what happens inside channels. Like any AI agent given limited sets of data to reason over, the channel agent does a good job of finding nuggets hidden in conversations. The issue is that the channel agent doesn’t currently work for channels that have external members, like guest accounts. That’s a big downside.
Microsoft announced the availability of a Slack to Teams migration tool in the Microsoft 365 admin center. The new tool exists to assist the 79 million monthly active users of Slack who might want to move to Teams and don’t know how to get there. ISVs have been helping people move from Slack to Teams for years, so other migration options exist.
Microsoft is rolling out a UX update for the Teams admin center to make it easier to manage external collaboration settings. The new UX doesn’t introduce any new features. Instead, its goal is to hide some of the policies and settings complexity that sometimes afflicts the Teams application. It’s a good change, even if it probably won’t make much difference.
The addition of Autocorrect for messaging is a small but important change for Teams messaging brings Teams up to speed with the other Office applications. It’s taken Teams a little longer than it perhaps should have to support Autocorrect and the implementation is not as functional as it is in Outlook, but that’s not a reason to overlook the update.
Teams now includes weaponized file protection and malicious URL protection to make sure that people don’t share bad files or URLs in chats or channel conversations. Given that a user can post a message to up to 50 channels at one time, it obviously makes a heap of sense to check that any files or URLs that people share in chat or channel conversations are safe and not malicious.
In January 2025, Microsoft changed the SharePoint folder location to store copies of the email sent to Teams channels. Apparently, this update improved security, but it’s unclear exactly how the improvement comes about unless through obscurity. In any case, we missed this change completely and are publishing this note to remind everyone else of the importance of reading message center posts.
A new Teams feature allows users to initiate chats with any email address. This caused some commotion in the security community, but it’s not that bad. In fact, it’s an extension of existing functionality that allows Teams users to chat with guest accounts. All that’s happening is that initiating a chat causes a new guest account to be created in the tenant, and there’s lots of controls to make sure that guests are controlled.
This article explains how to use PowerShell to extract audit data to analyze the use of emojis as Teams reactions to chat and channel messages. This is not an exercise that leads to any great business value, but it’s a good way to show the sometimes surprising data that can be extracted from audit records.
As is the way of the internet, the news that a feature to automatically set the Teams work location for users created a huge fuss about the prospect that managers would keep an eye on employees based on their location. Of course, this is all rubbish. The update automates an existing feature that no sane manager would use to monitor employees.
Teams stores information in a local state file, including encrypted access tokens. A report from a French company explained how to extract and use those tokens with the Graph API. Is this important? It could be if attackers manage to gain access to a workstation, but at that point you’ve got other problems, and maybe using code to decrypt some tokens is the least of your troubles.
A new audio-only recording option for Teams meeting suppresses the video feed from meeting participants when generating the MP4 file for the meeting recording. The idea is to better preserve user privacy during recording playbacks. Few will miss the video stream because the audio is usually more important. The audio is also the basis for the meeting transcript, and that leads to AI-generated outputs like meetings summaries and action items.
Teams users can use emojis to create or rename chat section names. By incorporating emojis into section names, users create “visual anchors” to help navigate through Teams chats and channels. Sprinkling emojis around section names doesn’t really make me navigate any smarter, but it’s a feature that Slack has, so Teams can’t be left behind in the pretty interface stakes.
Attackers might attempt to use social engineering to trick Teams users in compromise. Trusted indicators help users understand the status of external users with difficult visual markers. The idea is that users will see the marker and realize that they should be less trusting in their communications. Sounds good. But maybe securing external access for Teams with a comprehensive block list is even better?
Microsoft plans to deploy an update to change how transcription behaves for Teams meetings where Copilot is enabled. New meetings will not generate a transcript unless the meeting organizer explicitly enables transcription or the Microsoft 365 tenant deploys custom meeting policies that enable transcription with Copilot. The AI features work even without a transcript. But no transcript means no searchable artifact, and that’s what some want.
This article describes the prerequisites and how to run cmdlets from the Teams PowerShell module in Azure Automation runbooks. We also consider when you’d want to consider using Teams PowerShell cmdlets instead of Graph API requests or cmdlets from the Microsoft Graph PowerShell SDK. The bottom line is that it’s possible, but maybe not a frequently-used option.
MC1134747 describes a new permissions requirement for Entra apps that run Teams PowerShell cmdlets. Fixing apps to meet the new requirement is easily done with PowerShell. First, find the apps that use Teams PowerShell (we show two ways), and then assign the two required permissions to the apps. All done with a few lines of Microsoft Graph PowerShell SDK code.
In March, Microsoft said that they’d change Teams to offer suggestions about which inactive channels a user might want to hide from client channel lists. That update is now available. There’s no tenant-wide admin control, so users must decide for themselves whether Teams will suggest which channels to hide. No detail is available how Teams decides about inactive channels, but the change to put control in user hands is welcome.
Microsoft is introducing a new KeyQL-powered capability for a revamped search box in Teams. The new implementation promises faster and more precise searching. First impressions are good, and the only doubt that I have is about how users will embrace this kind of searching. After all, some still use simple keyword searches.
The news that people can customize Teams by choosing one of ten accent colors for use in the Teams UX might or might not be positive, depending on your view. While it’s nice to see things in your chosen color, the thought might cross your mind that engineering could focus on other more important tasks… But that’s being very critical.
The need for more nuanced responses to Teams chat and channel messages can apparently be met through multiple emoji reactions instead of a basic one-emoji response like a smile or thumbs up. In any case, users can add up to 20 emojis in response to Teams chat and channel messages. The possibilities of what 20-emoji combinations might communicate are endless, or so it seems.
The Teams Discover Feed highlights unread items from channels that users might have missed. Microsoft tweaked the feature so that it only works with 5 or more channels. The logic behind the change is that if you have access to less than five channels, the Discover Feed is unlikely to be much use because it probably won’t have many unread messages to show. One limitation is that guest users can’t use the feed.
The update to allow team members to add a Loop workspace as a channel tab is now rolling out and should be available worldwide soon. Microsoft is currently putting a lot of emphasis on Loop and its almost read-time collaboration capabilities are turning up in many places within Microsoft 365, like Copilot Pages. Will Loop replace OneNote eventually? That’s a big question…