Client-Agent: Betrieb und Rollout

Für Administratoren. Stand September 2026 (Server 1.0.31, Agent 1.0.36). Verwandte Anleitungen: Administrationshandbuch (Kapitel „Clients anbinden"), Quick-Admin-Guide (Schritt für Schritt mit Bildschirmfotos), Geräte ohne Domäne (API-Key), Bekannte Fehlerbilder, MSIX-Pakete verteilen, Richtlinien und Vorlagen.


1. Was ist das?

Der ZeroPortal Client-Agent läuft auf dem Endgerät. Er fragt das Portal, was dem Computer und dem angemeldeten Benutzer zugewiesen ist, und setzt das lokal um: MSIX-Pakete (auch als App Attach), App-V-Pakete und Verbindungsgruppen sowie ZeroPortal-Richtlinien. Er meldet dem Portal, dass Gerät und Benutzer aktiv sind (Lizenzquittung), und zeigt dem Benutzer über ein Tray-Symbol, was gerade passiert.

Teil Läuft als Aufgabe
Dienst ZeroPortalAgent Lokales Systemkonto Computer-Sync: maschinenweite Pakete, App-Attach-Images einhängen, App-V für den Computer, Computerrichtlinien. Startet das Tray-Symbol in jeder Sitzung.
Geplante Aufgabe \NickIT\ZeroPortalAgent\UserSync Angemeldeter Benutzer Benutzer-Sync bei Anmeldung, Entsperren und im Intervall: benutzerbezogene Pakete und Benutzerrichtlinien.
Tray-Symbol Angemeldeter Benutzer Status, verwaltete Pakete, manuelle Synchronisierung, Reparatur, Logs, Bereitstellungszeiten.
Pfad
Installation C:\Program Files\NickIT\ZeroPortalAgent
Gruppenrichtlinienvorlage (ADMX, de-DE und en-US) C:\Program Files\NickIT\ZeroPortalAgent\admx
PowerShell-Modul ZeroPortalAgent wird mit dem Agenten installiert, Cmdlets *-ZPAgent*
Protokolle C:\ProgramData\NickIT\ZeroPortalAgent\Logs
App-Attach-Mount-Punkt (Standard) C:\ProgramData\NickIT\AppAttach
Einstellungen HKLM\SOFTWARE\NickIT\ZPAgent (lokal), HKLM\SOFTWARE\Policies\NickIT\ZPAgent (Gruppenrichtlinie)

Anmeldung am Portal. In einer Domäne braucht der Agent keine Konfiguration: der Dienst meldet sich mit dem Computerkonto (Kerberos) an, der Benutzer-Sync mit dem Ticket des Benutzers. Geräte ohne Domäne holen sich über ein Registrierungstoken einen eigenen Schlüssel (geschützt unter HKLM\SOFTWARE\NickIT\ZPAgent\Auth); liegt ein Schlüssel vor, wird er benutzt, sonst Kerberos. Siehe Geräte ohne Domäne (API-Key).


2. Wozu ist das gut?


3. Wie nutze ich das?

3.1 Agent-MSI beziehen

Die zum Server passende Agent-MSI liegt im Portal in der Seitenleiste unter Downloads (Voll-Administratoren und Gruppen mit Stufe Lesen für den Bereich Downloads auf der Seite Berechtigungen). Neue Agent-Versionen kommen mit dem Server-Update.

Download-Center mit dem Agenten

Edge und SmartScreen warnen bei einer selten heruntergeladenen Datei: Beibehalten und Trotzdem beibehalten. Für den regelmäßigen Bezug nehmen Sie die Portal-Domäne per Richtlinie aus (Abschnitt 3.2).

Download beibehalten

SmartScreen: trotzdem beibehalten

3.2 Browser vorbereiten: Intranetzone und SmartScreen

Intranetzone. Damit sich Browser und Agent ohne Anmeldefenster per Kerberos anmelden, gehört die Portal-URL in die Zone Lokales Intranet. Ein Anmeldefenster trotz korrekter Berechtigung ist fast immer dieses fehlende Zonen-Mapping (fehlende Berechtigung erscheint als „kein Zugriff"). Per GPO: Benutzerkonfiguration → Administrative Vorlagen → Windows-Komponenten → Internet Explorer → Internetsystemsteuerung → Sicherheitsseite → Site-zu-Zone-Zuweisungsliste, Portal-FQDN mit Wert 1; gilt auch für Edge und Chrome. Einen SPN braucht es nur, wenn das Portal unter einem Aliasnamen erreichbar ist (Bekannte Fehlerbilder).

Portal-Domäne als Intranet-Website

SmartScreen. GPO Computerkonfiguration → Administrative Vorlagen → Microsoft Edge → SmartScreen-Einstellungen → Liste der Domänen, für die Microsoft Defender SmartScreen keine Warnungen auslöst (Registry: HKLM\SOFTWARE\Policies\Microsoft\Edge\SmartScreenAllowListDomains, Wert 1 = Portal-FQDN). Meldet Edge „unsicherer Download blockiert", wurde das Portal über HTTP statt HTTPS aufgerufen.

3.3 Gruppenrichtlinie vorbereiten (ADMX)

Wo finde ich die ADMX-Vorlage? Sie wird mit dem Agenten installiert und liegt auf jedem Gerät mit Agent unter

C:\Program Files\NickIT\ZeroPortalAgent\admx

Der Ordner enthält ZeroPortalAgent.admx und die Sprachordner de-DE und en-US mit den zugehörigen .adml-Dateien. Es gibt keinen getrennten Download: Installieren Sie den Agenten einmal auf einem beliebigen Rechner (auch auf dem Portal-Server) und holen Sie die Dateien von dort.

Kopieren Sie die Dateien in den Central Store Ihrer Domäne (\\<Domäne>\SYSVOL\<Domäne>\Policies\PolicyDefinitions). Die Einstellungen erscheinen unter Computerkonfiguration → Administrative Vorlagen → NickIT → ZeroPortal Agent.

Die Einstellungen der ADMX-Vorlage

Vier Einstellungen entscheiden über alles Weitere. Sie stehen direkt im Ordner ZeroPortal Agent, alle übrigen liegen in den Unterordnern.

Einstellung Was sie bewirkt
Publishing-Server Die Portal-URLs, je Zeile eine, optional als Anzeigename\|https://server:port. Die Reihenfolge ist die Priorität. Ohne diese Angabe weiß der Agent nicht, wen er fragen soll. Eine konfigurierte Liste ersetzt jede lokal eingetragene.
Sync MSIX einschalten Der Agent verteilt MSIX-Pakete und App Attach.
Sync App-V einschalten Der Agent verteilt App-V-Pakete und Verbindungsgruppen. Siehe die Warnung unten.
Sync Richtlinien einschalten Der Agent wendet ZeroPortal-Richtlinien an: Laufwerke, Drucker, Desktop, Skripte und die übrigen Vorlagen.

Nach der Installation sind alle drei Abgleichbereiche aus: der Agent verbindet sich mit dem Portal, stellt aber nichts bereit. Schalten Sie nur ein, was Sie wirklich brauchen.

Publishing-Server in Prioritätsreihenfolge

App-V-Abgleich ausgeschaltet lassen, wenn der Microsoft-App-V-Client die Pakete holt. Für App-V gibt es zwei Wege, und auf einem Gerät darf immer nur einer aktiv sein. Entweder der Microsoft-App-V-Client fragt das Portal selbst als Publishing-Server ab, dann bleibt Sync App-V einschalten aus. Oder der ZeroPortal-Agent übernimmt die App-V-Pakete, dann tragen Sie im Microsoft-Client keinen Publishing-Server ein. Laufen beide, veröffentlichen und entfernen sie dieselben Pakete abwechselnd: Verknüpfungen verschwinden und tauchen wieder auf, und in den Protokollen jagen sich die Einträge. MSIX und Richtlinien sind davon nicht betroffen, die dürfen parallel laufen.

Bei eigener PKI verteilen Sie das Serverzertifikat des Portals mit derselben GPO in den Speicher Vertrauenswürdige Stammzertifizierungsstellen des Computers; der Dienst läuft als System und sieht keine Benutzerzertifikate.

3.4 Agent installieren

msiexec /i ZeroPortalAgent-<Version>.msi /qn

Der Dienst startet sofort, der erste Computer-Sync läuft etwa 30 Sekunden später, das Tray-Symbol erscheint in jeder angemeldeten Sitzung. Ein Neustart ist nicht nötig.

Setup des Agenten

MSI-Parameter braucht nur, wer ohne Gruppenrichtlinie arbeitet (Test, Workgroup):

Parameter Bedeutung
SERVER=https://portal:8443 Portal-URL als Eintrag 1 der lokalen Serverliste; SERVERNAME= vergibt den Anzeigenamen (Standard ZeroPortal)
MSIXSYNC=1, APPVSYNC=1, POLICYSYNC=1 Die drei Abgleichbereiche einschalten. Bleiben bei einem späteren Upgrade ohne Parameter erhalten
ENROLLTOKEN=zpe_… Registrierungstoken für Geräte ohne Domäne (Geräte ohne Domäne (API-Key))
TRUSTCERT=1 Das Portalzertifikat beim ersten Kontakt in den Computerspeicher übernehmen, wenn die Kette nicht prüfbar ist (nur Test)
NOTRAY=1 Kein Tray-Symbol, damit auch keine Hinweiskarten (Agent/TrayAutostart=0)
NOTOASTS=1 Tray-Symbol ohne Hinweiskarten (Agent/ToastMode=Off)

Upgrade. Eine neuere MSI lässt sich über die vorhandene Version installieren; Dienst und Tray werden dabei neu gestartet. Bei einem großen Versionssprung oder wenn ein Upgrade mit Fehler 1603 zurückgerollt wird: alte Version deinstallieren, neue MSI installieren. Vermeiden Sie Serien von Installationen und Dienstneustarts im Minutentakt (Abschnitt 5.2).

3.5 Erste Prüfung

Auf dem Client in einer administrativen PowerShell:

Get-ZPAgentStatus                 # Dienst erreichbar, Version, Serverliste
Get-ZPAgentSync                   # Welche Bereiche aktiv sind und woher der Wert stammt
Sync-ZPAgentPublishingServer      # Abgleich sofort anstoßen
Get-ZPAgentPackage                # Vom Agenten verwaltete Pakete

Der Benutzer sieht dasselbe im Tray-Symbol: Jetzt synchronisieren, Pakete anzeigen…, Logs öffnen, Bereitstellungszeiten… und Einstellungen… (zentrale Vorgaben haben Vorrang).

Menü des Tray-Symbols

Synchronisierung aus dem Tray anstoßen

Im Portal erscheint das Gerät nach dem ersten Abgleich auf der Seite Globale Konfiguration → Agent-Registrierung in der Karte Bekannte Clients.

3.6 Einstellungen ändern

Die Faustregel: Was der Agent zum Starten braucht, kommt aus der Gruppenrichtlinie. Wie er sich im Betrieb verhält, kommt aus einer Richtlinie im Portal.

Die Gruppenrichtlinie bietet 25 Einstellungen an, die Portal-Richtlinie erreicht alle 57 Schalter. Nur in der Gruppenrichtlinie gibt es die Publishing-Server und das Registrierungstoken — beide braucht der Agent, bevor er ein Portal erreichen kann. Umgekehrt haben 34 Schalter keinen Eintrag in der Vorlage, darunter der App-Attach-Mount-Pfad, die Regeln fürs Entfernen, Downgrade und Selbstheilung sowie das Tray-Verhalten; die setzen Sie über die Portal-Richtlinie oder lokal. Anhang 6.1: steht in der Spalte ADMX ein Name, geht es auch per Gruppenrichtlinie.

  1. Gruppenrichtlinie (ADMX) für Serverliste, Failover, Zeitverhalten, die drei Sync-Schalter und Protokollierung. Gewinnt immer.
  2. ZeroPortal-Richtlinie vom Typ Agent-Konfiguration im Portal (Vorlage Agent-Konfiguration, siehe Richtlinien und Vorlagen): erreicht jeden Schalter des Katalogs. Wird mit dem nächsten Abgleich wirksam; ein später aus der Richtlinie entfernter Wert wird auf dem Gerät zurückgesetzt.
  3. PowerShell lokal mit Set-ZPAgentConfiguration -<Schalter> <Wert>; jeder Schalter ist ein eigener Parameter, die Tab-Vervollständigung zeigt alle:
Get-ZPAgentConfiguration                                 # alle Schalter: Name, Wert, SetByGroupPolicy, Bereich
Get-ZPAgentConfiguration -SyncIntervalMinutes            # nur dieser Schalter
Set-ZPAgentConfiguration -SyncIntervalMinutes 30
Set-ZPAgentConfiguration -LogLevel Debug
Enable-ZPAgentSync -Msix -Policy                         # Abgleichbereiche lokal einschalten

Richtlinie vom Typ Agent-Konfiguration im Portal

3.7 Publishing-Server ohne Gruppenrichtlinie

Add-ZPAgentPublishingServer -Name 'ZeroPortal' -Url 'https://portal:8443'
Get-ZPAgentPublishingServer
Remove-ZPAgentPublishingServer -Name 'ZeroPortal'

Die lokale Liste gilt nur, solange keine GPO-Liste konfiguriert ist; greift die GPO, wird die lokale Liste ignoriert (nicht gelöscht).

3.8 App-Attach-Mount-Pfad ändern

MSIX/AppAttachMountRoot bestimmt, wohin App-Attach-Images (VHDX/CIM) eingehängt werden; leer bedeutet C:\ProgramData\NickIT\AppAttach. Ist der Pfad nicht nutzbar (Laufwerk fehlt), fällt der Agent auf den Standard zurück (Ereignis 3535). Eine Änderung hängt beim nächsten Abgleich alle App-Attach-Pakete am neuen Pfad ein und registriert sie neu — daher im Wartungsfenster: Set-ZPAgentConfiguration -AppAttachMountRoot 'D:\AppAttach' (oder Richtlinie Agent-Konfiguration), Stop-Service ZeroPortalAgent, Neustart. Mounts überleben keinen Neustart; leere Verzeichnisse des alten Pfads räumt der Agent beim Start weg.

3.9 Standortlokale Paketquelle

MSIX/MSIXPackageRoot (ADMX: Paketquellen-Stammpfad überschreiben) ersetzt den Präfix \\Server\Freigabe der Katalog-URL durch einen lokalen Pfad oder DFS-Pfad; der restliche Pfad bleibt. Gilt für MSIX-Bits und App-Attach-Images. Fehlt ein Paket dort, lädt der Agent von der ursprünglichen Quelle.


4. Regeln: wann wirkt was

4.1 Rangfolge der Einstellungen

Beim Lesen gilt: Gruppenrichtlinie vor Richtlinie Agent-Konfiguration vor lokalem Wert (PowerShell, MSI-Parameter) vor Standard im Code. Ist ein Schalter per GPO gesetzt, haben Set-ZPAgentConfiguration und Enable-ZPAgentSync keine sichtbare Wirkung; Get-ZPAgentConfiguration zeigt das in der Spalte SetByGroupPolicy.

4.2 Zeitverhalten

Vorgang Wann
Computer-Sync nach dem Start etwa 30 s nach Dienststart, ohne Zufallsversatz
Computer-Sync wiederkehrend alle MSIX/SyncIntervalMinutes (60) plus 0 bis Agent/SyncJitterMinutes (10) Zufall
Benutzer-Sync bei Anmeldung und Entsperren, danach im selben Intervall wie der Computer-Sync
Richtlinien-Aktualisierung (nur Richtlinien) erstmals 2 min nach Dienststart, dann alle Policy/RefreshMinutes (90)
Aufgeschobene Deinstallationen 5 min nach Dienststart, dann alle MSIX/SweeperIntervalHours (4)
Kein Server erreicht Computer-Sync wiederholt nach Agent/SyncFailureRetryMinutes (5), bis ein Server antwortet; Benutzer-Sync beim nächsten Auslöser
Server nicht erreichbar (Failover) nach Agent/FailoverTimeoutSeconds (10 s) der nächste Server; der ausgefallene wird Agent/ServerBlacklistMinutes (10) gemieden, die Sperrliste wird bei jedem Dienststart geleert

Ein neues Intervall greift nach dem nächsten Lauf; Periodischer Benutzer-Sync, Protokollierungsstufe und Protokollpfad beim nächsten Dienststart bzw. Benutzer-Sync.

4.3 Serverliste und Failover

4.4 Entfernen, Downgrade, Formatwechsel

4.5 Offline: Notebooks und mobile Geräte

Bereitstellung Ohne Portal und Freigabe
MSIX (lokal installiert) läuft uneingeschränkt
App-V, vollständig geladen läuft uneingeschränkt
App-V, teilweise gestreamt nur der bereits geladene Anteil; vor Reisen im Tray Paket vollständig laden (Mount) nutzen
App Attach (VHDX/CIM von der Freigabe) läuft nicht: das Paket ist von der Freigabe eingehängt, nicht kopiert

Praxisregel: Mobile Geräte bekommen MSIX oder vollständig geladenes App-V, kein App Attach.


5. Betrieb und Fehlersuche

5.1 Protokolle

Was Wo
Dienst (Computer-Sync) C:\ProgramData\NickIT\ZeroPortalAgent\Logs\agent-<JJJJMMTT>.log, eine Datei je Tag
Benutzer-Sync usersync-<Benutzername>-<JJJJMMTT>.log im selben Ordner; kann der Benutzer dort nicht schreiben, unter %LocalAppData%\NickIT\ZeroPortalAgent\Logs

Der Agent schreibt nur in diese Textdateien, nicht in das Windows-Ereignisprotokoll. Jede Zeile trägt Zeitstempel, Stufe (INF, WRN, ERR) und in eckigen Klammern die Ereignis-ID (Anhang 6.4); am Ende jedes Abgleichs steht eine Zusammenfassung mit Zählern und den Namen fehlgeschlagener Pakete.

5.2 Stabil betreiben und Fehler finden

Jeder Dienststart remountet alle App-Attach-Images und fährt einen vollständigen Abgleich. Installation, Deinstallation oder Dienstneustart im Minutentakt erzeugen einen Mount-/Unmount-Wechsel, bei dem moderne Apps (Task-Manager, Startmenü) beim Start abstürzen können — vorübergehend, keine bleibende Beschädigung. Daher: nach einer Installation den ersten Abgleich abwarten; beim Testen den Dienst zwischen Änderungen stoppen (Stop-Service ZeroPortalAgent) statt ihn schnell neu zu starten; auf Testgeräten mit vielen App-Attach-Paketen den periodischen Abgleich drosseln (Agent/MachineSyncPeriodicEnabled=0 oder größeres MSIX/SyncIntervalMinutes). Tritt der Zustand ein: Dienst stoppen, Gerät neu starten.

Symptom Ursache Abhilfe
Agent installiert, es passiert nichts Abgleichbereiche ab Werk aus; keine Serverliste Get-ZPAgentSync, Get-ZPAgentStatus; GPO Sync … einschalten und Publishing-Server setzen, gpupdate /force, Sync-ZPAgentPublishingServer
Log: 3506 / 3516 „reached NO publishing server", 2108 „short retry" Portal nicht erreichbar, Name nicht auflösbar, Zertifikat nicht vertrauenswürdig, Port zu URL aus Get-ZPAgentStatus im Browser des Clients testen; Zertifikatskette im Computerspeicher; Firewall zum Portal-Port
Log: 3503 / 3513 Server auf der Sperrliste, obwohl er läuft Server antwortet unter Last langsamer als das Failover-Timeout Agent/FailoverTimeoutSeconds erhöhen; die Sperre läuft nach Agent/ServerBlacklistMinutes ab oder mit dem nächsten Dienststart
Log: 3504 / 3514 „answered with an error" Portal erreichbar, lehnt aber ab (Berechtigung, Kerberos) Portal-Log und Berechtigungen prüfen; Zeitabweichung und SPN kontrollieren (Bekannte Fehlerbilder)
Anmeldefenster beim Aufruf des Portals; Edge blockiert die MSI Portal-URL nicht in der Intranetzone; SmartScreen oder HTTP-Aufruf Abschnitt 3.2
Dienst startet nicht Startfehler agent-<Datum>.log nach Ereignis 4000 durchsuchen; ergänzend Windows-Ereignisprotokoll (.NET Runtime, Application Error)
Paket bleibt trotz Zurückziehen installiert Aufräumlauf übersprungen, weil ein Server nicht geantwortet hat (3500) Server erreichbar machen; bei unabhängigen Portalen jeden Server erreichbar halten oder Failover nutzen
Paket wird nicht entfernt, Tray zeigt „Entfernung geplant" Anwendung läuft; Entfernen aufgeschoben (WhenIdle/OnReboot) Warten bis RemovalIdleTimeoutHours, Invoke-ZPAgentPendingRemoveSweep oder Neustart
Ältere Version wird nicht installiert (2538 / 3510) Downgrade nicht erlaubt MSIX/AllowDowngrade oder Richtlinie Package Downgrade Control für die Paketfamilie
App-Attach-Anwendung startet nach Neustart nicht (3532 / 3533) Image nach dem Neustart noch nicht erreichbar (Freigabe, Netz) Der Dienst wiederholt das Einhängen; Freigabe und Berechtigung des Computerkontos prüfen; für mobile Geräte kein App Attach
Log: 3535 Mount-Pfad nicht nutzbar MSIX/AppAttachMountRoot zeigt auf ein fehlendes Laufwerk Pfad korrigieren oder leeren (Abschnitt 3.8)
Log: 3620 / 4531 „falling back to MSIX" Kein App-Attach-Image im gewünschten Format oder Einhängen fehlgeschlagen Im Portal Image erzeugen (MSIX-Pakete verteilen); Freigabe prüfen
Log: 3410 „deployment took … s" Signaturprüfung wartet auf Internetabrufe (Zwischenzertifikat, Sperrlisten); typisch für Geräte ohne Internet Die Meldung nennt die Ursache; die Einstellungen in Bekannte Fehlerbilder senken die Zeit von Minuten auf Sekunden, ohne die Signaturprüfung zu schwächen
Hinweis „Für Sie ist keine Lizenz mehr frei" Lizenzumfang erschöpft; die Anwendungen laufen trotzdem Lizenzierung im Portal prüfen (Benutzer, Rechte, Lizenzen und Protokolle)
Neue AD-Gruppenmitgliedschaft wirkt erst nach Ab- und Anmelden Kerberos-Ticket des Benutzers enthält die Gruppe noch nicht Agent/PurgeUserTicketsBeforeSync=1 (GPO Kerberos-Tickets des Benutzers vor dem Benutzer-Sync löschen), Nebenwirkungen beachten
Moderne Apps stürzen beim Start ab Mount-Wechsel durch Neustart-Serien (siehe oben) Dienst stoppen, Gerät neu starten

6. Anhang: Technische Referenz

6.1 Schalter

Die Schalter, die ein Administrator üblicherweise ändert. Setzbar per GPO (Spalte „ADMX"), per Richtlinie Agent-Konfiguration oder lokal mit Set-ZPAgentConfiguration -<Schalter> <Wert>. Die vollständige Liste mit den aktuellen Werten liefert Get-ZPAgentConfiguration auf dem Gerät; jeder Schalter ist ein Parameter von Set-ZPAgentConfiguration.

Schalter Bereich Standard ADMX Bedeutung
MSIXSyncEnabled MSIX aus Sync MSIX einschalten MSIX- und App-Attach-Abgleich (Computer und Benutzer)
AppVSyncEnabled AppV aus Sync App-V einschalten App-V-Pakete und Verbindungsgruppen für Computer und Benutzer
PolicyProcessingEnabled Policy aus Sync Richtlinien einschalten ZeroPortal-Richtlinien abrufen und anwenden
SyncIntervalMinutes MSIX 60 Sync-Intervall Intervall für Computer- und Benutzer-Sync (5 bis 1440)
MSIXPackageRoot MSIX leer Paketquellen-Stammpfad überschreiben Standortlokale Paketquelle (Abschnitt 3.9)
AppAttachMountRoot MSIX leer Mount-Punkt für App-Attach-Images; leer = C:\ProgramData\NickIT\AppAttach
AllowDowngrade MSIX aus Ältere Version über eine installierte neuere stellen; Richtlinie je Paketfamilie geht vor
GlobalRemovalPolicy MSIX Immediate Immediate, WhenIdle, OnReboot, Disabled
DeferRemovalWhileInUse MSIX an Entfernen aufschieben, solange die Anwendung läuft
RemovalIdleTimeoutHours MSIX 24 Spätestens nach n Stunden entfernen
ServerFailover Agent an Server-Failover-Modus Prioritätskette identischer Replikate; aus = Merge-All
FailoverTimeoutSeconds Agent 10 Feld in Server-Failover-Modus Wartezeit je Server auf die Antwort (1 bis 300)
RandomServer Agent aus Zufällige Serverauswahl Zufälliger Startserver je Lauf
ServerBlacklistMinutes Agent 10 Server-Blacklist-Dauer Ausgefallenen Server so lange meiden; 0 = aus
PurgeUserTicketsBeforeSync Agent aus Kerberos-Tickets des Benutzers vor dem Benutzer-Sync löschen klist purge vor jedem Benutzer-Sync
TrustServerCertificate Agent aus Portalzertifikat beim ersten Kontakt übernehmen (MSI TRUSTCERT=1, nur Test)
LogLevel Agent Information Protokollierungsstufe None, Error, Warning, Information, Debug
LogPath Agent leer Alternativer Protokollpfad Anderer Ordner für die Protokolle

6.2 Registry

Drei Stämme: GPO = HKLM\SOFTWARE\Policies\NickIT\ZPAgent (gewinnt beim Lesen; der Agent liest hier jeden Katalogschlüssel, auch ohne ADMX-Eintrag), Lokal = HKLM\SOFTWARE\NickIT\ZPAgent (PowerShell, MSI-Parameter, Richtlinie Agent-Konfiguration), Benutzer = HKCU\SOFTWARE\NickIT\ZPAgent.

Stamm Unterschlüssel Inhalt
GPO \Servers Wertname 1, 2, 3 … (Priorität), Daten URL oder Name\|URL
GPO \Agent, \MSIX, \AppV, \Policy Schalter der Spalte ADMX in 6.1
GPO \Auth EnrollmentToken (Registrierungstoken)
GPO \Privacy AnonymizeLogNames (in dieser Version ohne Wirkung)
GPO \UI Tray-Vorgaben Language, Theme, ShowFrameworks, ShowTooltips; kein ADMX-Eintrag, nur von Hand
Lokal \Agent, \MSIX, \AppV, \Policy Lokale Werte derselben Schalter
Lokal \Auth ApiKey (Geräteschlüssel, DPAPI-geschützt), EnrollmentToken (MSI), ApiKeySeed (MSI APIKEY=, wird beim ersten Dienststart übernommen und gelöscht)
Lokal \Servers\<Nr> Url, Name, GlobalRefreshEnabled, UserRefreshEnabled, RequestTimeoutSec
Lokal \ServerBlacklist Wertname = Server-Nr., Daten = Ablauf (UTC-Ticks)
Lokal \MSIX\ManagedPackages\<Familie> Maschinenweit verwaltete MSIX- und App-Attach-Pakete
Lokal \AppV\ManagedPackages, \AppV\ManagedGroups, \AppV\ManagedUserPackages\<SID>, \AppV\ManagedUserGroups\<SID> Vom Agenten veröffentlichte App-V-Pakete und Verbindungsgruppen (Computer bzw. je Benutzer)
Lokal \AppliedPolicies\AgentConfig Zustand vor einer Richtlinie Agent-Konfiguration, für das Zurücksetzen
Lokal \UI Tray-Vorgaben für alle Benutzer des Geräts
Benutzer \Agent DisplayName (Anzeigename des Benutzers im Portal)
Benutzer \Auth ApiKey (Benutzerschlüssel lokaler Konten, DPAPI-geschützt)
Benutzer \MSIX\UserRegistrations\<Familie> Für den Benutzer registrierte Pakete
Benutzer \UI Tray-Einstellungen des Benutzers: Language, Theme, ShowFrameworks, ShowTooltips

Das Tray-Symbol hat keinen Autostart-Eintrag unter Run; der Dienst startet es (Agent/TrayAutostart). Von ZeroPortal-Richtlinien gesetzte Werte (Laufwerke, Registry, Verknüpfungen …) liegen an ihrem jeweiligen Ziel, nicht unter ZPAgent.

6.3 Cmdlets des Moduls ZeroPortalAgent

Cmdlet Zweck
Get-ZPAgentStatus Dienst erreichbar, Versionen, Zustand des Computer-Syncs, Serverliste
Sync-ZPAgentPublishingServer [-Method All\|Computer\|User] Abgleich anstoßen; ohne -Method gelten die Sync-Schalter, mit -Method wird der Lauf erzwungen. Alias Invoke-ZPAgentSync
Get-ZPAgentConfiguration [-MSIX] [-AppV] [-Agent] [-Policy] [-<Schalter>] Effektive Werte mit SetByGroupPolicy
Set-ZPAgentConfiguration -<Schalter> <Wert> Lokalen Wert schreiben (HKLM, erhöhte Rechte)
Enable-ZPAgentSync / Disable-ZPAgentSync -Msix -AppV -Policy -All Abgleichbereiche lokal schalten
Get-ZPAgentSync Die drei Bereiche mit Zustand und Herkunft (GPO, lokal, Standard)
Add- / Set- / Get- / Remove-ZPAgentPublishingServer Lokale Serverliste
Set-ZPAgentDisplayName -Name <Text> [-Scope User\|Machine] Anzeigename im Portal (Benutzer ohne erhöhte Rechte)
Get-ZPAgentPackage [-Machine] [-User] Vom Agenten verwaltete Pakete
Get-ZPAgentMountedPackage [<Familie*>] Welches Image ein App-Attach-Paket tatsächlich nutzt
Invoke-ZPAgentPendingRemoveSweep Aufgeschobene Deinstallationen jetzt ausführen
Clear-ZPAgentLog Agent-Protokolle löschen

6.4 Ereignis-IDs im Agent-Protokoll (Auswahl)

ID Stufe Bedeutung
2100 INF Dienststart: Zeitplan des Computer-Syncs
2101 / 2519 / 2601 INF Computer-Sync, Benutzer-Sync, Benutzer-Sync-Aufgabe abgeschlossen (mit Zählern)
2108 INF Kein Server erreicht, kurze Wiederholung geplant
2500 / 2510 INF Katalog vom Server geholt (Computer / Benutzer); 2510 auch: Schlüssel per Registrierungstoken erhalten
2507 / 2516 INF Framework wird noch gebraucht und bleibt (Computer / Benutzer)
2538 INF Neuere Version bereits installiert, Anforderung gilt als erfüllt; auch Umstellung einer Benutzerregistrierung auf App Attach
2541 INF Erlaubter Downgrade, neuere Version wird vorher entfernt
2605 INF Kerberos-Tickets des Benutzers vor dem Sync geleert
2701 / 2702 / 2703 / 2704 INF/WRN App-V-Abgleich aus, App-V-Client fehlt, Katalog geholt, Abruf fehlgeschlagen
3410 WRN Bereitstellung dauerte länger als SlowDeployWarnSeconds (30), mit Ursache (Zertifikatskette, Sperrlisten)
3500 WRN Aufräumlauf übersprungen, weil ein Abruf fehlschlug
3503 / 3513 WRN Server nicht erreichbar, auf die Sperrliste gesetzt (Computer / Benutzer)
3504 / 3514 WRN Server antwortete mit Fehler oder kein Server für diesen Lauf freigegeben
3505 / 3515 WRN Kein Server erreichbar, Wiederholung des Durchlaufs
3506 / 3516 WRN Kein Server erreicht, Offline-Cache wird genutzt (Computer / Benutzer)
3510 WRN Lokale Version neuer, Downgrade nicht erlaubt
3532 / 3533 WRN App-Attach-Image fehlt oder ist nicht erreichbar, Wiederholung
3535 WRN Mount-Pfad nicht nutzbar, Rückfall auf den Standard
3541 WRN Downgrade nicht möglich, neuere Version ließ sich nicht entfernen
3544 WRN Formatwechsel verschoben, Anwendung läuft
3600 WRN Richtlinienabruf fehlgeschlagen, Offline-Cache wird genutzt
3620 WRN App Attach angefordert, kein Image im gewünschten Format, Rückfall auf MSIX
4000 ERR Dienst konnte nicht starten (vollständige Ursache)
4100 / 4110 ERR Geplanter Lauf abgestürzt / Benutzer-Sync-Aufgabe konnte nicht angelegt werden
4500 / 4510 ERR Katalogabruf fehlgeschlagen (Computer / Benutzer)
4501 / 4511 ERR Bereitstellung eines Pakets fehlgeschlagen (Computer / Benutzer), mit Fehlercode
4502 / 4512 ERR Entfernen eines Pakets fehlgeschlagen (Computer / Benutzer)
4531 ERR Einhängen eines App-Attach-Images fehlgeschlagen, Rückfall auf MSIX
4600 / 4601 / 4602 ERR Richtlinienpaket fehlerhaft, Richtlinienverarbeitung fehlgeschlagen (Computer / Benutzer)
4610 / 4611 ERR Registry-Richtlinie konnte nicht gesetzt / zurückgenommen werden