Tenants: Tenant anlegen/öffnen → tenant_id, app_client_id, app_client_secret setzen → Make current (wichtig). Inventory → Policies: oben Sync from Intune. In der Tabelle nach Type = “Driver Updates (Windows)” (windowsDriverUpdateProfile) filtern und Policy öffnen. Auf der Policy: Settings-Tab prüfen (Block „Driver Update Profile“), dann Capture snapshot klicken und unter Versions die Version ansehen. Restore-Test (nur im Test-Tenant!): Version öffnen → Restore to Intune erst als Dry-run, dann Execute; danach unter Backups & Restore → Restore Runs Ergebnis prüfen (soll graph_path mit deviceManagement/windowsDriverUpdateProfiles/... zeigen). Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #27
25 lines
1.4 KiB
Markdown
25 lines
1.4 KiB
Markdown
# Plan: Driver Updates (WUfB Add-on) (018)
|
|
|
|
**Branch**: `feat/018-driver-updates-wufb`
|
|
**Date**: 2026-01-03
|
|
**Input**: [spec.md](./spec.md)
|
|
|
|
## Goal
|
|
Add first-class support for Windows Driver Update profiles (`windowsDriverUpdateProfile`) across inventory, backup/version snapshots, restore (preview + execution), and normalized display.
|
|
|
|
## Approach
|
|
1. Confirm Graph API details for driver update profiles (resource path, `@odata.type`, patchable properties, assignment endpoints).
|
|
2. Add type metadata to `config/tenantpilot.php` (category, endpoint, backup/restore mode, risk).
|
|
3. Add Graph contract entry in `config/graph_contracts.php` (resource, type family, create/update methods, assignments).
|
|
4. Ensure sync lists and stores these policies (config-driven loop) and add a targeted sync test.
|
|
5. Ensure snapshots capture the complete payload and add tests for version/backup capture.
|
|
6. Implement restore apply via contract-driven sanitization; add failure-safe behavior and tests.
|
|
7. Add a normalizer for readable UI output; add tests for normalized display.
|
|
8. Run Pint and targeted tests.
|
|
|
|
## Decisions / Notes
|
|
- Default to contract-driven restore semantics; avoid bespoke Graph calls unless strictly required.
|
|
- If Graph rejects PATCH due to read-only fields, extend `update_strip_keys` for this type (do not loosen safety).
|
|
- Keep restore risk high; require clear preview and audit trail.
|
|
|