Benutzer, Rechte, Lizenzen und Protokolle
Dieses Dokument beschreibt, wer sich am Portal anmelden darf und was diese Person dort sieht, wie Geräte ohne Active Directory ins System kommen, wie ZeroPortal Lizenzen zählt und wo Sie nachlesen, wer wann was geändert hat. Alle Seiten liegen im Menü unter Globale Konfiguration. Verwandte Anleitungen: Administrationshandbuch, Geräte ohne Domäne (API-Key), MSIX-Pakete verteilen, Hochverfügbarkeit einrichten.
1. Was ist das?
ZeroPortal ist in neun Bereiche geteilt (Tabelle im Anhang). Je Bereich vergeben Sie eine Stufe: Keine, Lesen oder Verwalten. Wer Keine hat, sieht den Menüpunkt nicht und kann die Seite auch nicht über die Adresszeile öffnen. Stufen hängen an AD-Gruppen (empfohlen), AD-Konten, internen Konten mit Kennwort, registrierten Geräten und Benutzern ohne Domäne oder an Portalgruppen, die solche Mitglieder bündeln.
Über allem stehen die Voll-Administratoren: die im Konfigurationstool eingetragene AD-Gruppe und das optionale Notfallkonto. Sie dürfen immer alles, und nur sie verwalten Berechtigungen, Portalgruppen, interne Konten, Agent-Registrierung, Lizenzierung, Audit-Protokoll sowie Sicherung und Wiederherstellung.
Lizenzen werden gezählt, nicht erzwungen: 30 sind enthalten, weitere kommen per Lizenzdatei. Das Audit-Protokoll hält fest, wer wem was gegeben oder entzogen hat; Einträge werden nur angehängt, nie geändert oder gelöscht.
2. Wozu ist das gut?
- Der Servicedesk schaut, ändert aber nichts: Portalgruppe mit Lesen auf App-V, MSIX und Berichte. Paketierer bekommen Verwalten auf MSIX und App-V, Keine auf Konfiguration.
- Ein externer Dienstleister ohne AD-Konto bekommt ein internes Konto mit Kennwort; eine Filiale ohne Domäne registriert sich mit einem Rollout-Token. Beide werden danach wie jedes andere Mitglied berechtigt.
- Terminalserver kosten keine Gerätelizenzen: im Modus Pro Benutzer zählt jede Person einmal, ob am PC, am Session Host oder an beidem.
- „Wer hat dieser Person Zugriff auf dieses Paket gegeben?" beantwortet das Audit-Protokoll auch Monate später, mit dem Namen, den das Paket damals trug.
3. Wie nutze ich das?
Die Seiten Berechtigungen, Portalgruppen, Interne Konten, Agent-Registrierung, Lizenzierung und Audit-Protokoll sehen und öffnen nur Voll-Administratoren.
3.1 Voll-Administratoren festlegen
- Legen Sie in Active Directory eine Sicherheitsgruppe an, zum Beispiel
ZeroAdmins, und nehmen Sie die Administratoren auf.
- Tragen Sie die Gruppe im Konfigurationstool in Schritt 3 Admin Users unter Full Admins
ein (Form
DOMÄNE\Gruppe) und prüfen Sie sie mit Test in AD. Optional erhält eine zweite Gruppe unter ReadOnly Admins Lesen auf alle Bereiche.
- Beide Werte stehen in der
appsettings.jsondes Servers (Abschnitt AccessGroups). Nach einer Änderung dort starten Sie den Dienst ZeroPortal neu. - Daraus legt das Portal die Portalgruppen Portal administrators (Verwalten, alle
Bereiche, mit
RootUserals weiterem Mitglied) und Portal read-only (Lesen, alle Bereiche) an. Die Administratorgruppe wird bei jedem Dienststart geprüft und bei Bedarf neu angelegt. Die Lesegruppe entsteht nur einmal; wer sie löscht, bekommt sie nicht zurück.
Notfallkonto (Root). Für Portale ohne Active Directory oder als Rettungsweg: Erzeugen Sie
mit New-ZPRootPasswordHash (PowerShell-Modul ZeroPortal) einen Kennwort-Hash, tragen Sie
ihn in die appsettings.json ein und starten Sie den Dienst neu:
"RootUser": { "UserName": "root", "PasswordHash": "ZPH1:…" }
Das Konto meldet sich unter https://<portal>/Account/Login an, umgeht alle
Modulberechtigungen und existiert nur auf den Knoten, auf denen es eingetragen ist. Jede
Anmeldung steht im Audit-Protokoll. Nutzen Sie es nicht für die tägliche Arbeit.
3.2 Portalgruppe anlegen
Rechte und Paketzuweisungen vergeben Sie an Portalgruppen, nicht an einzelne Personen.
- Öffnen Sie Globale Konfiguration → Portalgruppen, tragen Sie Name und Beschreibung ein und klicken Sie auf Anlegen.
- Klicken Sie auf die Gruppe, dann auf Mitglied hinzufügen. Quellen: Active Directory (Gruppen und Benutzer), Interne Konten, API-Clients (registrierte Geräte und Benutzer ohne Domäne). Eine Portalgruppe kann keine andere Portalgruppe enthalten.
- Rechte vergeben Sie unter Berechtigungen (Abschnitt 3.3) oder direkt am MSIX-Paket (siehe MSIX-Pakete verteilen).
Deaktivieren setzt die Paketzuweisungen der Gruppe aus, die Mitglieder bleiben. Löschen entfernt Gruppe und Mitgliedschaften; Rechte, die nur über sie kamen, enden.
| Portalgruppe | Rechte | Mitglieder |
|---|---|---|
| Portal administrators | alles (Voll-Administratoren) | Firma\ZeroAdmins |
| Paketverwaltung | MSIX: Verwalten · App-V: Verwalten · Berichte: Lesen | Firma\SW-Paketierer |
| Servicedesk | MSIX: Lesen · App-V: Lesen · Berichte: Lesen | Firma\Helpdesk |
3.3 Bereiche und Stufen vergeben
- Öffnen Sie Globale Konfiguration → Berechtigungen, klicken Sie auf Hinzufügen und wählen Sie Quelle (AD, Intern, API-Client, Portalgruppe) und Prinzipal.
- Klicken Sie auf die neue Zeile. Im Dialog Rechte von … stellen Sie je Bereich (oder unter Alle Module) Keine, Lesen oder Verwalten ein und klicken auf Speichern. Die höhere Stufe gewinnt.
- Alle Rechte entfernen löscht die Zeile.
- Kontrollieren Sie das Ergebnis mit einem Testkonto, das nur in dieser Gruppe ist.
3.4 Internes Konto anlegen
Für Personen ohne Domänenkonto; Domänenbenutzer melden sich mit Windows-Authentifizierung an.
- Öffnen Sie Globale Konfiguration → Interne Konten, tragen Sie Benutzername, optional Anzeigename und Kennwort (mindestens 8 Zeichen) ein und klicken Sie auf Konto anlegen.
- Nehmen Sie das Konto in eine Portalgruppe auf oder berechtigen Sie es unter Berechtigungen (Quelle Intern).
- Die Person meldet sich unter
https://<portal>/Account/Loginan. Das Formular erscheint nur, wenn ein Notfallkonto oder ein aktives internes Konto existiert.
Je Konto: Kennwort setzen, aktivieren/deaktivieren, löschen (entfernt auch Mitgliedschaften und Berechtigungen). Ein internes Konto wird nie Voll-Administrator.
3.5 Gerät oder Benutzer ohne Domäne aufnehmen
Ohne Domäne erhält ein Rechner einen eigenen Schlüssel: Sie erzeugen ein befristetes Rollout-Token, das Gerät tauscht es beim ersten Abgleich gegen seinen dauerhaften Schlüssel.
- Öffnen Sie Globale Konfiguration → Agent-Registrierung und schalten Sie Schlüsselbasierter Zugang ein. Solange er aus ist, werden jede Registrierung und jeder bestehende Schlüssel abgewiesen.
- Tragen Sie in der Karte Rollout-Token einen Namen und Gültig (Tage) (Vorgabe 14, höchstens 365) ein und klicken Sie auf Anlegen. Der Dialog zeigt den Tokenwert und die Installationszeile:
msiexec /i ZeroPortalAgent.msi SERVER=https://portal.firma.de:8080 ENROLLTOKEN=zpe_… APPVSYNC=1 MSIXSYNC=1 POLICYSYNC=1
Bei einem selbstsignierten Zertifikat hängen Sie TRUSTCERT=1 an oder importieren das
Portalzertifikat auf dem Gerät. Für domänengebundene Geräte gibt es alternativ die
Gruppenrichtlinie ZeroPortal Agent → Authentifizierung → Registrierungstoken.
3. Beim ersten Abgleich erhält das Gerät einen Maschinenschlüssel, die angemeldete Person
beim Benutzerabgleich einen Benutzerschlüssel (benutzer@gerätename). Das Gerät erscheint
unter Bekannte Clients, die Person unter Bekannte Benutzer; diese Listen enthalten
alle Geräte und Personen, die sich gemeldet haben, und sind die Grundlage der Lizenzzählung.
4. Berechtigen Sie beide wie jedes andere Mitglied: in einer Portalgruppe (Quelle
API-Clients) oder direkt am MSIX-Paket. App-V-Zuweisungen nehmen nur AD-Gruppen an.
Wie es weitergeht, beschreibt Geräte ohne Domäne (API-Key).
| Was passiert | |
|---|---|
| Token schließen / wieder öffnen / Für 14 Tage wieder öffnen | Wert bleibt gleich, verteilte Installationszeilen laufen weiter. Tokenwert anzeigen geht nur auf dem Knoten, der das Token erzeugt hat |
| Token löschen | Bereits ausgegebene Schlüssel bleiben gültig |
| Client Umbenennen | Ihr Anzeigename wird vom Gerät nicht mehr überschrieben |
| Schlüssel deaktivieren | Zugang sofort gesperrt, Berechtigungen bleiben |
| Client und Schlüssel löschen | Eintrag, Schlüssel und Berechtigungen weg; mit gültigem Token registriert sich das Gerät beim nächsten Abgleich neu, ohne alte Zuweisungen |
3.6 Lizenzmodus wählen und Lizenzdatei einspielen
Öffnen Sie Globale Konfiguration → Lizenzierung. Oben stehen Gezählt, Benutzer (letzte 90 Tage) und Geräte (letzte 90 Tage); der Zählmodus entscheidet, welche Zahl zählt.
- Zählmodus wählen: Pro Benutzer (Vorgabe, für Terminalserver vorgesehen) oder Pro Gerät. Die Umstellung wirkt sofort auf allen Knoten.
- Lizenz hochladen und die Lizenzdatei des Herstellers auswählen. Das Portal prüft die Signatur; eine abgelehnte Datei wird nicht gespeichert, die Meldung nennt den Grund. Eine Datei mit bekannter Lizenznummer ersetzt den vorhandenen Eintrag.
- Die Liste Lizenzdateien zeigt Menge, Modus, Gültigkeit und Zustand (Aktiv, Abgelaufen, Noch nicht gültig, Nicht gezählt (anderer Modus)). Entfernen löscht die Datei aus dem Portal; bewahren Sie das Original auf.
3.7 Audit-Protokoll lesen
Öffnen Sie Globale Konfiguration → Audit-Protokoll. Die Tabelle zeigt Wann, Wer, Aktion, Ziel, Detail und Knoten, neueste Einträge zuerst; oben filtern Sie nach Aktion und Zeitraum (7, 30, 90 Tage, alles). Aufgezeichnet werden alle Änderungen an Rechten, Portalgruppen, Mitgliedschaften, MSIX-Zuweisungen, internen Konten, Agent-Registrierung, Lizenzen und Zählmodus, Anmeldungen des Notfallkontos, Sicherungen, die Audit-Einstellungen selbst sowie jede ausgelöste Systemmeldung. Das Ziel wird mit dem Namen zum Zeitpunkt der Änderung gespeichert. Hauptschalter und Aufbewahrung: siehe Anhang.
3.8 E-Mail-Benachrichtigungen einrichten
Unter Globale Konfiguration → Konfiguration, Abschnitt E-Mail-Benachrichtigungen: E-Mail-Benachrichtigungen aktivieren, SMTP-Server, Port, Absender- und Empfängeradressen eintragen (bei Bedarf Benutzer, Kennwort, SSL), speichern und Test-E-Mail senden. In der Tabelle Meldungen schalten Sie einzelne Meldungen ab. Wiederholsperren: Warnungen wiederholen nach (Stunden) (Vorgabe 168), Kritische Meldungen wiederholen nach (Stunden) (Vorgabe 1); 0 hebt die Sperre auf.
4. Regeln: wann wirkt was
Berechtigungen
- Die höchste Stufe gewinnt. Je Bereich gilt das Maximum aus allen Zeilen, die auf den Aufrufer zutreffen (eigene Zeile, AD-Gruppen, Portalgruppen, Alle Module). Es gibt keine Verbotsregeln; eine Portalgruppe kann Zugriff anheben, nie senken.
- Portaländerungen gelten ab dem nächsten Seitenaufruf. Eine geänderte AD-Gruppenmitgliedschaft wirkt erst, wenn sich die Person neu anmeldet.
- SID statt Name. Eine Umbenennung in Active Directory ändert nichts; eine gelöschte und neu angelegte Gruppe hat eine neue SID und muss neu aufgenommen werden.
- Der Maschinenschlüssel ist an das Gerät gebunden. Von einem anderen Rechner vorgezeigt, meldet das Portal API-Schlüssel von einem fremden Rechner benutzt. Der Benutzerschlüssel gehört der Person und darf sie auf andere Geräte begleiten.
Lizenzen
- Nur der ZeroPortal-Agent löst eine Lizenz aus. Wer App-V allein mit dem Microsoft-App-V-Client bezieht und das Portal nur als Publishing-Server nutzt, braucht keine Lizenz und wird nicht gezählt.
- 30 plus Datei. Lizenzdateien addieren sich zu den 30 enthaltenen Lizenzen und untereinander, solange sie zum eingestellten Modus passen; Dateien des anderen Modus bleiben gespeichert und zählen nicht. 30 Tage vor Ablauf einer Datei geht Lizenz läuft ab raus, ab dem Ablaufdatum zählt sie nicht mehr.
- Zählfenster 90 Tage. Ein Benutzer oder Gerät zählt, solange es in den letzten 90 Tagen über den Agenten synchronisiert hat; nach 12 Monaten ohne Kontakt wird der Eintrag gelöscht.
- Der Modus zählt eine Dimension. Pro Benutzer zählt Personen, Pro Gerät zählt Geräte. Session Hosts zählen nie als Gerät, gezählt werden die Geräte, von denen aus verbunden wird. Der Modus wird auf der Lizenzseite gesetzt, nicht von der Datei.
- Zählen blockiert nie. Über dem Limit läuft die Verteilung weiter; wer eine Lizenz hält, verlängert sie, nur neue Anfragen werden abgelehnt. Das Portal verschickt Mehr in Benutzung als lizenziert, der Agent zeigt dem Anwender beim Benutzerabgleich „Für Sie ist keine Lizenz mehr frei …" und fragt nach 4 Stunden erneut. Ist das Portal nicht erreichbar, wird nichts gebucht und nichts angezeigt.
Audit und Benachrichtigungen
- Abschalten hinterlässt eine Spur. Wird das Audit ausgeschaltet, ist genau das der letzte Eintrag, und Audit abgeschaltet geht raus.
- Jede Meldung steht auch im Protokoll, unabhängig vom Postausgang. Die Wiederholsperre bremst Mail und Protokolleintrag gleichermaßen. E-Mails verschickt nur der Primary.
5. Betrieb und Fehlersuche
Logs. Portal: C:\ProgramData\NickIT\ZPServer\Logs\ZeroPortalLogs.log (ROOT LOGON,
License upload refused, Enrollment:); wer im Portal was geändert hat, steht im
Audit-Protokoll, nicht im Log. Agent: C:\ProgramData\NickIT\ZeroPortalAgent\Logs
(agent-<Datum>.log, usersync-<Benutzer>-<Datum>.log); Ereignis 2511 = Registrierung
fehlgeschlagen, 2530/2531 = Lizenz abgelehnt oder Buchung fehlgeschlagen, der Abgleich lief
trotzdem.
Niemand kommt mehr hinein. Eine wiederholte Kennwortabfrage ist ein Anmeldeproblem
(Intranetzone, SPN; siehe Bekannte Fehlerbilder); die Seite Kein Zugriff heißt angemeldet,
aber nicht berechtigt. Dann: Steht in appsettings.json unter AccessGroups:FullAdmins die
richtige Gruppe, und sind Sie Mitglied? Dieser Eintrag gilt immer, auch wenn im Portal jede
Berechtigung entfernt wurde; beim Neustart des Dienstes repariert das Portal die Gruppe
Portal administrators und ihr Recht auf alle Bereiche. Sonst Notfallkonto unter
/Account/Login nutzen oder eines einrichten (Abschnitt 3.1).
| Symptom | Ursache | Abhilfe |
|---|---|---|
| Menüpunkt fehlt, Adresszeile liefert Kein Zugriff | Stufe Keine für diesen Bereich | Stufe unter Berechtigungen prüfen, auch die Portalgruppen des Kontos |
| Anmeldeformular fehlt oder lehnt jeden ab | Kein Notfallkonto und kein aktives internes Konto, oder PasswordHash fehlerhaft |
RootUser mit Hash aus New-ZPRootPasswordHash eintragen, Dienst neu starten |
| Gerät registriert sich nicht (Agent-Log 2511) oder wird plötzlich abgewiesen | Schlüsselbasierter Zugang aus, Token geschlossen oder abgelaufen, Schlüssel deaktiviert, Zertifikat nicht vertraut | Schalter, Token und Schlüssel unter Agent-Registrierung prüfen; TRUSTCERT=1 oder Zertifikat importieren |
| Meldung API-Schlüssel von einem fremden Rechner benutzt | Maschinenschlüssel kopiert (Image-Klon, Registry-Export) | Schlüssel deaktivieren oder Client löschen; Gerät mit Token neu registrieren |
| Anwender sieht „keine Lizenz mehr frei" | Zählung über dem Kontingent | Lizenzseite prüfen, alte Geräte oder Benutzer aus dem Fenster fallen lassen, Lizenz nachkaufen; nichts wird blockiert |
| Keine E-Mails, obwohl Meldungen eingeschaltet sind | Postausgang unvollständig, Wiederholsperre aktiv oder Knoten ist Replica | Test-E-Mail senden; Meldungen stehen trotzdem im Audit-Protokoll |
6. Anhang
Bereiche und Stufen
Je Bereich eine Stufe: Keine (Menüpunkt unsichtbar, Aufruf abgelehnt), Lesen, Verwalten.
| Bereich | Inhalt |
|---|---|
| App-V | App-V-Pakete und Verbindungsgruppen |
| Berichte | App-V-Reporting |
| MSIX | MSIX-Pakete und App Attach |
| Richtlinien | Richtliniensätze und Richtlinien |
| Downloads | Download-Bereich mit der Agent-MSI |
| Konfiguration | Repositories, E-Mail, Proxy, Audit-Einstellungen (nicht: Sicherung) |
| Hochverfügbarkeit | Cluster und Replikation |
| Knoteneinstellungen | Einstellungen des einzelnen Servers |
| Berechtigungen | wird angezeigt, ist aber Voll-Administratoren vorbehalten |
Audit-Einstellungen
Globale Konfiguration → Konfiguration, Abschnitt Audit-Protokoll: Administrative Änderungen aufzeichnen (Hauptschalter) und Einträge aufbewahren (Tage) (0 = unbegrenzt, höchstens 3650). Mit einer Frist über 0 löscht der Primary einmal täglich ältere Einträge und vermerkt die Löschung selbst im Protokoll.
Meldungen zu Lizenzen
| Meldung | Schwere | Wann |
|---|---|---|
| Lizenz läuft ab | Warnung | 30 Tage vor Ablauf einer Lizenzdatei |
| Mehr in Benutzung als lizenziert | Warnung | eine Lizenzanfrage wurde abgelehnt; einmal je Wiederholsperre |


