Skip to content

Reduce device inventory memory usage - #21

Merged
PrzemyslawKlys merged 1 commit into
masterfrom
codex/device-inventory-scale
Aug 6, 2026
Merged

PrzemyslawKlys merged 1 commit into
masterfrom
codex/device-inventory-scale

Conversation

@PrzemyslawKlys

@PrzemyslawKlys PrzemyslawKlys commented Aug 5, 2026 •

Copy link
Copy Markdown
Member

Summary

  • stream Microsoft Entra and Intune device enumeration while buffering only normalized output
  • retain a compact Entra correlation cache instead of full Graph SDK objects
  • add an additive Get-MyDeviceIntune PropertySet contract with Full as the compatible default and Lifecycle for cleanup consumers
  • request only inventory fields used by the Autopilot correlation layer
  • keep Graph pagination failures fail-closed without partial output

Compatibility

Existing Get-MyDeviceIntune callers retain the default full Graph query and output shape. Lifecycle is opt-in and is available to CleanupMonster in the published GraphEssentials 0.0.57 release.

Scale evidence

A synthetic 100,000-device Get-MyDevice run retained all 100,000 output/cache records while reducing managed memory by 27.6% and peak working set by 23.5%.

PowerShell 7 and Windows PowerShell 5.1 regression suites pass.

@PrzemyslawKlys
PrzemyslawKlys merged commit 5ea2da4 into master Aug 6, 2026
2 checks passed
@PrzemyslawKlys
PrzemyslawKlys deleted the codex/device-inventory-scale branch August 6, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant