Files
wendeIT-scripting/Intune/Intune-App-Manager-Web/README.md
T
2026-06-17 07:40:52 +02:00

5.4 KiB
Raw Blame History

Intune App-Manager – Web Edition

Modernes Web-Frontend fuer den Intune App-Zuweisungs-Manager. PowerShell startet einen lokalen HTTP-Server, der das Frontend ausliefert und die Microsoft Graph-Aufrufe ausfuehrt.

Voraussetzungen

  • Windows mit PowerShell 5.1 oder PowerShell 7+
  • Modul Microsoft.Graph.Authentication (wird beim ersten Connect benoetigt):
    Install-Module Microsoft.Graph.Authentication -Scope CurrentUser -Force
    
  • Browser (Edge, Chrome, Firefox)

Start

cd "c:\Temp\claude.code\Intune App Management\Intune-App-Manager-Web"
.\Start.ps1

Optionen:

Parameter Standard Beschreibung
-Port 8077 Port des lokalen HTTP-Servers
-TenantId (HanseMerkur Default) Microsoft Entra Tenant-ID
-ClientId (HanseMerkur Default) App-Registrierung Client-ID
-NoBrowser aus Browser nicht automatisch oeffnen

Beispiele:

.\Start.ps1 -Port 8088
.\Start.ps1 -TenantId "..." -ClientId "..."
.\Start.ps1 -NoBrowser

Beenden: Ctrl+C im Terminal.

Workflow

  1. Verbinden – oben rechts klicken; Microsoft Login-Fenster oeffnet sich.
  2. Modus waehlen: Abteilungen / RPA-Gruppen / Einzel-User.
  3. Ziele laden – ueber "Laden" (User: in Suchfeld tippen).
  4. Ziele markieren mit Checkboxen.
  5. Apps laden – ueber "Laden" rechts neben "Apps".
  6. Pillen klicken – jede gruene Pille bei einer App ist eine zugewiesene Gruppe. Klick = "Ausgewaehlte Ziele dieser Gruppe hinzufuegen". Erneuter Klick = entfernen.
  7. Required-Gruppe erstellen – falls noetig, ueber "+ Required-Gruppe" bei der App.
  8. Session pruefen – rechts werden alle geplanten Operationen aufgelistet.
  9. Ausfuehren – gruener Button rechts unten. HTML-Report erscheint automatisch nach Abschluss.

Pillen-Farben (App-Zeile)

Farbe Bedeutung
Grau Gruppe ist der App zugewiesen, Ziele sind keine Mitglieder
Gruen Alle ausgewaehlten Ziele sind bereits Mitglied
Gelb Einige Ziele sind Mitglied (Partial)
Cyan Native Target (All Users / All Devices) – nicht aenderbar
Blau Aktuell zur Session hinzugefuegt
Gestrichelt "+ Required-Gruppe" Button

Architektur

Intune-App-Manager-Web/
├── Start.ps1                  Entry Point
├── README.md                  diese Datei
├── src/
│   ├── Models.ps1             Hilfen / Datenklassen
│   ├── Graph.ps1              Microsoft Graph API Helpers
│   ├── Server.ps1             HTTP-Server (HttpListener)
│   ├── Router.ps1             Request-Routing
│   └── Api.ps1                REST-API-Endpoints
└── www/
    ├── index.html             SPA-Shell
    ├── styles.css             Modernes Dark Theme
    └── app.js                 Frontend-Logik (Vanilla JS)

Reports werden in %TEMP%\IntuneAppManager-Reports\ gespeichert und sind ueber http://localhost:<port>/reports/<datei>.html erreichbar.

REST-API (intern)

Methode Pfad Zweck
GET /api/status Verbindungsstatus
POST /api/connect Microsoft Graph verbinden
POST /api/disconnect Trennen
GET /api/groups Abteilungs-Gruppen (abt-hm-*)
GET /api/groups/rpa 3 vordefinierte RPA-Gruppen
POST /api/groups Neue Required-Gruppe erstellen
POST /api/groups/check Gruppen-Name pruefen
GET /api/groups/{id}/members Mitglieder einer Gruppe
GET /api/users?q=... User suchen
GET /api/apps Apps laden (cached)
GET /api/apps?refresh=true Apps neu laden
GET /api/membership?targets=...&groupId=... Mitgliedschafts-Status pruefen
POST /api/assignments/apply Geplante Zuweisungen ausfuehren

Hinweise

  • Single-User-App – der lokale HTTP-Server nimmt nur eine Verbindung zur Zeit zuverlaessig an. Den Browser-Tab bitte einzeln halten.
  • Auth lebt im PowerShell-Prozess – Disconnect oder Schliessen des Terminals beendet die Session.
  • Cache – Apps werden im Server-Prozess gecached (Refresh-Knopf zum Neuladen). Membership-Cache wird bei Aenderung der Ziel-Auswahl geleert.