IntuneCompanion

Active

Microsoft Intune Companion — PWA for managing devices, apps and groups right in the browser

Intune Companion

Progressive web app for managing Intune devices, apps and groups — right in the browser, nothing to install.

Features

  • Devices — list with compliance status, search and filters; details with remote actions (sync, lock, reboot, retire), macOS custom attributes and LAPS password
  • Apps — overview with platform filter; assignment details and automatic creation of uninstall groups
  • Group search — shows where a group is used across apps, configurations, compliance policies, update rings, scripts and Autopilot profiles
  • PWA — installable, Graph API responses cached for 5 minutes

Architecture

flowchart LR
    subgraph github ["GitHub"]
        direction TB
        PR["Pull Request"] -->|"CI: Lint + Build"| MAIN["main"]
        MAIN -->|"auto-deploy"| DEV_SWA
        REL["Release PR\nrelease-please"] -->|"merge → tag vX.Y.Z"| PROD_SWA
    end

    subgraph azure_dev ["Azure — Dev Tenant"]
        DEV_SWA["Static Web App\nDevelopment"]
    end

    subgraph azure_prod ["Azure — Prod Tenant"]
        PROD_SWA["Static Web App\nProduction"]
    end

    subgraph runtime ["Browser"]
        PWA["Intune Companion\nPWA"]
    end

    DEV_SWA & PROD_SWA -->|"serves"| PWA
    PWA <-->|"MSAL / OAuth 2.0"| ENTRA["Entra ID"]
    PWA -->|"Delegated API Calls"| GRAPH["Microsoft Graph API\nIntune · Apps · Groups"]

Quickstart (local)

npm install
npm run dev   # → http://localhost:5173

For the full setup (app registration, Azure Static Web App, CI/CD) → CONTRIBUTING.md

Tech stack

Frontend React 19, TypeScript 5.9 strict, Vite 8
UI Fluent UI v9, servoIT branding
Auth MSAL (@azure/msal-browser + @azure/msal-react)
Data Microsoft Graph API v1.0 + beta
PWA vite-plugin-pwa, Workbox
Hosting Azure Static Web Apps
CI/CD GitHub Actions, release-please