Skip to content

DanStutz/IntuneComplianceReport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IntuneComplianceReport

PowerShell module repository for exporting Microsoft Intune device compliance reports through the public command Export-IntuneDeviceComplianceReport.

The product contract lives in docs/spec/requirements.md. That specification is the authoritative source for required behavior, supported PowerShell versions, target layout, and test expectations.

Current Status

This repository has been initialized from franklesniak/copilot-repo-template and tailored for the IntuneComplianceReport module. The module source is implemented under the target product layout:

  • src/IntuneComplianceReport/IntuneComplianceReport.psd1
  • src/IntuneComplianceReport/IntuneComplianceReport.psm1
  • src/IntuneComplianceReport/Public/Export-IntuneDeviceComplianceReport.ps1
  • src/IntuneComplianceReport/Private/
  • tests/PowerShell/

Development

Install Node.js dependencies for Markdown validation:

npm install

Install pre-commit with your preferred Python tooling:

pip install pre-commit
pre-commit install

Use the Python command available on your system for repository tooling. On Windows this may be py -3; on other systems it is commonly python or python3.

Build a staged module artifact:

.\scripts\Invoke-IntuneComplianceReportModuleBuild.ps1 -Clean

The build preserves the source module layout and writes artifacts/module/IntuneComplianceReport. It validates the staged manifest and verifies that the staged module exports only Export-IntuneDeviceComplianceReport.

Validation

Run the aggregate gate before committing:

pre-commit run --all-files

Useful targeted checks:

npm run lint:md
npm run lint:md:links
npm run lint:md:nested
Invoke-Pester -Path tests/ -Output Detailed
.\scripts\Invoke-IntuneComplianceReportModuleBuild.ps1 -Clean

When template-sync support or retained repository-tooling Python changes:

python .template-sync/scripts/validate_downstream_adoption.py --require-marker
python .template-sync/scripts/report_excluded_module_references.py
python -m pytest -m "not upstream_template_only"

Repository Tooling

Retained tooling includes:

  • GitHub Actions for pre-commit, data-file, Markdown, PowerShell, and repository-tooling validation.
  • Markdown linting and local Markdown link checks.
  • YAML parsing/style checks for retained workflows and configuration.
  • Strict JSON syntax checks for repository JSON and future Microsoft Graph test fixtures.
  • Template-sync support for future upstream template reviews.
  • Python only for retained repository helper scripts and template-sync automation, not product source.

Security

Do not open a public GitHub issue for security concerns. Report security concerns privately using the contact information on the public GitHub profile pages for the repository maintainers.

License

This project is licensed under the MIT License. See LICENSE.

About

PowerShell module that exports Microsoft Intune device compliance to a wide CSV via Microsoft Graph: one row per managed device, a policy-qualified column per compliance setting, and a collection-status column. Read-only, with throttling-aware retries and full paging. Runs on Windows PowerShell 5.1 and PowerShell 7.4-7.6.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors