Are you in control under the Cyberbeveiligingswet? Prove it in Microsoft 365, per BIO2 measure
The CBW makes cybersecurity a personal board responsibility, with fines up to 10 million euro. 'We think we're in control' won't survive an audit. Here's how to prove it, per BIO2 measure, in Microsoft 365.
App registrations outlive the projects that created them. Here's how to audit them
That integration someone wired up in 2022 still has a valid secret and Directory.ReadWrite.All. This read-only script inventories every app registration: how old, still used, and what it can actually do.
Your tenant is full of guest accounts that never signed in. Here's how to find them
That guest you invited in 2023 still has access to your Teams and SharePoint. This script finds every stale guest, including the ones who never accepted, and shows you which to block.
The offboarding step everyone forgets: meeting ownership
Exchange Online finally lets admins transfer meeting ownership with Invoke-ChangeMeetingOrganizer. How it behaves, the gotchas hiding in the docs, a wrapper script that makes it safe to run, and the one rollout catch that makes the cmdlet lie to you.
Your shared mailboxes are login-capable accounts
Convert a mailbox to shared and the Entra account often stays enabled. This script catches every shared mailbox that can still sign in — or is quietly burning a license.
Trust, but Verify Your Microsoft 365 Tenant
From assumptions to evidence: why this blog exists, what you'll find here, and why every post ends with something you can verify yourself.
Auto-generating a Maester config from your custom Pester tests
Generate your maester-config.json automatically from your custom Pester tests, so severities and titles never drift out of sync again.