Blog

  1. New Teams Meeting Policy to contol recording and notetaking bots. New Teams Policy Controls Meeting Recording and Notetaking Bots August 24, 2026 7:00 am - 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.
  2. Microsoft 365 Business Tenants and the 100 GB mailbox quota. Primary Mailbox Quota Increases to 100 GB for Microsoft 365 Business Plans August 21, 2026 7:00 am - Microsoft announced details about how they will deploy the 100 GB mailbox quota to Microsoft 365 Business tenants. A new service plan is being deployed to tenants to liberate the additional 50 GB of quota. Having a larger mailbox quota delivers a fantastic opportunity to fill a mailbox with all sorts of digital debris, something that can cause problems in the era of AI. Perhaps enabling mailbox archiving for Business tenants would have been better?
  3. Move to Microsoft 365 Archive for Purview DLM. New Archiving Capability for Purview Data Lifecycle Management August 20, 2026 7:00 am - Tenants with Microsoft 365 Archive configured can incorporate an archiving step in how Purview retention policies and labels process SharePoint Online and OneDrive for Business files. It makes perfect sense to move inactive files to lower-cost archive storage as an intermediate point some time before their final deletion. You’ll save on storage and stop AI tools processing the digital debris that invariably accumulates in SharePoint.
  4. Clean out old Planner tasks. Cleaning Up Old Planner Tasks with PowerShell August 19, 2026 7:00 am - Microsoft Purview supports retention policies for Planner tasks and that's the supported way to remove old tasks from plans. But you can also remove old Planner tasks with PowerShell. Just for fun, we show how to find and delete old tasks using the Microsoft Graph PowerShell SDK. Cleaning out obsolete tasks that have been hanging around plans for years speeds up client access. It’s a form of colonic irrigation for plans!
  5. Calculating Entra P1 licensing requirement for CA policies. Calculating the Licensing Requirement for Entra Conditional Access Policies August 18, 2026 7:00 am - After the discussion about the licensing gap prompts shown in the Entra admin center, here's a PowerShell script to compute the set of user accounts that should have Entra P1 licenses. The information comes from the conditions property of conditional access policies with group and directory role membership expanded to find individual accounts. The set is checked against the set of users licensed for Entra P1 to find the accounts that need to be licensed.
  6. JSON batching and mailbox item removal. How to Use JSON Batching to Permanently Remove Mailbox Items August 17, 2026 7:00 am - Following up on the primer explaining how to use JSON batching, this article expands on the principles explored in the primer and explains how to permanently remove batches of mailbox items. Removing mailbox items requires more care and attention than updating some Entra ID user accounts, and we explain what the batch commands are to effect both permanent and recoverable deletions. A full working script is available for you to try out.
  7. DLP and Information Protection for External Services. Expanding Purview DLP and Information Protection to Foreign Platforms August 14, 2026 7:00 am - Microsoft Purview is expanding its ability to process data from external services such as Google Workspace and Box through DLP policies and Information Protection auto-labeling. Everything depends on Microsoft Defender for Cloud Apps connectors to fetch data from the external services to Azure to be processed there. This is an esoteric play that will appeal to certain enterprise Microsoft 365 tenants with the need for a common protection strategy across multiple cloud platforms.
  8. Licensing gap reported in Entra admin center. Entra Admin Center Flags Licensing Problems with Conditional Access August 13, 2026 7:00 am - The Entra admin center is flagging licensing gaps for conditional access. The messages are informational, not the beginning of a new automated billing procedure to charge tenants when Entra ID notices that some accounts use conditional access policies when they don’t have a license. In this article, we discuss the product license insight and how Microsoft measures conditional access usage, and show how to use PowerShell to find who’s using conditional access
  9. Sensitivity Label Support for OneNote and Video Files. SharePoint Online Expands Sensitivity Labels to OneNote and Video Files August 12, 2026 7:00 am - Microsoft has updated SharePoint Online to provide full support for sensitivity labels assigned to OneNote and MP4 files. Full support means that SharePoint Online can decrypt and encrypt file content, which then allows SharePoint to protect the content while storing it in a way that's accessible to Purview services like Data Loss Prevention and eDiscovery, and of course, accessible to Copilot…
  10. Open Tasks Report with PowerShell Creating a Week-by-Week Report for Open Planner Tasks August 11, 2026 7:00 am - Accumulating statistics for open tasks in a Planner plan is helpful to understand how active team members are in clearing assigned tasks. Creating a report showing how the number of open tasks vary by team member over a six-week period delivers another type of insight. It’s the kind of thing that PowerShell is very good at. If data is available, we can report it in different ways!
  11. Invoke-ChangeMeetingOrganizer. How to Bulk Transfer Meeting Ownership Between Mailboxes August 10, 2026 7:00 am - The Invoke-ChangeMeetingOrganizer cmdlet can transfer meeting ownership from one user to another. In this article, we discuss using a script to transfer meetings in bulk between users. The code requires a mixture of Exchange Online and the Microsoft Graph using a registered Entra ID app. It all sounds complicated, but really isn’t – and the code handles scenarios like transferring meetings from someone leaving the organization.
  12. MemberOf Rule Operator Retirement. Entra ID Drops the memberOf Rule Operator for Dynamic Groups and Dynamic Admin Units August 7, 2026 7:00 am - MC1448379 (5 August 2026) announces the retirement of the MemberOf rule operator from Entra ID in early November 2026. The removal of the rule operator might affect the membership rules used for dynamic groups, dynamic administrative units, and auto-assigned entitlement management policies. If a tenant doesn’t act, Entra ID will stop processing the rules and memberships will become increasingly inaccurate. And that’s a bad thing!
  13. Using the Invoke-ChangeMeetingOrganizer Cmdlet. Use the Invoke-ChangeMeetingOrganizer Cmdlet to Transfer Meeting Ownership August 6, 2026 7:00 am - The Invoke-ChangeMeetingOrganizer cmdlet transfers meetings from one organizer to another and makes sure that all calendar settings are preserved. All of which sounds good, but some limitations exist that you should be aware of. The most important limitation is that although Exchange Online can switch ownership for a meeting event, it does nothing to update any online component, like a Teams meeting join URL. That remains a manual task.
  14. Restricted Content Discovery Gets a Makeover. Restricted Content Discovery Gets a Makeover August 5, 2026 7:00 am - Restricted Content Discovery (RCD) is an important guardrail for Microsoft 365 Copilot deployments. Microsoft is tightening how RCD works to eliminate a corner case where recently accessed files from protected SharePoint Online sites could still surface in Microsoft Search and become available to Copilot. The update closes that loophole by ensuring that recently accessed files from RCD-enabled sites remain hidden from Search and Copilot.
  15. MDO Blocks Prompt Injections - Microsoft Defender for Office 365. Microsoft Defender for Office 365 Blocks Prompt Injections August 4, 2026 7:00 am - Microsoft Defender for Office 365 (MDO) can detect and quarantine email containing prompt injections. Shared mailboxes might need MDO Plan 2 licenses if they receive email from external domains. This requirement existed before MDO introduced Prompt Injection Protection, but the advent of the new capability is another reason to check mailbox licensing, especially if your tenant uses Copilot. We have a script to help!
  16. Block Nested Security Groups. Entra ID Enables Blocking for Nested Security Groups August 3, 2026 7:00 am - A new Entra ID feature enables the ability to block nesting for security groups. In other words, you can’t include other groups as members of a group. That might not sound important, but it is to those who manage permissions, especially when the time comes to figure out who exactly has access to something confidential. The new feature isn’t fully implemented yet, but it should be very valuable when it’s fully deployed to tenants.
  17. Microsoft 365 for IT Pros August 2026 Update. Microsoft 365 for IT Pros August 2026 Update August 1, 2026 7:00 am - The August 2026 monthly update for the Microsoft 365 for IT Pros eBook is now available for subscribers to download. All four books are updated and the new EPUB and PDF files are available from Gumroad.com. This month we discovered that a Gumroad bug was preventing bookmarks appearing in book PDFs. The issue has been fixed and new PDFs downloaded should have bookmarks. If not, let us know.
  18. Is Microsoft 365 too complex to manage. Is Microsoft 365 Too Complex for Humans to Understand? July 31, 2026 7:00 am - A recent Reddit thread asked the very good question whether Microsoft 365 is now so complex that no single person can understand the ecosystem. There’s no doubt that Microsoft 365 is much more challenging to manage today than ever before. More features, more functionality, more settings, and more updates create an ever-changing environment that’s interconnected in many different ways. What would executives do if their tenant administrator left?
  19. Azure Tops $100 Billion As Microsoft Reports FY26 Q4 Results July 30, 2026 12:34 am - On July 29, Microsoft released their FY26 Q4 results. We learned that Microsoft 365 Copilot has 30 million paid seats, but that's still less than 7% of the Microsoft 365 installed base, so there’s lots of room for Copilot to grow. Microsoft didn’t provide a number for Teams monthly active users, which is strange because no new data has appeared for 11 quarters. Among all the numbers, one thing’s for sure. The Microsoft Cloud makes lots of money.
  20. DLP Block to stop Copilot using external email. DLP Prevents Microsoft 365 Copilot from Processing External Email July 29, 2026 7:00 am - A new (preview) DLP capability allows Microsoft 365 tenants to block Microsoft 365 Copilot from processing the content of external email. When set, any message coming from a domain that’s not in a tenant’s accepted domain list is blocked for Copilot for grounding, referencing, or summarization. It’s an effective way of blocking threat like prompt injections transmitted in email too, but some people might not like blocking all their external email.
  21. Planner Tasks and Retention Policies. Data Lifecycle Management Adds Support for Planner Retention Policies July 28, 2026 7:00 am - From next month, Microsoft 365 tenants can apply retention policies to Planner Tasks. We began our preparation to create a retention policy for Planner tasks by writing some PowerShell to test the likely effect of retention. The code scans Microsoft 365 Groups for groups with plans and checks each plan for tasks that would be removed by a retention policy. It’s amazing what some PowerShell can do…
  22. Exchange Online PowerShell goes to 3.10.1 Exchange Online PowerShell Updates to 3.10.1 July 27, 2026 7:00 am - Microsoft rushed out version 3.10.1 of the Exchange Online management PowerShell module to fix a problem with certificate-based authentication. It seems like a change in an internal Microsoft identity platform caused the tokens issued after a successful connection to Exchange Online to not authorize the execution of further cmdlets. To their credit, Microsoft fixed the issue, but is this the kind of thing that should be caught in testing?
  23. Federated chat controls and Teams PowerShell. Teams PowerShell Embraces Web Account Manager and Imposes Control Over Federated Chat July 24, 2026 7:00 am - 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.
  24. Permissions creep for the Microsoft Graph PowerShell SDK. How Permissions Creep Can Halt the Microsoft Graph PowerShell SDK July 23, 2026 7:00 am - The Microsoft Graph PowerShell Command Line tools app is how people run Microsoft Graph PowerShell SDK cmdlets. The app can suffer from permissions creep, meaning that over time, the app accrues a set of delegated permissions used by people to access different types of Microsoft 365 and Entra ID information. All is fine until an internal limit is reached, at which point authentication fails and some permissions must be pruned.
  25. DLP external sharing block. Purview DLP Blocks Sharing Files with Specific Domains or Users July 22, 2026 7:00 am - A new DLP rule is available to control sharing of SharePoint and OneDrive files with selected domains and email addresses. The new rule supports an allow list (permit sharing) and can also specify a deny list (block sharing). The user interface takes a little getting used to, but when everything is configured, the rule works and any attempt by a blocked user to use a sharing link is refused.
  26. JSON batching speeds up Graph processing. Primer: How to Use JSON Batching to Speed up Graph Processing July 21, 2026 7:00 am - JSON batching is one of the most effective ways to speed up the processing of Graph API requests. Although it might seem complicated, once you understand how batches are put together and submitted to the Graph batch endpoint, it's not that hard. JSON batching is of particular interest to large Microsoft 365 tenants that might need to process tens of thousands of accounts, mailboxes, groups, and so on. All explained here, along with a PowerShell script to show how it’s done.
  27. User assigned managed identity and the Microsoft Graph. Using User Assigned Managed Identities with Microsoft 365 Automation July 20, 2026 7:00 am - A user assigned managed identity (UAMI) is a secure method to authenticate with many important endpoints, including the Microsoft Graph. It’s like a system assigned managed identity (SAMI), but the big difference is that a UAMI is an Azure resource that isn’t tied to an automation account. It can be used in multiple areas of Azure and a UAMI might be a better option for large organizations that make extensive use of Azure resources.
  28. OWA Light client. The Demise of the OWA Light Client July 17, 2026 7:00 am - On July 8, Microsoft said that they will retire the OWA Light client for Exchange Server in August 2026. But what happened to the OWA Light client for Exchange Online? It seems like Microsoft announced the retirement of OWA Light for Exchange Online in June 2024, but didn’t really make the fact clear in a blog post about consumer accounts. In any case, you can’t run OWA Light for Exchange Online, even if you wanted to.
  29. Schedule Teams Meetings from Shared Mailboxes. How to Schedule Teams Meetings from Shared Mailboxes July 16, 2026 7:00 am - 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.
  30. Cross-tenant message recall. Cross-Tenant Message Recall and Duplicate DDG Detection Enhance Exchange Online Messaging July 15, 2026 7:00 am - Last week, the Exchange development team announced two interesting developments. Stopping duplicate dynamic distribution groups and cross-tenant message recall. Preventing tenants from creating duplicate DDLs saves service resources and might make tenants easier to manage. The real value is in cross-tenant message recall, which solves a problem by allowing users to recall messages delivered outside their tenant. The facility only works if the receiving tenant allows, but nothing can be done for messages delivered outside Microsoft 365.
  31. No more SMS one-time codes for Entra ID. Microsoft to Stop Providing Telephony-Based Authentication Methods for MFA in February 2027 July 14, 2026 7:00 am - In an important announcement for all tenants, Microsoft revealed that Entra ID will no longer provide SMS one-time codes or voice calls for MFA challenges after February 1, 2027. Tenants can continue to use telephony-based authentication methods after that date, but only by purchasing a service from a telecom provider. This is arguably the biggest change in Entra ID authentication since mandatory MFA for administrative interfaces – and we have a PowerShell script to help identify the affected accounts.
  32. Find obsolete sites with PowerShell. How to Identify Obsolete SharePoint Online Sites with PowerShell July 13, 2026 7:00 am - Microsoft 365 has been around for many years, and it's likely that a tenant has some obsolete SharePoint Online sites. This article explains how to identify obsolete sites based on usage data extracted from the Microsoft Graph. Combining the usage data with basic site properties taken from SharePoint creates a report that should help administrators to figure out what sites they should consider removing.
  33. M365Mutator. Make Your Test Data Less Boring with M365Mutator July 10, 2026 7:00 am - Testing Microsoft 365 scenarios often involves test data. If the data is stale or always the same, it might not generate good results or help to identify lurking problems. The M365Mutator app helps to solve the problem by mixing things up in your test data. The app can change properties of Entra ID accounts, send email, update calendars, and generally make sure that whatever you’re testing has fresh information to run against.
  34. Inactive distribution lists and Get-MessageTraceV2. How to Check Distribution Lists for Activity Over the Last 90 Days July 9, 2026 7:00 am - The new Get-MessageTraceV2 cmdlet can fetch 90 days of message trace data, which means that we can check for inactive distribution lists using data for the last 90 days instead of being constrained to the last 10 days. Distribution lists are still important to Exchange Online and Microsoft 365, and it’s good to know which distribution lists are in active use (and how much traffic they get) and which are not. All done with PowerShell.
  35. Generate report about Managers and Direct Reports from Entra ID. How to Report Managers and Direct Reports from Entra ID July 8, 2026 7:00 am - An old article from 2021 written about how to create a report detailing managers and direct reports from Azure AD needs revision. This version uses the Microsoft Graph APIs and explains how to work around a known issue with Graph filtering with a mixture of server-side and client-side filters. It’s the kind of update that PowerShell scripts need when technology change – or when we learn how to do things better.
  36. Outlook Calendar Agent. The Sadly Unfulfilled Promise of the Outlook Calendar Agent July 7, 2026 7:00 am - The Outlook calendar agent seemed to be the answer to the difficulties that I sometimes encounter when trying to sort out my schedule. Alas, the agent failed to deliver when it was given guidelines about how I wanted to create appointments. The overall experience makes me consider whether the huge investment Microsoft is making to infuse AI into its products sometimes turns out duds. Like an agent that can’t schedule.
  37. DLP Move to Quarantine. Purview Data Loss Prevention Introduces File Quarantine July 6, 2026 7:00 am - Data Loss Prevention (DLP) policy rules can now use the move to quarantine action to block access to SharePoint Online and OneDrive for Business files. If blocked, DLP replaces the quarantined file with a plain text “tombstone” file explaining why the block is in place. Releasing the block requires manual administrator intervention. The capability adds to the ways to protect highly confidential files.
  38. Teams membership snapshots. How to Record Snapshots for Teams Memberships July 3, 2026 7:00 am - 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.
  39. External chat API. The Misleading Teams Remove External Chat from User View API July 2, 2026 7:00 am - 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.
  40. MIcrosoft 365 for IT Pros 2027 edition. Announcing Microsoft 365 for IT Pros (2027 Edition) July 1, 2026 12:02 am - We're happy to announce the publication of Microsoft 365 for IT Pros (2027 edition) eBook, the most comprehensive and up-to-date book covering tenant management. Previously named Office 365 for IT Pros and now spanning four books, Microsoft 365 for IT Pros includes coverage of Exchange Online, SharePoint Online, Entra ID, Teams, Planner, and many other aspects of the Microsoft 365 ecosystem, including hundred of examples of using PowerShell and the Microsoft Graph to automate tenant operations.
  41. Incoming Teams Calls Get a Small Window. Using the Small Window for Incoming Teams Calls June 30, 2026 7:00 am - 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.
  42. Copilot Memory Improves. Two Microsoft 365 Copilot Changes That Just Make Sense June 29, 2026 7:00 am - Two recent changes to the Microsoft 365 Copilot Chat app have made the app easier to use. Interaction persistence is better, meaning that chat threads are always created and available to go back to if necessary, and Copilot memory is managed more easily. Copilot memory is an intensely personal capability. If you spend the time to figure out the instructions that Copilot should always remember, the quality of Copilot responses will be much better.
  43. DragonForce Attacked and Compromised a Network, Not Teams. What the DragonForce Attack Against Teams Is All About June 26, 2026 7:00 am - 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!
  44. Delta Queries for Entra ID Groups. Using Graph Delta Queries with Entra ID Groups June 25, 2026 7:00 am - Delta queries are a Microsoft Graph mechanism to allow applications to query resources to find objects that have changed since a baseline was established. The technique is most useful for applications that need to synchronize a local store with online content. It’s not an appropriate method to use for reporting changes because knowing that an object changed doesn’t mean much by itself.
  45. Find inactive channels with PowerShell. How to Use PowerShell to Identify Inactive Teams Channels June 24, 2026 7:00 am - 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.
  46. Automating Microsoft 365 with PowerShell 2027 edition. Automating Microsoft 365 with PowerShell (2027 Edition) June 23, 2026 7:00 am - The third edition of the Automating Microsoft 365 with PowerShell eBook is now available in EPUB and PDF formats. The paperback version will be available on July 1. This 430-page eBook offers the most comprehensive coverage of automating tenant management operations for Microsoft 365 and includes a swathe of practical, worked-out examples to help tenant administrators build scripts to automate tasks.
  47. Microsoft Cannot Make PowerShell Modules Work Together. The Grief and Joys of New PowerShell Releases June 22, 2026 7:00 am - A new version of the Microsoft Graph PowerShell SDK (V2.38) is available, as is a new version of the Exchange Online Management module. They don't work well together. It’s annoying and beyond frustrating that two critical PowerShell modules in the Microsoft 365 ecosystem cannot work together. If anything, the situation is getting worse. On the upside, I found out about two cmdlets that I might never use – but who knows!
  48. Baseline scopes and CA policies. Entra ID Tightens Conditional Access Processing for Baseline Scopes June 19, 2026 7:00 am - Microsoft is closing a gap in conditional access policies where apps that only request baseline scopes with at least one exclusion are not processed. The rollout has already started and should be finished by mid-August. For most tenants, the change shouldn’t be an issue, but it is possible that some apps are in use that fit the profile and cannot handle conditional access. If MC1223829 appeared in your tenant, it’s time to check.
  49. Copilot Interactions and APIs. Microsoft Blocks Graph Access to Non-IPM Folders June 18, 2026 7:00 am - An app written to fetch details of Copilot interactions from the TeamsMessagesData folder suddenly stopped working when the Graph refused to return items. The 403 forbidden error can’t be argued with. It's a pain when apps stop working just because of a change made at an API level. Fortunately, the aiInteractionHistory API fills the gap.
  50. Microsoft to tighten SSPR security in Sept 2026. Microsoft Tightens Security for Self-Service Password Reset June 17, 2026 7:00 am - Microsoft plans to improve the security of the Self-Service Password Reset (SSPR) facility in September 2026 by requiring users to register at least one authentication method. SSPR will then use the registered authentication method to verify user accounts when changing passwords. The change aligns SSPR with user sign-ins and improves security by removing fallback on directory attributes, which might be altered by attackers.
  51. Monthly Price Increase for Microsoft 365 tenants. How Much Will the July 2026 License Increases Cost Your Tenant? June 16, 2026 7:00 am - July 1, 2026, sees a bunch of monthly price increases that will affect Microsoft 365 tenants. How much will the increases cost your tenant? One way to find out is to use PowerShell to retrieve the licenses assigned to users which are affected by the price increases and compute the effect of the monthly increase (which varies across products). It’s a great example of how flexible PowerShell is for tenant management.
  52. Teams Chat Threads Removal. How to Remove Teams Chat Threads with PowerShell June 15, 2026 7:00 am - 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.
  53. Unlicensed OneDrive for Business Accounts will be deleted after 365 days. Microsoft to Delete Unlicensed OneDrive for Business Accounts June 12, 2026 7:00 am - Microsoft will delete unlicensed OneDrive for Business accounts that aren’t paid for (to be archived) after July 2026. Up to now, it’s been possible to leave unpaid-for accounts linger in Microsoft 365 archive until retention policies and holds expire. Now, tenants must decide which accounts they wish to keep and pay for. Unpaid accounts will be removed, even if retention policies or eDiscovery holds apply to their content.
  54. Three ways to get sensitivity labels with PowerShell. Primer: Finding Sensitivity Labels with PowerShell June 11, 2026 7:00 am - Three cmdlets exist to fetch sensitivity labels. One is in the Exchange Online module; the others are powered by Graph APIs. What are the differences between each method and how can you make sure that the set of sensitivity labels fetched by PowerShell is the full set of available labels? These and other questions are investigated in this article.
  55. Microsoft 365 Copilot Deployment. Restricting Access is The Most Important Step in a Microsoft 365 Copilot Deployment June 10, 2026 7:00 am - I was asked what the most important step is in the deployment of Microsoft 365 Copilot. It's a good question. Put simply, restricted access is the answer. That is, restricting Copilot access to information stored in Microsoft 365 locations until your tenant is ready for unrestricted Copilot search and retrieval. The fortunate thing is that tools exist today to make it relatively easy to establish guardrails for Copilot, which is exactly what you need to do.
  56. Find inactive accounts and remove underused licenses. How to Find Inactive (Stale) User Accounts June 9, 2026 7:00 am - Inactive accounts can soak up a lot of paid-for but unused product licenses. With increases for Microsoft 365 licenses due to come into effect from 1 July 2026, it’s time to find and remove unused licenses from inactive user accounts. We discuss two approaches by using the Microsoft 365 Licensing Report or a PowerShell script that assesses inactivity based on sign-in dates and refresh token baselines.
  57. BlockContentAnalysisServices setting for sensitivity labels. Microsoft Extends Sensitivity Label Block for Connected Services June 8, 2026 7:00 am - The BlockContentAnalysisServices sensitivity label setting blocks access to Microsoft connected services for the content of labeled Office documents. The intention is that users assign sensitivity labels with the block setting to protect an organization’s most sensitive files. Regretfully, Microsoft’s documentation and explanation offered in the message center post don’t convey a clear story about its value.
  58. Microsoft Artifact Registry and PowerShell modules. Microsoft Wants PowerShell Developers to Change How They Download Microsoft Modules June 5, 2026 7:00 am - A Microsoft blog describes some changes for PowerShell developers in terms of installing modules and the role of the Microsoft Artifact Registry (MAR). In a nutshell, Microsoft intends the MAR to be the go-to place to download first-party PowerShell modules and other artifacts. This solves the problem of potentially compromised modules found in the PowerShell Gallery, but MAR can’t work if it doesn’t contain the modules people use.
  59. User-owned Loop workspace workflow. The Great Loop Departed User Process June 4, 2026 7:00 am - When employees leave a Microsoft 365 tenant, they might leave a user-owned Loop workspace behind which contains some valuable information that the organization wants to retain. Two years or so after announcing that a workflow to handle user-owned workspaces was coming, Microsoft is rolling out the update to tenants worldwide. The process is manual, but not much automation is possible to review and preserve workspace content.
  60. Security groups support for container management labels. Microsoft Launches Container Management Support for Security Groups June 3, 2026 7:00 am - A recent blog from the Microsoft Digital (IT department) discusses the preview implementation of container management labels for security groups. The implementation is limited because it encompasses just one control: the ability to have guest accounts in the membership of security groups. However, just that limited control is sufficient to stop unintended access to sensitive information by guest accounts, and that’s a very good thing.
  61. Track distribution list changes with PowerShell. How to Report Recent Changes made to Distribution Lists June 2, 2026 7:01 am - A recent discussion about reporting changes to Microsoft 365 groups provoked the question about how to report distribution list changes. The answer is that the same structure can be taken in a PowerShell script to fetch and report data, including the audit records containing the information about the changes, but the actual code is very different. Distribution lists Exchange Online objects and not Entra ID groups…
  62. June 2026 update for Office 365 for IT Pros. Office 365 for IT Pros June 2026 Update June 1, 2026 7:00 am - The 132nd monthly update for the Office 365 for IT Pros eBook is now available for subscribers to download the refreshed EPUB and PDF files from Gumroad.com. In addition, we announce some changes that are coming for the 2027 edition, including a rename for the book, a new chapter covering Copilot and agents, and two new books covering Microsoft Purview and the Power Platform that we’ve split out of the main book. All done to provide even more coverage about Microsoft 365.
  63. Microsoft 365 Usage Analytics Power BI app. Microsoft Cans Power BI App for Reporting Microsoft 365 Usage May 29, 2026 7:00 am - Microsoft has announced that the Microsoft 365 Usage Analytics Power BI app will retire on August 1, 2026. The alternative is the usage reports in the Microsoft 365 admin center or to develop a custom Power BI dashboard based on data imported through the Graph usage reports API. The decision isn’t surprising, but I’m sure that some will mourn the passing of Microsoft’s first tool to report usage information.
  64. Moving from MAPI to REST calendar sharing. Microsoft Rolls Out the New Calendar Sharing Model May 28, 2026 7:00 am - An automatic upgrade is currently ongoing to move Outlook calendar sharing from the old MAPI-based model to a new REST-based model. The new model has been available to Outlook classic clients on an optional basis and is now becoming the default. The REST model is simpler and exploits the Exchange Online service instead of depending on client transactions. It’s also part of the transition to the new Outlook.
  65. Invite new employees to corporate events. Sending a Welcome Message to New Employees Part 2 May 27, 2026 7:00 am - Some days ago, I wrote about creating a new employee welcome email with ICS files for corporate events. As it turns out, Inviting employees to attend those events by updating the participant list with PowerShell is an easier and better approach. This article explains how to find calendar events, update participant lists, and update events with the Microsoft Graph PowerShell SDK.
  66. Room mailboxes activity. Reporting Usage Patterns for Room Mailboxes May 26, 2026 7:01 am - A recent post on the EHLO blog discusses how to find whether room mailboxes are active. This article explains some of the finer points about the topic, including whether to use Exchange Online PowerShell or the Graph Places API to find the room mailboxes, the permissions required to retrieve data, and what has to happen to run the check on an ongoing basis.
  67. Online events with ICS files. How to Send a Welcome Message to New Employees with Attachments for Calendar Events May 25, 2026 7:00 am - ICS files are a useful method to send information about calendar events between different IT systems. This article discusses creating ICS files for Teams Online meetings as part of a project to send welcome messages to new employees that contain information about upcoming corporate events that the new people might like to attend. Suffice to say that formatting the ICS files to Outlook’s satisfaction takes some effort.
  68. Data Loss Prevention OWA evaluation. Switching Data Loss Prevention Client-Side Checks for OWA May 22, 2026 7:00 am - Purview Data Loss Prevention (DLP) rule checks can happen client-side and server-side. This change updates the Exchange Online organization configuration to instruct OWA to stop using Exchange Online to detect potential DLP rule violations before users send email. Instead, OWA will use the workload-neutral Data Classification Services (DCS). Using a workload-neutral service comes with some consequences in terms of OWA being unable to evaluate Exchange-specific predicates.
  69. How to use a SharePoint Online list to store open task statistics. Use a SharePoint List to Store Weekly Open Tasks Statistics May 21, 2026 7:00 am - A PowerShell script that sends details of open tasks to users for follow up is a good thing. Storing open task statistics in a list for analysis of open task burndown over time is even better. This article describes how to update the script that sends email about open tasks to add the code necessary to use a list in a SharePoint Online site to store details about open tasks.
  70. Automating Microsoft 365 with PowerShell 24. Automating Microsoft 365 with PowerShell June 2026 Update May 20, 2026 7:00 am - Version 24 of the Automating Microsoft 365 with PowerShell eBook is now available for current subscribers to download. The updated PDF and EPUB files are available from Gumroad.com. The paperback edition is also updated. In other news, a new version of the Microsoft Graph PowerShell SDK is available, and Microsoft has created a problem of their own making by announcing the retirement of the AutoRest utility.
  71. Authoritative Sites for SharePoint Online. SharePoint Online Gets Authoritative Sites May 19, 2026 7:00 am - SharePoint Online authoritative sites are trusted sites for Microsoft 365 Copilot to give priority to when using material for chats and search results. Tenants that don’t use Microsoft 365 Copilot appear to gain nothing from the new ability to mark sites as authoritative because it’s all about “Improved relevance and trust in AI-driven responses grounded in authoritative content.” It does seem like a good idea, though.
  72. MoreRecordsAvailable for Search-UnifiedAuditLog. Search-UnifiedAuditLog Updated to Make Large Searches Easier to Manage May 18, 2026 7:00 am - The advent of the MoreRecordsAvailable property gives the Search-UnifiedAuditLog cmdlet more precise control over fetching large numbers of audit records (up to 50,000 records). It’s a welcome change to report something positive about the Microsoft Purview Audit solution because most of the time we complain about its stability, slowness, and bugs. Things are looking up.
  73. Planner Synchronization Preserves Rich Formatting. Planner Synchronization of Microsoft 365 Message Center Notifications Improves May 15, 2026 7:00 am - Microsoft published the very good news that the Planner synchronization with the Microsoft 365 message center will support HTML formatted text when it creates or updates tasks. This might seem like a small change, but if you use Planner to track the progress of anything, like we do for the Office 365 for IT Pros eBook, it’s sometimes the little changes that make the biggest impact.
  74. People Skills Silliness for Microsoft 365 Tenants Why Graph-added People Skills Don’t Show Up on the User Profile Card May 14, 2026 7:00 am - Microsoft's People Skills service can use AI to attribute 16,000 different skills to users. Those skills show up on the user profile card. However, once a Microsoft 365 tenant enables People Skills, they lose the ability to add custom skills for user profiles via Graph APIs or People Connectors. It’s a curious situation where Microsoft blocks custom additions because its AI-powered service is active. Couldn’t both exist alongside each other?
  75. Graph permissions for Entra ID Groups. Understanding How Graph Permissions for Groups Work May 13, 2026 7:00 am - Understanding what Graph permissions are required by apps can be challenging. In this article we discuss how the Group.Read.All and GroupMember.Real.All permissions work and why you should choose one permission over the other and respect the principle of least permission when it comes to assigning Graph permissions to your apps and PowerShell scripts.
  76. File-level archiving with the Graph APIs. Using the Microsoft Graph to Archive SharePoint Online Files May 12, 2026 7:00 am - This article discusses how to list files archived using the SharePoint Online file-level archiving feature. We also discuss how to archive and unarchive files using the Microsoft Graph PowerShell SDK and Graph API requests. As it turns out, the drives API is the best way to find (list) archived or unarchived files, while archiving files that haven’t been modified in a while is easy with a few lines of PowerShell.
  77. Teams Private Channel Migration Might Have Stalled. Teams Migration for New Private Channels Stalls May 11, 2026 7:00 am - 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.
  78. User profile card awards and certifications. Using the Microsoft Graph PowerShell SDK to Update User Profiles May 8, 2026 7:00 am - Now rolling out to Microsoft 365 tenants is the ability to update user profile cards with details of awards and certifications held by users. Usually this would be done through a Copilot connector, but it’s possible to add awards and certifications using Microsoft Graph PowerShell SDK cmdlets. All explained in great detail with working examples here.
  79. IDCRL events in audit log. An Explosion of Audit Events for Legacy SharePoint Online Authentication May 7, 2026 7:00 am - Microsoft phased out the legacy IDCRL authentication mechanism from SharePoint Online on May 1, 2026. Sounds good, until you notice the explosion of IDCRLBlockedDueToSoftEnforcement events created by SharePoint Online in the unified audit log. The events are associated with Microsoft Office apps like Word, which SharePoint appears to think are still using IDCRL. For whatever reason, the audit log is now cluttered with unwanted events generated by the interaction between SharePoint and Office.
  80. Microsoft 365 Backup Granular Restore. Granular Restore for Microsoft 365 Backup Reaches General Availability May 6, 2026 7:00 am - 18 months after the product became generally available, Microsoft 365 Backup has delivered granular restore for SharePoint Online and OneDrive sites. It's the kind of feature that most tenant administrators might have assumed is already in the program, but at least it now is. The next step is apparently the ability to restore files in place. That isn't available yet.
  81. SharePoint Online File-Level Archiving. How File-Level Archiving Works for SharePoint Online May 5, 2026 7:00 am - SharePoint Online supports file-level archiving, meaning that you can send individual files (most types) to Microsoft 365 Archive to be held in cold storage. Individual users can make the decision about what files need to be online instead of forcing administrators to decide whether to archive complete sites. If needed, archived files can be retrieved, but it might take 24 hours for this to happen.
  82. Together mode retirement. Microsoft to Retire Together Mode for Teams Meetings May 4, 2026 7:00 am - 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.
  83. Office 365 for IT Pros May 2026 Update. Office 365 for IT Pros May 2026 Update May 1, 2026 7:00 am - The May 2026 update for the Office 365 for IT Pros eBook is available for current subscribers to download the refreshed EPUB and PDF files. This is monthly update #132 in a line stretching back to 2015. An updated version of the Automating Microsoft 365 with PowerShell eBook is also available for subscriber download. Lots of things happened in the last month and more is coming in May 2026!
  84. Microsoft Cloud FY26 Q3. Microsoft Cloud Revenues Reach $54.5 Billion in FY26 Q3 April 30, 2026 7:00 am - Microsoft’s FY26 Q3 results produced $54.5 billion revenue for the Microsoft Cloud, the segment that includes Microsoft 365, Azure, LinkedIn, and other services. The annualized run rate of $218 billion proves just how vital these revenues are to Microsoft. Lots of time was spent talking about Microsoft 365 Copilot, which now has “over 20 million” paid seats. Sounds good, and it’s up five million from the last quarter, but Copilot still has a long road to travel to profitability.
  85. Legacy TLS deprecation by Exchange Online. Exchange Online to Deprecate Legacy TLS for POP3 and IMAP4 April 29, 2026 7:00 am - Microsoft will start to refuse inbound IMAP4 and POP3 client connections using legacy TLS versions (1.0 and 1.1) in July 2026. The move is consistent with other projects to remove obsolete or insecure email protocols from Exchange Online to increase the overall security of the online email service. In this article, we examine some methods to understand the POP3 and IMAP4 usage within a tenant.
  86. Single-user meetings created to make people seem active. How to Report Single-User Teams Online Meetings April 28, 2026 7:00 am - 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.
  87. OneDrive Sync Client Update for Deleted Cloud Files. OneDrive Sync Client Changes How It Processes Deleted Files April 27, 2026 7:00 am - Microsoft plans a May 2026 update for the OneDrive Sync client to improve the way that the client handles the deletion of files stored in SharePoint Online and OneDrive for Business. The client will no longer move the local synchronized copy of the deleted file into the workstation’s recycle bin, meaning that the only copy is on the server. The change removes complexity and should improve performance.
  88. License Insights for Entra and Microsoft 365. Entra and Microsoft 365 Could Improve License Reporting April 24, 2026 8:00 am - License insights is a new feature in the Entra admin center. The Microsoft 365 admin center also shows some license insights in a dashboard card. The two views don't line up. This isn’t very surprising because different teams generated the information, but it would sure be nice if Microsoft delivered comprehensive license reporting for Microsoft 365 tenants, including the Entra premium licenses.
  89. High-volume email charges from June 1, 2026. High Volume Email is Generally Available and Ready to Charge April 23, 2026 7:00 am - On April 1, Microsoft announced the general availability for the High-Volume Email (HVE) solution together with details of the PAYG charges incurred to send email to internal recipients, which is all that HVE can do. Microsoft will enable HVE charging on June 1, 2026, Before then, you’ll need to create a billing policy and link it to a valid Azure subscription if you want to continue to use HVE.
  90. Microsoft 365 Uptime for Q1 CY2026. Microsoft 365 Quarterly Uptime Number Sinks to New Low April 22, 2026 7:00 am - According to Microsoft, the Microsoft 365 uptime performance for Q1 CY2026 was 99.526%. That's the lowest uptime figure since we started to record data in 2013. The first thing that people might ask is whether this performance means that Microsoft has to pay out under the terms of its financially backed SLA. The answer is no. All explained in the article.
  91. additionalProperties Property and the Microsoft Graph PowerShell SDK. The Microsoft Graph PowerShell SDK and the additionalProperties Property April 21, 2026 7:00 am - The additionalProperties property is available for many Microsoft Graph PowerShell SDK cmdlets. In this article, we explain the function of the additionalProperties property and how it functions in holding output for Microsoft Graph PowerShell SDK cmdlets. It’s all because of the lack of strongly typed properties, or so the AutoRest process would have us believe.
  92. Automating Microsoft 365 with PowerShell version 23. Automating Microsoft 365 with PowerShell Version 23 April 20, 2026 7:00 am - The May 2026 update for the Automating Microsoft 365 with PowerShell eBook is available. Current subscribers can download new PDF and EPUB files. The paperback edition of the book (available on demand from Amazon) is also updated. With over 400 pages of content, including twice that number of practical examples of using PowerShell to interact with Microsoft 365, the book is going from strength to strength.
  93. Outlook reactions can be blocked Improving How Outlook Classic Handles Reactions April 17, 2026 7:00 am - A fix due in May 2026 will make sure that the Outlook classic client will handle Outlook reactions properly if the reactions are blocked. Of course, if tenants don’t like responding to email with an emoji, they can create a transport rule to insert the x-ms-reactions header. Detecting the header is an instruction to Outlook clients to suppress reactions that Outlook classic has been ignoring up to now.
  94. DLP Policy for Copilot New Web Search action DLP Extends Its Ability to Control Copilot Processing April 16, 2026 7:00 am - A new action for the DLP Policy for Copilot allows Microsoft 365 tenants to block Copilot from performing (Bing) web searches if a prompt contains sensitive information types. The new action allows Copilot to continue to process prompts using Microsoft 365 content (if the user has a Microsoft 365 Copilot license) while stopping potentially sensitive data being sent to Bing.
  95. Creating a Weekly Digest Email of Incomplete Planner Tasks April 15, 2026 7:00 am - A reader wanted a weekly incomplete task digest to send details of Planner tasks to people with outstanding work to do. We used PowerShell to scan for incomplete tasks for people who are members of a group, perform some analysis on the data, and create and send email. Despite some deficiencies in the Planner Graph API, the code is pretty straightforward.
  96. Copilot Retrieval API. Running Copilot Retrieval Searches with the Microsoft Graph PowerShell SDK April 14, 2026 7:00 am - The Copilot Retrieval API is a Microsoft Graph API that apps can use to search Microsoft 365 locations to find information to ground user prompts. Grounding means that the apps use the information found by Copilot to add context to the queries they submit to a generative AI engine for processing. Although I don’t have an immediate purpose for the API, it provides a nice insight into how grounding works.
  97. Entra ID eventually consistent. Writing PowerShell for the Eventually Consistent Entra ID Database April 13, 2026 7:00 am - Entra ID uses an eventually consistent multi-region database architecture. PowerShell code that fetches and updates Entra ID objects needs to interact with the database in the most efficient manner. This article illustrates some guidance from Microsoft engineering with examples from the Microsoft Graph PowerShell SDK. I’m sure your scripts already use these techniques, but if not, we have some helpful pointers.
  98. User and group assignments. Leverage User and Group Assignments to Limit User Access to Apps April 10, 2026 7:00 am - User and Group assignments can be added to Entra ID applications. Once assignments exist for an application, only assigned users can access that application. This method is a good way to secure access to applications that have consent to use high-profile permissions like Sites.FullControl.All or Mail.Read. Microsoft 365 tenants should consider how to use assignments to control user access to applications.
  99. Copilot Diagnostic Logs Reveal sensitive information to admins. The Open Nature of Microsoft 365 Copilot Diagnostic Logs April 9, 2026 7:00 am - The Microsoft 365 admin center includes an option for administrators to send Copilot diagnostic logs on behalf of users to Microsoft for investigation. Sounds good, but the diagnostic logs are in plain text (JSON format) and the prompts and responses for Copilot user interactions can be viewed by administrators. That doesn’t seem like a good way to preserve anyone's privacy. Vote for the feedback item to close this loophole.
  100. Microsoft 365 Connector for Claude. Using the Microsoft 365 Connector for Claude April 8, 2026 7:00 am - The Microsoft 365 Connector for Claude allows Claude to access SharePoint and OneDrive files, emails, and Teams chats and meetings. The connector is now available to all users, including the free tier for Claude. Installing the connector creates two Entra ID enterprise apps (MCP server and client) and channels Graph requests to Microsoft 365 to fetch information for processing by Claude. Is that a good thing?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.