- Bulk-Offboarding aus dem Geraete-Tab (Checkboxen + Alle, POST /api/offboard/resolve)
- Fix "Geraete konnten nicht geladen werden" (400): managementState raus dem $select,
$orderby entfernt, Namensfilter-Fallback auf deviceName, beta-Endpoint
- Bessere Graph-Fehler-Diagnose (Graph-Body an die Meldung anhaengen)
- Offboard: Grund fuer nicht gefundene Autopilot-Zuordnung sichtbar (autopilotNote)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Policies zusammenfuehren (Settings Catalog -> eine neue Policy, Konfliktaufloesung)
- Geraete-Tab: Gruppen-Filter (Live-Suche) + CSV-Export der angezeigten Liste
- Group Management: bestehende Gruppen als Mitglied hinzufuegen (verschachtelt)
- Fix: Geraete "Invalid Date" (ISO-Normalisierung) + Datums-/Spalten-Sortierung
- Doku (README/CHANGELOG) + Version-Bump 0.1.31
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Bulk-Import von Policies (Batches + Fortschritt, Fehler-Isolierung)
- Export/Import-Treue via Raw-JSON (-OutputType Json), null-Collections-Strip,
Settings-Catalog-Reparatur + Korruptions-Erkennung, Git-Resolver
- macOS-Apps in Liste/Suche + Plattform-Filter
- "Gruppe"-Tab durchsucht alle Gruppen (Live-Suche) statt nur Praefix-Gruppen
- Bestehende Gruppe(n) direkt an Apps zuweisen inkl. Mehrfachauswahl
- Fix: Add-GraphAppAssignment merged bestehende Zuweisungen (/assign ersetzt sonst
die komplette Liste) -> kein Ueberschreiben mehr, ein Request fuer alle Ziele
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Neu:
- Umbenennen beim Import: Policy-Name vor dem Anlegen anpassbar
(Dialog "Policies importieren"), richtiges Namensfeld je Typ
Behoben:
- Geraete-Export im App Report: entfernter sync-Endpoint
getDeviceInstallStatusReport (400) -> async Export-Job
DeviceInstallStatusByApp; ZIP/CSV-Logik in Get-IntuneReportRows
- Darkmode-Kontrast im Zuweisungs-Dialog (Theme-Variablen statt fester Farben)
- Dialog-Breite: lange Policy-Namen brechen um statt H-Scroll
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bei mehreren ausgewaehlten Policies wird jede als eigene JSON-Datei
heruntergeladen (statt einer gebuendelten Datei). 150ms Pause zwischen den
Downloads gegen verschluckte Browser-Downloads; Dateinamen bei gleichem
Anzeigenamen automatisch eindeutig. Import liest alte Bundles weiterhin.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Neuer Tab "Policies" zum Sichern und Wiederherstellen von Intune-Policies.
- Backend src/PolicyIO.ps1: typ-getrieben fuer configurationPolicies
(Settings Catalog), deviceCompliancePolicies und deviceConfigurations
- Export als JSON-Download (einzeln/Bundle) + Server-Archiv unter %APPDATA%
- Import per Datei-Upload, immer Neuanlage (nie ueberschreiben), robust fuer
Hashtable (PS7) und PSCustomObject (PS5.1); im Read-Only-Modus ausgeblendet
- Routen in src/Api.ps1; Config-Scope DeviceManagementConfiguration.* auch
nach Settings-Save sichergestellt
- Frontend: Tab + View, Suche/Typ-Filter/Sortierung, Auswahl, Download/Upload
- Version 0.1.25 (Start.ps1, CHANGELOG, README)
- build-local.ps1: x64-.NET-Runtime fuer wix auf ARM64-Windows + echter
Desktop-Pfad
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Suche ruft bei jeder Eingabe die API auf statt lokal zu filtern.
Seriennummer wird per exaktem eq-Filter parallel gesucht und mit
Namens-Treffern zusammengeführt (Graph unterstützt kein startswith
auf serialNumber).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wipe-Button mit eigenem Modal: Checkbox ob Benutzerdaten behalten werden
(keepUserData). Suchfeld auf max-width 600px vergrößert.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Windows Autopilot Reset via wipe mit keepEnrollmentData:true.
Button nur bei Windows-Geräten sichtbar, separate Warnmeldung.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Neuer Haupttab "Geräte" mit Geräteliste (filterbar nach OS/Compliance),
Detail-Panel mit vollständigen Gerätedaten und Aktions-Buttons:
Sync, Neustart, Sperren, Diagnose, BitLocker-Rotation, Retire.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Neuer Tab "Benutzer" im Group Management: Benutzer suchen und alle
Gruppen anzeigen, in denen dieser Mitglied ist (transitiveMemberOf).
Gruppen filterbar, mit Typ-Badge (Sicherheitsgruppe/M365/Verteiler).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- App Report: Zahlen per AppInstallStatusAggregate Export Job (ZIP/CSV)
- Geräte-Export: getDeviceInstallStatusReport statt deviceStatuses
- Benutzersuche: ConsistencyLevel+$count für Umlaut-Kompatibilität
- Gruppen: Mitglieder entfernen in modalMembers und Group Explorer (gex)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>