Microsoft Teams Phone has improved over the years, but missed call reporting in call queues remains a gap. In this blog, Martin Heusser shows how to use Microsoft Graph and PowerShell to build a custom report that captures missed and answered calls, complete with caller info and agent details. Until Microsoft adds shared call history natively, this DIY approach is a solid workaround. The post Practical Teams Phone: Reporting Missed Calls on Call Queues appeared first on Practical 365.| Practical 365
In this episode of the Practical 365 Podcast, Steve Goodman and Paul Robichaux discuss the newest features and changes in Microsoft 365 Copilot Studio, examine an open-source solution, Jan, which enables running large language models locally for privacy-friendly AI, and reflect on Microsoft’s recent change in its remote work policy. The post Copilot Studio Updates, Licensing Changes, and Local AI Testing with Jan – Practical 365 Podcast S04E43 appeared first on Practical 365.| Practical 365
A reader question asked if it was possible to find the last app accessed by a user. Of course, anything is possible with PowerShell, but how? In this article, we explore using the Entra ID sign-in logs and Microsoft 365 audit log as sources for finding the desired information. Some performance issues emerge, so we end up running the code in Azure Automation. The post Practical Graph: Finding the Last App Accessed by a User appeared first on Practical 365.| Practical 365
Microsoft is rolling out Phase 2 of Azure services MFA enforcement starting October 1, 2025. This update requires MFA for all Azure Resource Manager operations. In this article, we dive into what you need to do to comply with the new enforcement requirements. The post Practical Protection: Microsoft Doubles Down on Azure MFA Enforcement appeared first on Practical 365.| Practical 365
Auditing Attack Surface Reduction (ASR) rules can generate overwhelming data. In this blog, we walk through the different ways of verifying the ASR audit results, different types of exclusions, and provide an advanced KQL that surfaces detailed information.| Practical 365
For those wanting to eliminate the SMTP AUTH protocol, Microsoft has three ways to send email using Graph APIs. This article looks at how to use the Send-MgUserMail cmdlet.| Practical 365
Microsoft has released the public preview of RBAC for Applications, a method to control the access Azure AD apps have to Exchange Online mailboxes.| Practical 365
In this blog, we explore practical ways to optimize SharePoint Online performance for large document libraries. From avoiding the 5,000-item list view threshold to using PnP PowerShell and Microsoft Graph API for bulk updates, you'll learn how to keep your libraries fast, responsive, and scalable. The post Optimizing SharePoint Online Performance for Large Document Libraries appeared first on Practical 365.| Practical 365
A reader asked if it's possible to analyze the external meeting participants for Teams online events. The information is available through the Events Graph API, and some PowerShell code written using the Graph PowerShell SDK quickly extracts events to analyze and determine the set of external domains meeting participants come from. The post Practical Graph: Analyzing External Meeting Participants for Teams Meetings appeared first on Practical 365.| Practical 365
In this episode of Practical AI, we explore how to run large language models locally using Jan, a privacy-first, open-source desktop client. With support for Model Context Protocol (MCP) servers, Jan lets you integrate tools like Microsoft Learn directly into your AI workflow—no cloud required. The post Practical AI: Make Your LLM Local with Jan appeared first on Practical 365.| Practical 365
In this article, we explore the best way to configure Microsoft Defender for Servers on Windows. From PowerShell and GPO to SCCM and Defender Security Management, we break down the pros and cons of each method. The post The Best Way to Configure Defender for Servers on Windows appeared first on Practical 365.| Practical 365
Everyone probably knows how to use the Send As and Send on Behalf of permissions to send email from user mailboxes. Here we venture into the same task, but for Microsoft 365 Groups, shared mailboxes, distribution lists, and mail-enabled security groups. Once your permissions are aligned, everything is pretty simple.| Practical 365
This article outlines how to get started with PIM, how to audit its use, and what workarounds could be circumventing your security controls.| Practical 365
Microsoft 365 Copilot is a great AI notetaking app for Teams meetings, but it's expensive. A range of cheaper options are available from other AI companies. Should Microsoft 365 tenants allow users to install these apps and access what goes on in Teams meetings? It could be a difficult decision.| Practical 365
Since its inception, the Teams user interface emphasized teams and channels for collaboration. But that's not how people work, and the new chat and channels experience emphasizes chats a lot more. This doesn't mean that channels are going away. They remain the foundation of teams and the right way to communicate and share information for ongoing use, but the change to highlight chats might take some getting used to.| Practical 365
Practical Office 365 News, Tips, and Tutorials| Practical 365
Many organizations view Teams chats stored in OneDrive for Business as potential compliance risks. Without proper retention policies, this data can be lost, deleted, or retained too long. In this blog, we dive into managing Teams chat files automatically with Purview.| Practical 365
This article explains how to use PowerShell to create a report listing the files from a OneDrive for Business account. Because so many Microsoft 365 apps store their files in OneDrive (and other apps too), OneDrive can become a form of dumping ground for data. Seeing file information in the report allows account owners to clean up their digital debris.| Practical 365
Many Teams users love to use group chats as a way to get work done. Group chats are effective, but the information shared in chats ends up in personal OneDrive accounts. To help switch people back to channel conversations, Teams has a new threaded layout to make conversations behave much like chats. The new layout works well for some channels but not for others.| Practical 365
In this Episode of the Practical 365 podcast, Steve and Paul deep dive into the Microsoft 365 Copilot exploit, "Echo Leak," discussing its implications for AI safeguards and the future of agentic AI. The conversation then shifts to a recent global outage affecting Google and Cloudflare, highlighting the challenges of maintaining hyperscale services. We also examine Microsoft's new initiative to offer containerized M365 instances in Europe, addressing concerns over data sovereignty. Finally, t...| Practical 365
There's a lot to learn about Copilot Studio, especially for hard-pressed Microsoft 365 tenant administrators who already have too much work to do. This article gives administrators the essential details that they should consider as Copilot agents become more interesting to their organization.| Practical 365
With Microsoft Power Platform on the rise with over 56 million monthly active users, governance is vital to reduce potential risk. In this first installment of Practical Power Platform, we discuss essential areas Microsoft 365 admins should focus on, including the Power Platform Admin Center, Data Loss Prevention (DLP) policies, tenant isolation, and Microsoft Purview auditing.| Practical 365
It's time to check recipient filters for dynamic distribution groups to ensure that you don't have any wildcard prefixes used with the -eq operator to find recipients based on their email addresses. A November 30 update will stop this kind of recipient filter working, and might have a knock-on effect on other processes.| Practical 365
Vasil Michev explores how you can mitigate threats and scope down permissions using application access policies in Exchange Online| Practical 365
Learn how to increase cost efficiency within Microsoft Sentinel by leveraging Log Analytics capabilities.| Practical 365
Many apps are created in the Azure AD for a tenant. Those apps have permissions to allow them to access data, and consent for those permissions are granted by administrators and users.| Practical 365