#reporting 6 articles
- Export-Csv -Encoding UTF8 flips the BOM between 5.1 and 7gotchas / powershellSame parameter, different bytes; Excel reads encoding from the BOM, so the report is readable on one machine and mojibake on the next
- signInActivity without Entra ID P1 — the retry without it turns "not measured" into "0 inactive users"gotchas / graphSelecting signInActivity on /users fails with 403 in tenants without Entra ID P1/P2; the common fallback (retry without the property) makes every user look "never signed in" or gets skipped, so inactive-user and…
- A formatter that returns its raw input is a hole in your escapinggotchas / securityThe unhappy branch returns the value verbatim; about:blank inherits your origin
- A page-size cap reported as a findinggotchas / rest-apiA round number (100 / 500 / 999 / 5000) is the tell; the limit of the request presented as a measurement of the tenant, then cached
- perUserMfaState says "disabled" even when MFA is enforced — don't report it as "user has no MFA"gotchas / graphThe legacy per-user switch stays off while MFA is fully enforced; report on userRegistrationDetails instead — which omits blocked accounts and needs an undocumented Entra ID P1/P2 tenant
- What the scripts actually printscriptsBottom line. Every sample below is a real run against a live tenant with the names swapped for Contoso (the one reconstructed sample says so) — including the failures, because knowing what a script looks like when it…