Repository navigation
Intune Anomalies 1.2.2: APv2, Cloud PC exclusion, tab banners, readable noncompliant reasons - #9
Conversation
…ery tab
- Autopilot tab ("Not in Autopilot") now also treats corporate identifiers
(Autopilot device preparation) as registered.
- Cloud PCs / Dev Boxes (deviceType cloudPC, per-device lookup) are left out
of the BitLocker and Autopilot tabs.
- Every tab gets a banner describing what it checks.
- Noncompliant reasons use Intune admin-center names; "Is active" shows the
tenant's compliance status validity period.
- fix: Default Device Compliance Policy rules no longer show as "Unknown"
(Graph leaves `setting` empty; rule is in `settingName`).
- fix: application failure percentages were divided by 100 twice.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Autopilot lookup failures and composite identifiers can misclassify devices, and tenant validity state may persist across reports.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (2)
What changed in this PR
Updates Intune Anomalies 1.2.2 with Autopilot device-preparation handling, Cloud PC exclusions, clearer compliance reasons, tab banners, and corrected application percentages.
Changes:
- Adds corporate-identifier and Cloud PC detection.
- Improves compliance reason labels and validity-period display.
- Updates tests, documentation, release notes, and module version.
| File | Description |
|---|---|
Tests/Consistency.Tests.ps1 |
Adds compliance-name consistency tests. |
module/RKSolutions.psd1 |
Bumps version and release notes. |
module/Public/Get-IntuneAnomaliesReport.ps1 |
Excludes Cloud PCs and APv2 devices appropriately. |
module/Private/IntuneAnomalies.ps1 |
Adds device classification, friendly names, banners, and percentage fixes. |
module/Private/Get-RKSolutionsReportTemplate.ps1 |
Adds tab-intro styling. |
docs/CMDLET-REFERENCE.md |
Updates report description. |
CHANGELOG.md |
Documents 1.2.2 changes. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| # Autopilot device preparation (v2) associates devices via corporate identifiers | ||
| # ("Manufacturer,Model,Serial" or a bare serial) instead of a hardware hash. | ||
| $CorporateIdentifierSerials = [System.Collections.Generic.HashSet[string]]::new([System.StringComparer]::OrdinalIgnoreCase) | ||
| $CorporateIdentifiers = Invoke-GraphRequestWithPaging -Uri "https://graph.microsoft.com/beta/deviceManagement/importedDeviceIdentities" |
There was a problem hiding this comment.
Intentional. If the lookup fails, APv2 devices fall back to being listed, which is the pre-1.2.2 behaviour, so it fails open (more rows, never hidden ones). The existing Autopilot hash lookup uses the same helper with the same behaviour. Surfacing failures from Invoke-GraphRequestWithPaging is a module-wide change and out of scope here.
The friendly-name map is module-scoped, so a failed settings lookup could show the previous tenant's day count in the same session. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>


Summary
deviceType: cloudPC).No new Graph permissions.
Test plan
Invoke-Pester ./Tests/: 13/13 (2 new tests for the reason names)mainNote: the
deviceTypelookup adds one batched GET per device