Title card: Your Function Accepts an Array. Piping One Is Different

Your Function Accepts an Array. Piping One Is Different

I shipped CaOutcome with 204 passing tests and a README example that gave thirteen wrong answers. Every test passed the collection by parameter. Maester pipes it, and PowerShell unrolls a piped array.

Title card: Find memberOf Rules Before November 3

Find memberOf Rules Before November 3

I found MC1448379 while hunting for my next post: on November 3, every memberOf group, administrative unit and auto-assignment policy stops updating. Microsoft says grep for the word. I wrote a parser.

Title card: Entra Is Retiring 58 Sign-in CSS Properties, and the First List Had 19

Entra Is Retiring 58 Sign-in CSS Properties, and the First List Had 19

On October 19 I found a Message Center post: Entra stops honoring layout CSS in company branding on October 26. The news listed ten properties. Learn lists 58, display included, so I built a scanner.

Title card: Seeding Entra ID When There Is Nothing to Paste

Seeding Entra ID When There Is Nothing to Paste

Okta, Authentik, FreeIPA, PingOne and OneLogin all hand me a token to paste into a config file. Entra hands me nothing, so the seeder has to solve its own access problem before it can create a single user.

Title card: Test Data That Breaks Scripts on Purpose

Test Data That Breaks Scripts on Purpose

I built a lab by hand to test an RC4 migration script, and every run came back clean. The two accounts it should have caught were invisible, because my fixture held the same wrong assumption as the filter.

Title card: Learning Resources

Learning Resources

A running list of the books, communities, modules, tools and certification paths I have actually used. Kept as I find things, including the ones I wish I had known about earlier.

Title card: Conditional Access: Outcomes, Not Verdicts

Conditional Access: Outcomes, Not Verdicts

A report-only CA policy, and one question: if I enable it, who stops being able to work? What If gave me thirteen rows and no answer. So I wrote a PowerShell module that folds them into one.

Title card: Using an MCP agent to query Entra with natural language.

Using an MCP agent to query Entra with natural language.

I setup Lokka, an MCP agent created by the great Merill Fernando, and demonstrate how easy it is to get data within VSCode from a tenant using natural language queries.

Title card: Using Entra to log into an application without SAML/OAUTH/OIDC

Using Entra to log into an application without SAML/OAUTH/OIDC

Stuck with a Legacy web app that doesn’t work with SAML/OAUTH/OIDC? I show how to set credentials so the app can be launched and logged into from myapps.microsoft.com.

Title card: Setting up SSO with Entra and Proxmox (OIDC)

Setting up SSO with Entra and Proxmox (OIDC)

Showing how to authenticate into Proxmox with Microsoft SSO.