# Intune Manager — Hilfe Web-Frontend für Microsoft Intune. Lädt Apps und Gruppen aus deinem Tenant über Microsoft Graph und macht das Verwalten von Zuweisungen schneller als im Intune-Portal selbst. --- ## Schnellstart in 5 Schritten 1. **Verbinden** — oben rechts *Anmelden* klicken → Microsoft-Anmeldefenster bestätigen. 2. **Tab wählen** — Topbar: *App Management* (Standard), *Group Management* oder *App Report*. 3. **Empfänger wählen** (App Management) — linke Spalte: Abteilung, RPA oder Benutzer markieren. 4. **Zuweisung sammeln** — bei einer App auf **Available** oder **Required** klicken. 5. **Ausführen** — rechts unten *Zuweisungen ausführen*. HTML-Report öffnet sich automatisch. --- ## Navigation Der Header enthält diese Tabs: | Tab | Funktion | |---|---| | **App Management** | Haupt-Workflow: Apps laden, Gruppen zuweisen und entfernen | | **Group Management** | Mitglieder anzeigen, exportieren, hinzufügen, CSV-Import | | **App Report** | Installationszähler pro App, Geräte-Export als CSV | | **Geräte** | Geräte suchen/filtern, Verwaltungsart (Intune/Co-Managed), Detail-Panel, Aktionen, Bulk-Offboarding | | **Policies** | Policies exportieren/importieren, konsolidieren, **Gruppen zuweisen (Bulk)**, Git-Snapshot | | **Offboarding** | Geräte über Intune + Autopilot + Entra entfernen, Recovery-Keys sichern | > Im **Read-Only-Modus** (Fallback auf eingeschränkte App-ID) sind die Tabs *Benutzer hinzufügen* und *CSV-Import* ausgeblendet. Alle Schreib-Buttons verschwinden automatisch. --- ## App Management — der Hauptworkflow ### Das mentale Modell Das Tool ändert **nicht die App-Zuweisungen selbst** — die Liste der Available/Required-Gruppen einer App bleibt unverändert. Stattdessen ändert es die **Mitgliedschaften in genau diesen Gruppen**. Beispiel: - App *Beispiel-App* hat die Required-Gruppe `intune-win-app--required` zugewiesen. - Du wählst links die Abteilung `-team-controlling`. - Klick auf die *Required*-Pille → Operation wandert in die Session. - Beim Ausführen wird `-team-controlling` als Mitglied in der Required-Gruppe aufgenommen. - Intune zieht beim nächsten Sync alle Mitglieder als Required-Targets. ### Schritt-für-Schritt 1. **Empfänger markieren** (linke Spalte) — Modi mischbar: Abteilungen + RPA + Benutzer gleichzeitig. Die *Pinned-Targets*-Leiste zeigt alles Aktive. 2. **Apps durchgehen** (mittlere Spalte) — Filter oder Suchfeld nutzen. 3. **Available- oder Required-Button klicken**: - *Eine Gruppe*: Empfänger direkt zur Session hinzufügen. - *Mehrere Gruppen* (Count-Badge): Picker öffnet sich. - *Keine Gruppe* dieses Typs: Button deaktiviert. 4. **Session prüfen** (rechte Spalte) — alle gesammelten Vorgänge als Vorschau. 5. **Ausführen** — rechts unten. Report öffnet automatisch. ### Pillen-Farben | Optik | Bedeutung | |---|---| | Neutral | Standard — kein Empfänger gewählt oder noch nicht geprüft | | **Grüner Rahmen + Häkchen** | Alle Empfänger bereits Mitglied | | **Gelber Rahmen + halbes Häkchen** | Teilweise Mitglied | | **Schwarz gefüllt + Count-Badge** | Aktiv in der Session (Toggle: erneuter Klick entfernt) | | Kursiv, ausgegraut | Nur native Zuweisung (All Users/Devices) — keine Gruppe änderbar | ### Gruppen aus App entfernen (−R / −A) Jede App-Zeile zeigt rechts **−R** (Required entfernen) und **−A** (Available entfernen). - Klick auf −R / −A → Picker mit allen Gruppen dieses Typs → Gruppe auswählen → sofortiges Löschen der Zuweisung (nach Bestätigung). - Bei nativen Zuweisungen (All Users/All Devices) erscheint stattdessen der Mülleimer-Icon direkt im Detail-Panel. ### Plus-Button — Zuweisung hinzufügen Modal mit 6 Optionen: **REQUIRED** — Neue Gruppe / All Users / All Devices **AVAILABLE** — Neue Gruppe / All Users / All Devices Bereits aktive native Kombinationen werden **ausgegraut** (verhindert Duplikate). ### Die Session (rechte Spalte) Pro Eintrag: App-Name + Gruppen-Name + Empfänger-Tag + A/R-Badge + X-Entfernen. Darunter Gesamtzahl — der Apply-Button zeigt diese Zahl. ### Ausführen und Report - Member-Add pro Session-Eintrag - Native Targets werden übersprungen - Bereits-Mitglied = „OK" — kein Fehler - HTML-Report in `%TEMP%\IntuneAppManager-Reports\` --- ## Group Management ### Mitglieder & Export - Gruppe links suchen und auswählen - Mitgliederliste inkl. verschachtelter Gruppen - Filter zum Einschränken der Anzeige - **Als CSV exportieren** → `members--.csv` ### Benutzer hinzufügen *(nur Read/Write)* - Benutzer per Name, UPN oder E-Mail suchen - Mehrere auswählen und gemeinsam zur gewählten Gruppe hinzufügen ### CSV-Import *(nur Read/Write)* Massenimport von Benutzern per CSV-Datei oder direkter Eingabe. **Ablauf:** 1. Gruppe links auswählen 2. CSV hochladen **oder** UPNs/E-Mails einfügen (eine pro Zeile) 3. **„Benutzer auflösen"** → Graph-Lookup → Vorschau mit ✓/✗ 4. **„Gefundene importieren"** → Benutzer werden zur Gruppe hinzugefügt **CSV-Format:** Header-Erkennung für `UserPrincipalName`, `Mail`, `Email`, `UPN`. Ohne Header: erste Spalte mit `@` wird verwendet. Quoted fields und `,`/`;`/Tab als Trennzeichen werden unterstützt. **Ergebnis-Banner nach Import:** | Chip | Bedeutung | |---|---| | ✔ Grün | Erfolgreich hinzugefügt | | ≈ Gelb | Bereits Mitglied | | ✗ Rot | Fehler (Meldung in der Tabelle) | | Grau | UPN in Graph nicht gefunden | --- ## App Report - **Neu laden** — lädt Installationszähler für alle Apps (kann 1–2 Min. dauern) - Tabelle sortierbar per Klick auf Spaltenheader (▲/▼) - Suchfeld filtert nach Name, Publisher, Typ - **Als CSV exportieren** — exportiert die gefilterte Tabelle - **Geräte-Export** (Button pro Zeile) — lädt alle Geräte mit Installationsstatus für diese App als CSV > Zählwerte erfordern die Berechtigung `DeviceManagementManagedDevices.Read.All` in der Azure App-Registration. Fehlt sie, zeigen alle Spalten 0. --- ## Geräte Geräte des Tenants suchen, filtern und verwalten. - **Suche & Filter** — Freitext (Gerätename, Benutzer, UPN, Seriennummer), OS- und Compliance-Filter. Zusätzlich lässt sich nach **Gruppe** filtern (alle Geräte der Gruppenmitglieder). - **Spalte „Verwaltung"** — zeigt je Gerät, ob es **Intune** (reines MDM) oder **Co-Managed** (ConfigMgr + Intune) ist. Sortierbar, auch im CSV-Export enthalten. - **Detail-Panel** (Klick auf eine Zeile) — Benutzer, OS, Compliance, Speicher, Seriennummer, Join-/Besitzertyp und der **Autopilot-Status** (registriert, Profil zugewiesen am, letzter Kontakt). Ein exaktes Autopilot-Importdatum liefert Microsoft Graph nicht — angezeigt werden die verfügbaren Zeitstempel. - **Geräte-Aktionen** *(nur Read/Write)* — Sync, Neustart, Remote-Lock, Diagnose, BitLocker-Key-Rotation sowie Wipe / Retire / Autopilot-Reset (Letztere brauchen `…PrivilegedOperations.All`). - **CSV-Export** — die aktuell gefilterte Liste als CSV. - **Bulk-Offboarding** — Geräte per Checkbox wählen und über **„Offboarden"** direkt in den Offboarding-Dialog übergeben. --- ## Policies Intune-Policies verwalten: Settings Catalog, Compliance, Konfigurationsprofile und Administrative Vorlagen. - **Neu laden** — lädt alle vier Typen. Tabelle sortier-/durchsuchbar, Typ-Filter oben. - **Spalte „Zuweisungen"** — zeigt die Anzahl der Ziele je Policy; Klick öffnet die Detail-Ansicht mit den konkreten Include-/Exclude-Gruppen bzw. „Alle Geräte / Alle Benutzer". - **Export** — ausgewählte Policies als JSON (einzeln oder gebündelt); zusätzlich im Server-Archiv abgelegt. - **Import** *(nur Read/Write)* — legt Policies **immer als neue Policy** an (nichts wird überschrieben). Nach dem Import kann optional pro Policy zugewiesen werden. - **Konsolidieren** *(nur Read/Write, nur Settings Catalog)* — mehrere Settings-Catalog-Policies zu einer neuen zusammenführen; Konflikte werden pro Einstellung aufgelöst. - **Gruppen zuweisen (Bulk)** *(nur Read/Write)* — siehe unten. - **Git-Snapshot** — alle Policies als JSON in einen konfigurierten lokalen Git-Ordner schreiben und committen (versioniertes Backup). ### Gruppen zuweisen (Bulk) Weist mehreren ausgewählten Policies **in einem Schritt** dieselben Gruppen zu — auch typübergreifend. 1. Eine oder mehrere Policies anhaken → Button **„Gruppen zuweisen"**. 2. Im Dialog **Include-/Exclude-Gruppen** wählen; zusätzlich die integrierten Ziele **Alle Geräte** und **Alle Benutzer**. 3. **Modus** wählen: - **Hinzufügen** (Default) — bestehende Zuweisungen bleiben erhalten, die Auswahl kommt hinzu. - **Ersetzen** — alle bisherigen Zuweisungen werden durch die Auswahl ersetzt. 4. **Zuweisen** — das Ergebnis wird pro Policy (Erfolg / übersprungen / Fehler) angezeigt. > Hintergrund: Die Graph-`/assign`-Action ersetzt immer die komplette Zuweisungsliste. Der Hinzufügen-Modus liest deshalb die bestehenden Zuweisungen zuerst aus und sendet sie zusammen mit den neuen — ist das Auslesen nicht möglich, wird die Policy übersprungen statt versehentlich überschrieben. --- ## Offboarding Geräte am Ende ihres Lebenszyklus sauber über alle Dienste entfernen. - **Suche** — nach Gerätename oder Seriennummer. Durchsucht **Intune und Autopilot** — reine Autopilot-Geräte (registriert, aber nicht in Intune enrolled) werden also ebenfalls gefunden. - Pro Treffer zeigen Badges, in welchen Diensten das Gerät vorhanden ist: **Intune**, **Entra**, **Autopilot** (und **Co-Mgmt**). - **Recovery-Keys sichern** — vor dem Löschen lassen sich BitLocker-Keys und LAPS-Passwörter auslesen (`BitlockerKey.Read.All` / `DeviceLocalCredential.Read.All`). - **Offboarden** — löscht pro Gerät wahlweise aus Intune, Autopilot und Entra (Entra: löschen oder nur deaktivieren). Nach dem Ausführen öffnet sich ein **HTML-Report** mit dem Ergebnis pro Gerät. > **Wichtig:** Das Löschen benötigt bei delegierter Anmeldung zusätzlich passende Verzeichnis-/Intune-**Rollen** (z. B. Cloud Device Administrator / Intune Administrator) — die Graph-Scopes allein reichen nicht. --- ## Header | Element | Funktion | |---|---| | **Logo** | Kann in den Einstellungen durch eigenes Firmenlogo ersetzt werden | | **App Management / Group Management / App Report** | Haupt-Navigation | | **Einstellungen** (Zahnrad) | Tenant/Client-ID, Naming, Farben, Logo | | **Hilfe** (Fragezeichen) | Diese Seite | | **Theme-Toggle** | Light/Dark-Mode — wird im LocalStorage gemerkt | | **Avatar** | Angemeldeter Account — Mouseover zeigt vollen UPN; grüner Punkt = verbunden | | **Logout** | Trennt die Graph-Verbindung | --- ## Read-Only-Modus Ist nur eine Read-Only-App-ID konfiguriert (oder schlägt die RW-Anmeldung fehl), schaltet das Tool automatisch in den **Read-Only-Modus**: - Toast-Meldung „(Read Only)" beim Verbinden - Alle Schreib-Buttons/Tabs werden ausgeblendet (`body.read-only`-CSS-Klasse) - Sichtbar bleibt: App-Liste, Mitglieder-Ansicht, Export-Funktionen, App Report --- ## Linke Spalte — Empfänger Drei Modi via Segment-Switch: - **Abteilung** — Gruppen mit konfigurierten Präfixen (mehrere möglich) - **RPA** — explizit in den Einstellungen gelistete Gruppen - **Benutzer** — Live-Suche über Graph (min. 2 Zeichen) **Gruppen aufklappen** → Mitglieder inline → *Benutzer übernehmen* in den User-Modus. **Icons pro Eintrag:** | Icon | Wirkung | |---|---| | Externer Link | Gruppe/User im Intune-Portal öffnen | | Zwei Personen | Mitglieder-Ansicht im Intune-Portal | | Teams-T | Direkt-Chat starten (Teams-Desktop) | --- ## Mittlere Spalte — Apps ### Filter | Filter | Zweck | |---|---| | Suchfeld | Volltext im App-Namen | | Dropdown | Preset: Alle / Ohne Zuweisungen / Nur Available / Nur Required / Mehrere / All Users / All Devices / Intune / pro Vendor | | Bereits Gruppenmitglied | Nur Apps wo Empfänger schon Mitglied ist | | All Users/Devices ausblenden | Native Zuweisungen rausnehmen | | Geändert (Datumsrange) | Nach Last-Modified-Datum filtern | ### App-Zeile 1. Status-Indikator (Häkchen) 2. App-Name + Hersteller → Klick öffnet Detail-Panel 3. Rename-Icon (Stift) / Lock bei Vendor-Apps 4. Source-Logo (Intune, PatchMyPC, Robopack, …) 5. Typ-Chip 6. Version 7. **Available**- und **Required**-Buttons mit Count 8. **−R** (Required-Gruppe entfernen) und **−A** (Available-Gruppe entfernen) 9. **Plus-Button** — Zuweisung hinzufügen 10. **Delete-Icon** — App löschen (bei Vendor-Apps: Lock) --- ## App-Detail (Klick auf App-Namen) | Sektion | Inhalt | |---|---| | Zuweisungen | Available + Required mit Aktionen (Link, Mitglieder, Löschen) | | Allgemein | Hersteller, Version, Typ, Min-OS | | Beschreibung | Markdown-gerendert | | Installation | Datei, Install-/Uninstall-Befehl (Copy-Icon) | | Detection | Registry, Datei, MSI-Code, PowerShell | | Return-Codes | Exit-Codes mit Typ | | Meta | Erstellt + Geändert | | Installationen | Geräte + Benutzer × Installiert/Fehler/Pending/N/A mit Erfolgsquote | | Abhängigkeiten | SVG-Flow-Diagramm + Klartext; Klick auf Knoten springt zur Ziel-App | | Supersedence | Was diese App ersetzt (update / replace) | --- ## Einstellungen Persistiert in `%APPDATA%\IntuneAppManager-Web\settings.json`. | Sektion | Inhalt | |---|---| | Verbindung | Tenant-ID, Client-ID (RW), Client-ID (RO), Scopes RW + RO | | Abteilungs-Gruppen | Präfixe (eine pro Zeile) | | RPA-Gruppen | Explizite Gruppennamen | | Benutzer-Suche | Felder (DisplayName / UPN / Mail / Department) | | Required-Naming | Präfix + Suffix | | Available-Naming | Präfix + Suffix | | Branding | Logo-Upload (PNG/JPG/SVG/WEBP/GIF, max. 2 MB) | | Farben | 8 Akzentfarben + Standardfarben wiederherstellen | --- ## Benötigte Graph-Berechtigungen | Funktion | Berechtigung | |---|---| | Apps anzeigen | `DeviceManagementApps.Read.All` | | Gruppen / Mitglieder anzeigen | `GroupMember.Read.All` | | Benutzer suchen | `User.Read.All` | | Zuweisungen ändern | `DeviceManagementApps.ReadWrite.All` | | Gruppen-Mitglieder ändern | `GroupMember.ReadWrite.All` | | App Report / Geräte-Export | `DeviceManagementManagedDevices.Read.All` ⚠ | > ⚠ Ohne `DeviceManagementManagedDevices.Read.All` zeigt der App Report 0 und der Geräte-Export liefert leere Dateien. --- ## Wichtige Einschränkungen - **Vendor-Apps** (PatchMyPC, Robopack, …) können nicht gelöscht/umbenannt werden — Lock-Icon + HTTP 409. - **Native Zuweisungen** (All Users / All Devices) sind je App und Intent einzigartig — Duplikate werden ausgegraut. - **Required-Zuweisungen** werden beim nächsten Geräte-Sync erzwungen — bei Produktiv-Apps zuerst Available testen. - **App-Löschung** ist irreversibel und entfernt alle Zuweisungen. - **Cache**: Apps und Gruppen werden im PowerShell-Prozess gehalten — Refresh-Icon lädt neu. --- ## Vendor-Erkennung Das Tool erkennt Vendor-Apps (PatchMyPC, Robopack, …) per konfigurierbaren Detection-Regeln in `settings.json → vendors[]`: | Feld | Optionen | |---|---| | `field` | `commandLine`, `developer`, `publisher`, `displayName`, `notes`, `owner` | | `match` | `contains`, `equals`, `startsWith`, `regex` | | `pattern` | Suchstring oder Regex | Erster Match gewinnt. Eigene Vendoren: neuen Eintrag im `vendors[]`-Array, Logo als `.png` im Projekt-Root ablegen. --- ## Setup-Datei aktualisieren Native Win32-Apps (`.intunewin`) können mit einer neuen Setup-Datei aktualisiert werden ohne die App neu anzulegen. **Wo:** App-Detail → Abschnitt *Setup-Datei* → *Setup-Datei aktualisieren…* **Ablauf:** lokalen Pfad auf dem Server-Rechner eingeben → optionale neue Versionsnummer → Bestätigung → *Hochladen & aktivieren* > **Achtung:** Ersetzt die ausgerollte Version für alle zugewiesenen Geräte. Nicht rückgängig machbar — zuerst an einer Test-App ausprobieren. --- ## Tastatur / Tipps - **Ctrl+F5** — Hard-Refresh (Pflicht nach Tool-Updates) - **Esc** — Modal schließen - **Enter** im Umbenennen-Dialog — speichern - **Klick auf App-Zeile** außerhalb Buttons — Detail öffnen/schließen --- ## Fehlerbehebung | Symptom | Lösung | |---|---| | „User canceled authentication" | WAM-Fenster ist hinter anderen Fenstern — in Taskleiste suchen | | Apps laden sehr lange | Bei > 1000 Apps normal (10–30 s); danach gecached | | Änderungen wirken nicht | **Ctrl+F5** (Browser-Cache) | | App Report zeigt nur 0 | `DeviceManagementManagedDevices.Read.All` fehlt in der App-Registration | | Geräte-Export ist leer | Gleiche Ursache wie App Report | | Read-Only-Modus obwohl RW gewünscht | RW-Anmeldung fehlgeschlagen — Berechtigungen in Azure prüfen | | Port-Konflikt beim Start | `.\Start.ps1 -Port 8088` | | PowerShell-Errors beim Start | `Install-Module Microsoft.Graph.Authentication -Scope CurrentUser -Force` | | Apply-Button bleibt grau | 0 Vorgänge in der Session oder nur native Targets | --- Stand: Juli 2026 · Hilfe-Datei: `www/help.md` · Änderungshistorie: `CHANGELOG.md`