Intune Manager – Web Edition
Modernes Web-Frontend fuer den Intune 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
- Verbinden – oben rechts klicken; Microsoft Login-Fenster oeffnet sich.
- Modus waehlen: Abteilungen / RPA-Gruppen / Einzel-User.
- Ziele laden – ueber "Laden" (User: in Suchfeld tippen).
- Ziele markieren mit Checkboxen.
- Apps laden – ueber "Laden" rechts neben "Apps".
- Pillen klicken – jede gruene Pille bei einer App ist eine zugewiesene Gruppe. Klick = "Ausgewaehlte Ziele dieser Gruppe hinzufuegen". Erneuter Klick = entfernen.
- Required-Gruppe erstellen – falls noetig, ueber "+ Required-Gruppe" bei der App.
- Session pruefen – rechts werden alle geplanten Operationen aufgelistet.
- 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.