Title card: Intune Assignment Filters That Never Match

Intune Assignment Filters That Never Match

Microsoft’s own cpuArchitecture filter example saves without complaint and drops every x64 Windows device, which reports amd64. My command checks a rule locally the way the service parsed and matched it.

Title card: What the Intune Agent Counts as Installed

What the Intune Agent Counts as Installed

A file rule set to “does not exist” saves in the portal and Graph, and the Intune agent never counts the app as installed. My harness checks Win32 detection, requirements and installs the way devices did.

Title card: Running Intune Scripts Locally the Way the Agent Does

Running Intune Scripts Locally the Way the Agent Does

My remediation prints success and exits 0 over a Set-ItemProperty error, and Intune calls it Failed. My harness runs scripts the way the agent does, as me, as SYSTEM or as another account, and now agrees.

Title card: Linting Intune Scripts With Rules Measured on Real Devices

Linting Intune Scripts With Rules Measured on Real Devices

Microsoft’s sample detection for expired certificates returns a count before its exit 1, so it exits 0 and the remediation never runs. My linter flags that, and every rule cites the device test behind it.

Title card: Testing Intune Scripts Before Intune Does

Testing Intune Scripts Before Intune Does

Intune runs my scripts in Windows PowerShell 5.1, from system32, often as SYSTEM. My console is none of those, so I built a module that tests scripts the way the agent will, from what real devices did.

Title card: A Role With Nothing but a Name: Seeding OneLogin

A Role With Nothing but a Name: Seeding OneLogin

OneLogin gives a role, a group and a policy nothing but a name, and a Smart Hook not even that. Teardown still has to delete only what my seed made, so each object is proved by what it holds.

Title card: A Directory Full of Question Marks: Seeding PingOne

A Directory Full of Question Marks: Seeding PingOne

The first PingOne seed I ran from Windows PowerShell 5.1 turned every accented and Han name into question marks. The fault was in how 5.1 encodes a request body, and all six providers in the module had it.

Title card: Seeding FreeIPA, Where Teardown Starts Revoking

Seeding FreeIPA, Where Teardown Starts Revoking

My seed asks the FreeIPA realm’s own CA for ten real certificates, and a CA has no delete. Teardown revokes them, so every seeded realm keeps a record of the run, next to HBAC and sudo rules built to be misread.

Title card: Seeding Authentik, Where the Directory Is Only the Floor

Seeding Authentik, Where the Directory Is Only the Floor

Authentik was already in my homelab doing single sign-on, so there was no license cap to design around. Of everything the provider seeds, the three hundred users are the least interesting.

Title card: Eight Okta Users, and Everything That Changed Around Them

Eight Okta Users, and Everything That Changed Around Them

I opened the Okta provider expecting to write the ten-user post again with better numbers. The eight users are the same eight users. Nearly everything around them has been replaced.