All guides
Connect-ExchangeOnline fails in PowerShell ISE with "A window handle must be configured". Why this happens since module 3.7.0 and how to fix it: PowerShell 7 through winget, or -DisableWAM.
Microsoft turns file sharing in federated chats on by default, even if you had it off. How to turn it off again after rollout.
Connect-ExchangeOnline stops with "Error Acquiring Token", followed by a NullReferenceException or error 0x80070520. What the message means since module 3.7.0, and how to fix each variant.
SPF, DKIM and DMARC can be green while the mail test marks DNSSEC and DANE red. Sign your own zone first, then move MX off mail.protection.outlook.com.
Copilot shows what a user is allowed to see, so hiding starts with access. The options that exist (RAC, RCD, sensitivity labels, DLP, search exclusion, connectors, agents, web search, Teams), how to set each one in the portal and PowerShell, and what each one does not do.
The setup for both tenants, host and partner: cross-tenant access settings in Entra, MFA trust, Teams policies and external access, with PowerShell, a check afterwards, common errors and how to undo it.
Which features a PnP export lists, what they do, which level they belong to and which ones to keep in a template, with the full overview.
Inventory your senders, publish one SPF record, switch on DKIM with 2048-bit keys, then DMARC from p=none with np=reject to p=reject. Tests each step with t=y (RFC 9989). With the records, PowerShell and checks.
A complete reference to SPF mechanisms and qualifiers, DKIM key and signature tags, and every DMARC tag after RFC 9989, with a generator that builds the records for you and Microsoft 365 notes throughout.
Install PnP.PowerShell on PowerShell 7 for Microsoft 365 (M365 / Microsoft365). Install-Module, Update-Module, check the version.
Register your own Entra app for PnP PowerShell (required since September 2024). Microsoft 365 (M365 / Microsoft365).
Connect-PnPOnline: interactive, device login, certificate, client secret and managed identity for Microsoft 365 (M365).
Force-clean PowerShell modules. Uninstall-Module -AllVersions. Fixes Assembly already loaded on Microsoft 365 (M365) modules.
SharePoint Online Management Shell: Connect-SPOService versus PnP. Microsoft 365 (M365 / Microsoft365).
Install Exchange Online PowerShell V3. ISE (5.1) and PowerShell 7. Module 3.7+ will not run from ISE. Microsoft 365 (M365).
Connect-ExchangeOnline: interactive, certificate, managed identity. REST V3, no WinRM. Microsoft 365 (M365 / Microsoft365).
Install and connect MicrosoftTeams, assign policies through groups, app-only and managed identity, known issues. Microsoft 365 (M365).
PowerShell 7 next to Windows PowerShell 5.1: winget, LTS, PATH, module folders, OneDrive and execution policy. Microsoft 365 (M365).
ISE only runs 5.1. Why, what the workarounds cost and how to move a script to PowerShell 7 in VS Code. Microsoft 365 (M365).
Set up VS Code for Microsoft 365: PowerShell 7 as default, ISE mode, debugging, profile and PSScriptAnalyzer.
Install Microsoft.Graph, only the submodules you need, look up permissions and replace AzureAD/MSOnline. Microsoft 365 (M365).
Connect-MgGraph delegated, device code, app-only with a certificate and managed identity. AADSTS errors explained. Microsoft 365 (M365).
From AzureAD and MSOnline to Microsoft.Entra or Microsoft.Graph, with the compatibility mode for old scripts. Microsoft 365 (M365).
Export, report and compare tenant settings with Microsoft365DSC, including Purview. Enforce only once you trust it. Microsoft 365 (M365).
Install CLI for Microsoft 365 (m365), m365 setup with your own app, sign-in, examples and SPFx help. Microsoft 365 (M365).
Power Apps admin modules (Windows PowerShell 5.1 only), environments, apps and flows of leavers, and the pac CLI. Microsoft 365 (M365).
Start SPFx with Node 22 and the Heft toolchain (since 1.22): install, first web part, npm run start and build. Microsoft 365 (M365).
A first cloud flow with SharePoint and Teams, trigger conditions, connections that keep working and when not to build a flow.
Try/Catch/Finally with scopes, get the real error message, a link to the run and ActionFailed explained. Microsoft 365 (M365).
Power Platform DLP: Business, Non-business and Blocked, what happens to existing flows and what a maker can do. Microsoft 365 (M365).
Azure Automation managed identity for PnP, Graph and Teams. No secrets. Sites.Selected. Microsoft 365 (M365).
Purview sensitivity labels in bulk: Excel columns, nested labels (parent first). New-Label in IPPS. Microsoft 365 (M365).
Retention labels with PowerShell: New-ComplianceTag, publish policy, auto-apply. Not New-Label. Microsoft 365 (M365).
Extract and clean a PnP site template (XML). Strip tenant IDs, then Invoke-PnPSiteTemplate. Microsoft 365 (M365).
SharePoint site design JSON: extract with PnP or SPO shell, clean, add back, apply in the GUI. Microsoft 365 (M365).
Email archiving diagnostics: EXO + IPPS, MRM, ELC, holds. PowerShell 7, not ISE on 3.7+. Microsoft 365 (M365).
Posts layout vs Threads layout in a Microsoft Teams channel, and when to pick which.
Tenant policy with Set-CsTeamsChannelsPolicy and per channel via Graph layoutType (chat or post).
Every File Plan column, daisy-chain (last label first), Power Automate flow and disposition review.
Connect-IPPSSession, Get-ReviewItems, paging, export, and what you can and cannot approve in bulk.
Four parents, sublabels for scenarios, container vs file, planning CSV and six phases.
Audit → tip → block-with-override → block. DLP follows labels, not the other way around. Planning CSV.