# 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 drei 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 | > 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. --- ## 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`