Geschäftsterminals mit dem Kioskmodus absichern — Die Wahl zwischen Zugewiesenem Zugriff und Shell Launcher sowie das Design für den Betrieb

· · Kioskmodus, Zugewiesener Zugriff, Shell Launcher, Windows 11, Geschäftsterminals, Geräteintegration, IT-Abteilung, Betriebsdesign

„Ein PC, der eigentlich ein Empfangskiosk sein sollte, und ein Besucher öffnete gerade Excel über die Taskleiste.“ „Im Hintergrund der Bedienoberfläche eines Geräts lief YouTube, und das stellte sich als Ursache der Beschwerden über ein träges Touchpanel heraus.“ „Wir kamen eines Morgens ins Büro, und die Ausstellungs-Demomaschine zeigte einen leeren Desktop mit den Einstellungen des Bildschirmschoners.“ Bleibt es sich selbst überlassen, endet ein Windows-Terminal, das eigentlich nur einer einzigen Anwendung dienen soll, immer wieder als „ganz normaler PC“.

Die übliche Gegenmaßnahme — „automatische Anmeldung einschalten und die Geschäftsanwendung im Autostart registrieren“ — schützt praktisch nichts. Die Explorer-Shell läuft vollständig, sodass Alt+Tab oder die Windows-Taste im Handumdrehen zum Desktop führen. Andererseits verfügt Windows über mehrere Kiosk-Mechanismen — Zugewiesener Zugriff, Shell Launcher und Multi-App-Kiosk —, und welchen davon Sie verwenden können, hängt von Edition und Windows-Version ab, sodass es häufig vorkommt, ein Design überarbeiten zu müssen, nachdem man festgestellt hat: „Wir wollten es auf einem Pro-Rechner aufbauen, und Shell Launcher war gar nicht vorhanden.“

Dieser Artikel richtet sich an Entwickler und IT-Mitarbeiter, die einen „PC, der nur eine einzige Anwendung ausführt“ einrichten möchten — ein Empfangsterminal, eine Bedienoberfläche in der Fabrik, den Bedienbildschirm eines Prüfgeräts, einen Ausstellungskiosk. Er legt das Gesamtbild der verfügbaren Ansätze und ihrer Edition-Anforderungen dar, Konfigurationsbeispiele in PowerShell und XML sowie das Betriebsdesign rund um automatische Anmeldung, Wiederherstellung nach unerwartetem Beenden, Windows Update und Wartungszugriff — alles gestützt auf die offizielle Dokumentation.

1. Das Wichtigste zuerst

  • „Automatische Anmeldung plus Autostart-Eintrag“ ist kein Kiosk. Solange die Explorer-Shell lebt, können Benutzer alles tun. Wenn Sie etwas schützen wollen, verwenden Sie einen eigens dafür gebauten Mechanismus.
  • Ein Single-App-Kiosk mit Zugewiesenem Zugriff führt eine UWP-App oder Microsoft Edge im Vollbild über dem Sperrbildschirm aus und startet sie beim Schließen automatisch neu. Verfügbar ab Pro aufwärts.1
  • Unter Windows 11 kann Zugewiesener Zugriff auch eine Win32-Desktopanwendung als Kiosk einrichten. Sie geben den Pfad zur EXE in v4:ClassicAppPath an, hinzugefügt im Windows-11-Schema (21H2) und später. Kiosks unter Windows 10 sind auf UWP/Edge beschränkt.2
  • Shell Launcher ist ein Mechanismus, der Explorer.exe selbst durch Ihre Geschäftsanwendung ersetzt (Win32 oder UWP), und ist auf die Editionsfamilie Enterprise / Education / IoT Enterprise beschränkt. Auf Pro nicht nutzbar. Er erlaubt es, deklarativ zu konfigurieren, was beim Beenden der Shell geschieht (Shell neu starten, Gerät neu starten und so weiter).34
  • Ein Multi-App-Kiosk (eingeschränkte Benutzerumgebung) schafft über eine Liste zulässiger Apps und ein eigenes Startmenü ein „Gemeinschaftsterminal, auf dem nur eine Handvoll Apps nutzbar ist“. AppLocker-Regeln werden automatisch erzeugt, und Apps außerhalb der Zulassungsliste lassen sich nicht starten.2
  • Die Konfigurationsmethoden wurden vereinheitlicht. Single-App, Multi-App und Shell Launcher werden inzwischen alle über den AssignedAccess-CSP (per MDM wie Intune) oder über die WMI-Bridge plus PowerShell, das lokal denselben CSP anspricht, konfiguriert.56
  • Der standardmäßige Weg aus einer Kioskumgebung führt über Strg+Alt+Entf. Unter Windows 11 lässt sich das mit BreakoutSequence ändern. Lassen Sie im Design immer einen Weg offen, über den sich ein Wartungstechniker anmelden kann.2
  • Wie fest Sie das Terminal auch absichern, ein schlechtes Design auf Seiten der Geschäftsanwendung (Vollbild-UI ohne Ausgang, keine Selbstwiederherstellung bei Ausnahmen) hinterlässt ein Loch. Der OS-Mechanismus und das Anwendungsdesign gehören als Paket zusammen.

2. Das Gesamtbild — Vier Ansätze mit unterschiedlichem Schutzumfang

Stellen Sie die Ansätze zunächst nebeneinander. Entscheidend ist nicht, wie sie aussehen, sondern was mit der Explorer-Shell geschieht und wer nicht erlaubte Aktionen unterbindet.

Ansatz Was ausgeführt wird Zustand der Shell Was geschützt wird Editionen
Automatische Anmeldung + Autostart-Eintrag Alles Explorer unverändert Schützt praktisch nichts (Alt+Tab, die Windows-Taste und der Task-Manager funktionieren alle) Alle Editionen
Single-App-Kiosk mit Zugewiesenem Zugriff UWP / Edge (unter Windows 11 auch Win322) Nur die Ziel-App, Vollbild über dem Sperrbildschirm. Startet beim Schließen automatisch neu1 Desktop und Startmenü sind nicht erreichbar. Der einzige Standardweg hinaus ist Strg+Alt+Entf Ab Pro1
Multi-App-Kiosk (eingeschränkte Benutzerumgebung) Apps auf der Zulassungsliste (UWP und Win32 lassen sich mischen) Ein eigenes Startmenü plus AppLocker, das alles Unzulässige blockiert2 Blockiert den Start von Apps außerhalb der Zulassungsliste. Alt+F4 und Strg+Alt+Entf bleiben jedoch standardmäßig funktionsfähig7 Ab Pro1
Shell Launcher Jede Win32-/UWP-App als Shell Explorer.exe existiert überhaupt nicht (CustomShellHost.exe startet und überwacht die Geschäftsanwendung)3 Keine Taskleiste, kein Start-Menü. Verhindert jedoch nicht den Start anderer Apps, daher bei Bedarf mit AppLocker o. Ä. kombinieren3 Nur Editionsfamilie Enterprise / Education / IoT Enterprise3

Die Intuition für die Wahl geht so.

  • Terminals, die von Besuchern oder der Öffentlichkeit berührt werden (Empfang, Ausstellungen, öffentliches Surfen): Single-App-Kiosk. Er minimiert die Angriffsfläche, die jemand berühren kann.
  • Gemeinschaftsterminals, die eine feste Handvoll Apps nutzen (Linienterminals in der Fertigung, Bildung): Multi-App-Kiosk.
  • Industrielle Nutzung mit einer einzelnen Win32-Geschäftsanwendung als Bedienoberfläche eines Geräts: Shell Launcher. Seine Stärke ist, dass von Explorer abgeleitete UI-Elemente (Benachrichtigungen, Taskleiste, das UI beim Wischen vom Rand) schlicht nicht existieren, und dass sich Wiederherstellungsaktionen pro Exitcode konfigurieren lassen, passt ebenfalls gut zu Anlagen.4
  • Automatische Anmeldung plus Autostart wird als Baustein eines der obigen (zur Automatisierung der Anmeldung) verwendet, allein genügt es jedoch nicht als Kiosk.

Beachten Sie, dass sich KioskModeApp (Single-App-Kiosk) und Shell Launcher nicht gleichzeitig auf demselben Gerät konfigurieren lassen.2 Sie wählen das eine oder das andere.

3. Edition-Anforderungen — Was Pro kann und wofür Enterprise nötig ist

Prüfen Sie vor der Wahl des Ansatzes die Edition des vorliegenden Terminals. Wird das nach hinten verschoben, muss der gesamte Entwurf überarbeitet werden.

  • Zugewiesener Zugriff (Single-App / Multi-App): Pro / Enterprise / Education / IoT Enterprise (einschließlich der jeweiligen LTSC).1
  • Shell Launcher: Enterprise / Enterprise LTSC / Education / IoT Enterprise / IoT Enterprise LTSC. Auf Pro nicht verfügbar.3
  • Keyboard Filter (Tastenunterdrückung): Nur Editionsfamilie Enterprise / Education / IoT Enterprise. Auf Pro nicht verfügbar.8

Damit stellt sich der klassische Wunsch „ich möchte auf einem Pro-Rechner nur eine einzige Win32-App ausführen“ wie folgt dar:

  • Unter Windows 11 erledigt das v4:ClassicAppPath von Zugewiesenem Zugriff direkt.2
  • Unter Windows 10 Pro gibt es diese Option nicht: Entweder Sie konvertieren die App zu UWP, kommen mit einem Multi-App-Kiosk plus Auto-Launch (rs5:AutoLaunch) nahe heran, oder Sie wechseln die Edition.2

Wenn Sie neue Terminals für einen eingebetteten oder industriellen PC auswählen, ist IoT Enterprise LTSC der naheliegende Favorit: Es verfügt über Shell Launcher und Keyboard Filter, und es werden keine Funktionsupdates aufgezwungen. Die Überlegungen zur Edition-Auswahl werden ausführlich in „Windows-Edition für industrielle PCs auswählen — Ein Praxisleitfaden zu IoT Enterprise LTSC“ behandelt, veröffentlicht am selben Tag.

Eine weitere Voraussetzung: Eine Kioskumgebung setzt eine aktivierte UAC und eine Anmeldung über die Konsole voraus. Eine Kioskumgebung funktioniert nicht über eine Remotedesktopverbindung.1 „Wir verbinden uns per RDP und prüfen, ob es funktioniert“ ist die klassische Anfängerfalle. Zur Beziehung zwischen Konsolensitzungen und RDP-Sitzungen siehe „Wie man über Windows-Sitzungsisolation nachdenkt“.

4. Einen Single-App-Kiosk mit Zugewiesenem Zugriff einrichten

Es gibt drei Konfigurationswege. Wir betrachten sie in der Reihenfolge ihrer Einfachheit.

(1) Die Einstellungen-App. Unter Einstellungen > Konten > Andere Benutzer führt „Kiosk einrichten“ Sie in einem Assistenten durch die Erstellung eines lokalen Kioskkontos und die Auswahl der Ziel-App. Wählen Sie Edge, können Sie zusätzlich Vollbild (Digital Signage) gegenüber eingeschränktem Browser, die Start-URL und die Leerlaufzeit bis zum Neustart festlegen. Für einen einzelnen Rechner mit Edge oder einer einfachen UWP-App reicht das.5

(2) PowerShell-Cmdlets. Set-AssignedAccess erzeugt in einer Zeile die minimale Konfiguration — „dieser lokale Standardbenutzer erhält nur diese eine UWP-App“ (nur UWP, nur lokale Standardbenutzer, Administratorkonten nicht zulässig).9

# Den lokalen Standardbenutzer KioskUser auf eine einzige UWP-App beschränken (AUMID mit Get-StartApps o. Ä. ermitteln)
Set-AssignedAccess -UserName 'KioskUser' -AppUserModelId 'Contoso.KenkiPanel_abc123!App'

# Konfiguration entfernen
Clear-AssignedAccess

(3) Konfigurations-XML plus AssignedAccess-CSP. Das ist der eigentliche Ansatz, der die Angabe von Win32-Apps, automatische Anmeldung und das Ändern der Breakout-Taste abdeckt. Über MDM wie Intune wenden Sie es auf ./Vendor/MSFT/AssignedAccess/Configuration an; auf einem eigenständigen Rechner übertragen Sie dieselbe XML über die WMI-Bridge aus einer als SYSTEM laufenden PowerShell.5 Das Wesentliche der XML sieht so aus.

<AssignedAccessConfiguration
    xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
    xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config"
    xmlns:v4="http://schemas.microsoft.com/AssignedAccess/2021/config">
  <Profiles>
    <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
      <!-- Windows 11: eine Win32-App zum Kiosk machen (Argumente können ebenfalls übergeben werden) -->
      <KioskModeApp v4:ClassicAppPath="%ProgramFiles%\Contoso\KenkiPanel.exe"
                    v4:ClassicAppArguments="--line 3" />
      <!-- Die Breakout-Taste vom Standard Strg+Alt+Entf ändern -->
      <v4:BreakoutSequence Key="Ctrl+Alt+K" />
    </Profile>
  </Profiles>
  <Configs>
    <Config>
      <!-- Windows erstellt und verwaltet einen dedizierten lokalen Standardbenutzer und meldet sich automatisch an -->
      <AutoLogonAccount rs5:DisplayName="Reception Terminal" />
      <DefaultProfile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
    </Config>
  </Configs>
</AssignedAccessConfiguration>

Für eine UWP-App geben Sie die AppUserModelId (AUMID) an KioskModeApp an. Ein Vorbehalt: Ein Update einer UWP-App kann die AUMID ändern; in diesem Fall muss die Konfiguration aktualisiert werden.7 Außerdem lassen sich Kiosk-Profile nur Benutzern, nicht Gruppen zuweisen.2

Um es über die WMI-Bridge anzuwenden, starten Sie PowerShell als SYSTEM (mit psexec o. Ä.) und setzen die HTML-kodierte XML auf die Eigenschaft Configuration der Klasse MDM_AssignedAccess (in der Form $obj.Configuration = [System.Net.WebUtility]::HtmlEncode($xml)). Zum Entfernen setzen Sie dieselbe Eigenschaft auf $null und starten neu.5

5. Eine Win32-App mit Shell Launcher zur Shell machen

Wenn Sie eine Edition der Enterprise-Familie einsetzen können, ist Shell Launcher der stärkste Kandidat für Terminals wie die Bedienoberfläche eines Geräts, bei denen „die bloße Existenz von Explorer schon ein Ärgernis ist“. Shell Launcher v2 (Windows 10 1809 und später) lässt CustomShellHost.exe die Geschäftsanwendung anstelle von Explorer.exe starten und überwachen, wobei sowohl eine Win32- als auch eine UWP-App die Shell sein kann.3

Die Konfiguration erfolgt über eine eigene XML, deren größtes Merkmal ist, dass Sie die Wiederherstellungsaktion pro Exitcode deklarieren können, wenn die App beendet wird.4

<ShellLauncherConfiguration
    xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
    xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
  <Profiles>
    <DefaultProfile>
      <!-- Benutzer ohne zugewiesenes Profil, etwa Wartungstechniker, erhalten den normalen Explorer -->
      <Shell Shell="%SystemRoot%\explorer.exe" />
    </DefaultProfile>
    <Profile Id="{die von Ihnen zugewiesene GUID}">
      <Shell Shell="%ProgramFiles%\Contoso\KensaPanel.exe" V2:AppType="Desktop"
             V2:AllAppsFullScreen="true">
        <ReturnCodeActions>
          <ReturnCodeAction ReturnCode="0"  Action="RestartShell"/>   <!-- normales Beenden -> Neustart -->
          <ReturnCodeAction ReturnCode="10" Action="RestartDevice"/>  <!-- Geräteneustart anfordern -->
        </ReturnCodeActions>
        <DefaultAction Action="RestartShell"/>
      </Shell>
    </Profile>
  </Profiles>
  <Configs>
    <Config>
      <AutoLogonAccount/>  <!-- erstellt den lokalen Standardbenutzer "Kiosk" und meldet ihn automatisch an -->
      <Profile Id="{die von Ihnen zugewiesene GUID}"/>
    </Config>
  </Configs>
</ShellLauncherConfiguration>

Es gibt vier Aktionen: RestartShell / RestartDevice / ShutdownDevice / DoNothing. Ist der Exitcode nicht in der Zuordnung enthalten und DefaultAction nicht definiert, „passiert nichts“ — das heißt, der Rechner bleibt bei einem schwarzen Bildschirm stehen. Definieren Sie stets eine DefaultAction.4 Zum Anwenden der Konfiguration verwenden Sie ./Vendor/MSFT/AssignedAccess/ShellLauncher per MDM, oder Sie setzen lokal die XML auf die Eigenschaft ShellLauncher von MDM_AssignedAccess über dieselbe WMI-Bridge, die auch für Zugewiesenen Zugriff verwendet wird.6 In manchen Umgebungen müssen Sie zunächst über „Windows-Features aktivieren oder deaktivieren“ die Shell-Launcher-Funktion unter Device Lockdown (Client-EmbeddedShellLauncher) aktivieren.

Drei Fallstricke, die spezifisch für Shell Launcher sind, verdienen Erwähnung.3

  • Eine App, die einen anderen Prozess startet und sich dann selbst beendet, kann nicht die Shell sein. Shell Launcher überwacht das Beenden des angegebenen Prozesses; richten Sie ihn also auf eine launcherartige EXE (write.exe im Beispiel der offiziellen Dokumentation), entscheidet er sofort, dass die Shell „beendet“ wurde.
  • Die Shell läuft mit den Rechten des angemeldeten Benutzers. Weisen Sie die Shell einem Administratorkonto zu, kann sie mit diesen Rechten alles tun; und fordert die Shell-App selbst eine Erhöhung an, kann sie nicht starten, sofern Sie UAC nicht deaktivieren. Die richtige Antwort ist, die App von vornherein so zu entwerfen, dass sie keine Erhöhung benötigt.
  • Shell Launcher verhindert nicht den Start anderer Apps. Es ersetzt nur die Shell, sodass Wege wie das Starten einer EXE über einen Dateidialog innerhalb der Geschäftsanwendung offen bleiben. Kombinieren Sie es auf Terminals, deren Benutzern Sie nicht vertrauen können, mit AppLocker oder Keyboard Filter.

6. Betriebsdesign — Automatische Anmeldung, Wiederherstellung, Update und Wartungszugriff

Einen Ansatz zu wählen und zu konfigurieren ist nicht das Ende. Das Design, das den unbeaufsichtigten Weiterbetrieb sicherstellt, ist der eigentliche Inhalt eines Kiosks.

Machen Sie für die automatische Anmeldung AutoLogonAccount in der Konfigurations-XML zu Ihrer ersten Wahl. Windows erstellt und verwaltet einen dedizierten lokalen Standardbenutzer, sodass kein Kennwort zu speichern ist.24 Der traditionelle Winlogon-Registrierungsansatz (AutoAdminLogon/DefaultUserName/DefaultPassword) funktioniert ebenfalls, lässt das Kennwort jedoch im Klartext zurück. Und da die automatische Anmeldung ausdrücklich nicht funktioniert, wenn eine EAS-Kennwortbeschränkung greift, prüfen Sie, dass dies nicht mit Ihrer MDM-Richtlinie kollidiert.7

Stürzt die App ab, überlassen Sie die erste Wiederherstellungslinie dem Betriebssystem. Ein Kiosk mit Zugewiesenem Zugriff startet die App beim Schließen automatisch neu.1 Shell Launcher konfiguriert die Wiederherstellung über DefaultAction/ReturnCodeActions.4 Darüber hinaus verbessert eine geplante nächtliche Neustartaufgabe die Wiederherstellbarkeit für den Fall, dass „es neu startet und immer wieder an derselben Ausnahme scheitert“ (zum Aufbau der Aufgabe siehe „Wenn Aufgabenplanung-Aufgaben nicht laufen oder mit 0x1 beendet werden“).

Statt Windows Update zu blockieren, steuern Sie den Zeitpunkt. Die offiziell empfohlene Konfiguration richtet die aktiven Stunden an den Geschäftszeiten aus, verwendet automatischen Download plus geplante nächtliche Installation und schaltet Benachrichtigungen einschließlich Neustartwarnungen ab.7 Verifizieren Sie an echter Hardware, dass nach einem Neustart alles automatisch durchläuft: „automatische Anmeldung → Kiosk wiederhergestellt“. Machen Sie dasselbe mit den Energieeinstellungen: Setzen Sie die Timeouts für Ruhezustand und Bildschirmausschaltung auf 0 (deaktiviert) und deaktivieren Sie die Ein-/Aus-Taste.7 Umgewidmete Notebooks und Modern-Standby-Rechner verhalten sich hier besonders eigenwillig, prüfen Sie daher auch „Ruhezustand, Winterschlaf, Modern Standby und langlaufende Apps“.

Die Löcher rund um Tastatur und Touch unterscheiden sich je nach Ansatz. Bei einem Multi-App-Kiosk (eingeschränkte Benutzerumgebung) sind Alt+F4, Alt+Tab und Strg+Alt+Entf standardmäßig nicht blockiert.7 Keyboard Filter ist das, was sie blockiert, indem es Tastenkombinationen sowohl von physischen als auch von Bildschirmtastaturen unterdrückt (aktivieren Sie es mit Dism /online /Enable-Feature /FeatureName:Client-KeyboardFilter; nur Enterprise-Familie).8 Setzen Sie auf tablettartigen Terminals die Richtlinie LockDown/AllowEdgeSwipe auf deaktiviert (0), damit ein Wischen vom Bildschirmrand keine System-UI aufruft.

Den Wartungszugriff abzusichern ist ebenso wichtig wie das Blockieren. Der Weg aus einem Kiosk mit Zugewiesenem Zugriff ist standardmäßig Strg+Alt+Entf (unter Windows 11 mit BreakoutSequence änderbar), und von dort aus melden Sie sich mit einem Administratorkonto an.2 Blockieren Sie Strg+Alt+Entf mit Keyboard Filter, wird dessen eigene Breakout-Taste (standardmäßig fünfmaliges Drücken der linken Windows-Taste) zu Ihrem letzten Weg zum Anmeldebildschirm.8 Beachten Sie außerdem, dass Keyboard Filter im abgesicherten Modus inaktiv ist und für Administratorkonten ausgenommen werden kann.8 Die Kioskumgebung ist nur an der Konsole verfügbar, aber administrative RDP-Wartung kann parallel dazu laufen, sodass ein offen gelassener Remote-Zugang die Zahl der Vor-Ort-Einsätze verringert. Geht etwas schief, ist der Kanal „AssignedAccess > Operational“ im Ereignisprotokoll die primäre Informationsquelle für Konfigurationsfehler.7

7. Design der Geschäftsanwendung und Praxisstandards (Entscheidungstabelle)

Wie fest Sie die OS-Seite auch absichern, es bleiben Löcher, wenn die App weiterhin „eine gewöhnliche Desktopanwendung“ ist. Hier die Design-Anforderungen für eine App, die Sie auf einem Kiosk einsetzen.

  • Halten Sie Vollbild- und randlose Anzeige selbst aufrecht. Shell Launchers V2:AllAppsFullScreen existiert, doch grundsätzlich sollte die App selbst dafür sorgen, maximiert, im Vordergrund und ohne Titelleiste zu bleiben, und sich beim Fokusverlust selbst wieder in den Vordergrund holen.
  • Zeigen Sie keine Schaltfläche zum Beenden. Legen Sie statt eines Schließmechanismus auf dem Bildschirm ein Wartungsmenü über eine versteckte Geste offen, die nur Wartungstechniker kennen (etwa das Antippen der vier Bildschirmecken in Reihenfolge plus ein Kennwort). Trennen Sie die Exitcodes, lässt sich das mit Shell Launchers ReturnCodeActions koordinieren — „Beenden über das Wartungsmenü → nichts tun, damit Explorer zurückkehren kann“, „Beenden nach einem Update → Gerät neu starten“.4
  • Erholen Sie sich selbst von Ausnahmen. Das schlechteste Ergebnis ist, eine unbehandelte Ausnahme zu verschlucken und den Bildschirm stehen, aber unbedienbar zu lassen. Schreiben Sie ein Protokoll, beenden Sie den eigenen Prozess umgehend, und lassen Sie den OS-seitigen Neustartmechanismus (der automatische Neustart des Kiosks, RestartShell von Shell Launcher) übernehmen.
  • Verhindern Sie mehrere Instanzen. Überschneiden sich automatische Neustartmechanismen mit der eigenen Neustartbehandlung, lassen sich doppelte Starts leicht auslösen. Setzen Sie einen mutex-basierten Schutz gegen mehrfache Instanzen ein („Mehrfache Instanzen einer Windows-App verhindern“).
  • Verlangen Sie keine Erhöhung. Das Kioskkonto sollte grundsätzlich ein Standardbenutzer sein, und bei Shell Launcher zwingt eine Shell, die eine Erhöhung benötigt, Sie dazu, UAC zu deaktivieren.3 Trennen Sie jede Verarbeitung, die Administratorrechte benötigt, gesondert ab („Wie man in einer Windows-App nur die Vorgänge auslagert, die Administratorrechte benötigen“).

Zuletzt die Entscheidungstabelle.

Frage Optionen Faustregel
Ansatz wählen Nur automatische Anmeldung / Zugewiesener Zugriff / Multi-App / Shell Launcher Ein von der Öffentlichkeit berührtes Single-App-Terminal: Single-App-Kiosk. Ein Gemeinschaftsterminal mit wenigen Apps: Multi-App. Ein Geräteterminal, bei dem Explorer vollständig verschwinden soll: Shell Launcher (nur Enterprise-Familie). Automatische Anmeldung allein ist keine Option13
Eine Win32-App zum Kiosk machen Shell Launcher / ClassicAppPath unter Windows 11 / Konvertierung zu UWP Unter Windows 11 genügen Pro plus Zugewiesener Zugriff. Unter Windows 10 Pro zu UWP konvertieren oder Multi-App + AutoLaunch verwenden; ist beides nicht möglich, die Edition wechseln2
Automatische Anmeldung Direkt in die Registrierung schreiben / AutoLogonAccount in der XML Der XML-Ansatz überlässt Windows die Kontoerstellung und -verwaltung und hinterlässt kein Klartextkennwort24
Wiederherstellung nach einem Absturz Eigener Watchdog-Prozess / OS-Neustartmechanismus + geplanter Neustart Automatischer Neustart ist in Kiosks integriert. Shell Launcher benötigt DefaultAction. Ergänzen Sie einen nächtlichen Neustart als Schutz gegen wiederholte Abstürze14
Tastenkombinationen unterdrücken Nichts tun / Keyboard Filter Bei Multi-App kommen Alt+F4 und Ähnliches direkt durch. Blockieren Sie sie in der Enterprise-Familie mit Keyboard Filter und behalten Sie die Breakout-Taste als Wartungsweg78
Wartungszugriff Alles blockieren / Breakout-Taste plus administrativer RDP entwerfen Dokumentieren Sie BreakoutSequence und die Breakout-Taste, und sichern Sie einen Remote-Wartungsweg. Ein „Terminal, in das niemand hineinkommt“ ist ein Unfall, der nur auf seine Zeit wartet28

8. Zusammenfassung

  • „Automatische Anmeldung plus Autostart-Eintrag“ ist kein Kiosk. Solange Explorer lebt, schützt das nichts — verwenden Sie Zugewiesenen Zugriff oder Shell Launcher.
  • Zugewiesener Zugriff ist ab Pro verfügbar und kann einen Single-App-Kiosk (UWP/Edge, unter Windows 11 auch Win32) sowie eine eingeschränkte Multi-App-Benutzerumgebung konfigurieren.
  • Shell Launcher ersetzt Explorer.exe durch Ihre Geschäftsanwendung. Er ist auf die Editionsfamilie Enterprise / Education / IoT Enterprise beschränkt und erlaubt es, Wiederherstellungsaktionen pro Exitcode zu deklarieren (RestartShell und so weiter).
  • Die Konfiguration wurde in den AssignedAccess-CSP vereinheitlicht, und auch ohne MDM lässt sich dieselbe XML über die WMI-Bridge plus PowerShell (als SYSTEM ausgeführt) anwenden.
  • Das Rückgrat des Betriebsdesigns lautet: automatische Anmeldung über AutoLogonAccount, Wiederherstellung über den OS-Neustartmechanismus plus geplanten Neustart, zeitliche Steuerung von Windows Update sowie das Absichern von Fluchtwegen über BreakoutSequence, die Breakout-Taste und die Remote-Wartung.
  • Die letzte Verteidigungslinie ist das Design der Geschäftsanwendung. Erst wenn sie Vollbild hält, keine Schaltfläche zum Beenden zeigt, sich selbst bei Ausnahmen erholt, mehrere Instanzen verhindert und keine Erhöhung benötigt, haben Sie tatsächlich einen „PC, der nur eine einzige Anwendung ausführt“.

Verwandte Artikel

Verwandte Beratungsbereiche

KomuraSoft LLC übernimmt die Auswahl und Konfiguration von Kiosk-Ansätzen für Empfangsterminals, Bedienoberflächen in der Fabrik und Bedienbildschirme von Prüfgeräten; das Design und die Entwicklung von Geschäftsanwendungen, die dem Kiosk-Einsatz standhalten (Vollbild-UI, Selbstwiederherstellung, Rechtetrennung); sowie die „Nachhärtung“ bestehender Terminals.

</content>

  1. Microsoft Learn, Assigned Access overview. Dazu, dass Zugewiesener Zugriff auf Pro / Enterprise (einschließlich LTSC) / Education / IoT Enterprise (einschließlich LTSC) unterstützt wird; dazu, dass eine Kioskumgebung eine UWP-App oder Microsoft Edge im Vollbild über dem Sperrbildschirm ausführt und sie beim Schließen automatisch neu startet; dazu, dass eine Kioskumgebung eine aktivierte UAC und eine Konsolenanmeldung voraussetzt, wobei Remotedesktopverbindungen nicht unterstützt werden; sowie zur Einordnung der eingeschränkten Benutzerumgebung (Multi-App).  2 3 4 5 6 7 8 9

  2. Microsoft Learn, Create an Assigned Access configuration file. Zu AppUserModelId und v4:ClassicAppPath / v4:ClassicAppArguments von KioskModeApp (Windows-11-21H2-Schema); dazu, dass die Breakout-Taste standardmäßig Strg+Alt+Entf ist und mit dem Element BreakoutSequence geändert werden kann; zur automatischen Erzeugung von AppLocker-Regeln aus einer AllAppsList-Konfiguration; zu rs5:AutoLaunch; dazu, dass AutoLogonAccount einen lokalen Standardbenutzer erstellt und verwaltet; dazu, dass KioskModeApp und ShellLauncher nicht gleichzeitig auf demselben Gerät konfigurierbar sind; sowie dazu, dass Kiosk-Profile nicht Gruppen zugewiesen werden können.  2 3 4 5 6 7 8 9 10 11 12 13 14

  3. Microsoft Learn, Shell Launcher overview. Dazu, dass Shell Launcher eine Funktion ist, die Explorer.exe durch eine Win32-/UWP-App ersetzt; zu den unterstützten Editionen Enterprise / Enterprise LTSC / Education / IoT Enterprise / IoT Enterprise LTSC; dazu, dass v2 CustomShellHost.exe verwendet und sowohl Win32 als auch UWP unterstützt; dazu, dass es den Zugriff auf andere Apps nicht verhindert und daher mit AppLocker o. Ä. kombiniert werden muss; dazu, dass eine App, die einen anderen Prozess startet und sich beendet, nicht als Shell nutzbar ist; sowie dazu, dass die Shell mit den Rechten des angemeldeten Benutzers läuft und UAC deaktiviert werden muss, wenn eine Erhöhung erforderlich ist.  2 3 4 5 6 7 8 9

  4. Microsoft Learn, Create a Shell Launcher configuration file. Zum Aufbau der XML ShellLauncherConfiguration (Profiles/Shell/Configs); zu V2:AppType und V2:AllAppsFullScreen; zu den vier Exit-Aktionen RestartShell / RestartDevice / ShutdownDevice / DoNothing; dazu, dass nichts geschieht, wenn der Exitcode nicht in der Zuordnung enthalten und DefaultAction nicht definiert ist, weshalb DefaultAction definiert werden muss; sowie dazu, dass AutoLogonAccount den lokalen Standardbenutzer „Kiosk“ erstellt und verwaltet.  2 3 4 5 6 7 8 9

  5. Microsoft Learn, Quickstart: Configure a single-app kiosk with Assigned Access. Zum Konfigurationsverfahren in der Einstellungen-App (Konten > Andere Benutzer > Kiosk einrichten); zum Anwenden der Konfiguration auf den AssignedAccess-CSP (./Vendor/MSFT/AssignedAccess/Configuration); sowie zum Verfahren, die WMI-Bridge (die Eigenschaft Configuration der Klasse MDM_AssignedAccess) aus einer als SYSTEM laufenden PowerShell zu verwenden, samt dem Verfahren zum Entfernen.  2 3 4

  6. Microsoft Learn, Quickstart: Configure a single-app kiosk with Shell Launcher. Zum Verfahren, die Shell-Launcher-XML über den AssignedAccess-CSP-Knoten (./Vendor/MSFT/AssignedAccess/ShellLauncher) oder die WMI-Bridge (die Eigenschaft ShellLauncher der Klasse MDM_AssignedAccess) anzuwenden, samt dem Verfahren zum Entfernen.  2

  7. Microsoft Learn, Assigned Access recommendations. Zur Empfehlung, das Kioskkonto zu einem lokalen Standardbenutzer mit minimalen Rechten zu machen; zur Konfiguration der automatischen Anmeldung über die Winlogon-Registrierung und dazu, dass automatische Anmeldung nicht funktioniert, wenn eine EAS-Kennwortbeschränkung greift; zur empfohlenen Konfiguration für Windows Update (aktive Stunden, geplante Installation, Benachrichtigungen aus) und Energieeinstellungen; dazu, dass Alt+F4, Alt+Tab und Strg+Alt+Entf in einer eingeschränkten Benutzerumgebung nicht blockiert werden; dazu, dass ein UWP-App-Update die AUMID ändern kann; sowie zum AssignedAccess-Ereignisprotokoll.  2 3 4 5 6 7 8

  8. Microsoft Learn, Keyboard Filter. Dazu, dass Keyboard Filter Tastenkombinationen einschließlich Strg+Alt+Entf sowohl auf physischen als auch auf Bildschirmtastaturen unterdrücken kann; zu den unterstützten Editionen der Familie Enterprise / Education / IoT Enterprise; zur Aktivierung über DISM (Client-KeyboardFilter); zur Rückkehr zum Anmeldebildschirm über die Breakout-Taste (standardmäßig fünfmaliges Drücken der linken Windows-Taste); zur Ausnahme für Administratorkonten; dazu, dass es im abgesicherten Modus nicht funktioniert; sowie dazu, dass es in Remotedesktop-Sitzungen nicht unterstützt wird.  2 3 4 5 6

  9. Microsoft Learn, Set-AssignedAccess. Dazu, dass das Cmdlet Set-AssignedAccess einen angegebenen Benutzer auf eine einzige Store-App (UWP) beschränkt; dazu, dass das Ziel auf lokale Standardbenutzer begrenzt ist, wobei Administrator- und Domänenkonten nicht akzeptiert werden; sowie zum Entfernen über Clear-AssignedAccess. 

Aktuelle Artikel mit denselben Schlagwörtern führen zu verwandten Themen weiter.

Diese Seiten ordnen den Artikel in einen größeren Leistungs- und Entscheidungskontext ein.

Häufige Fragen

Fragen, die in Beratungen zu diesem Artikelthema häufig gestellt werden.

Kann Zugewiesener Zugriff unter Windows Pro verwendet werden?
Ja. Zugewiesener Zugriff (Single-App-Kiosk und die eingeschränkte Multi-App-Benutzerumgebung) wird auf Pro, Enterprise, Education und IoT Enterprise unterstützt, einschließlich der jeweiligen LTSC-Varianten. Shell Launcher, der Explorer.exe selbst durch Ihre Geschäftsanwendung ersetzt, ist nur für die Editionsfamilie Enterprise / Education / IoT Enterprise verfügbar und kann auf Pro nicht verwendet werden. Beachten Sie außerdem, dass eine Kioskumgebung eine aktivierte UAC und eine Anmeldung über die Konsole voraussetzt; eine Kioskumgebung über eine Remotedesktopverbindung wird nicht unterstützt.
Brauche ich Shell Launcher, um eine Win32-Desktopanwendung als Kiosk auszuführen?
Unter Windows 11 nicht. Zugewiesener Zugriff unter Windows 11 (ab dem 21H2-Schema) erlaubt es, das Attribut v4:ClassicAppPath des Elements KioskModeApp auf den ausführbaren Pfad einer Desktopanwendung zu richten, sodass Sie einen Single-App-Kiosk mit einer Win32-App auch auf einem Pro-Rechner einrichten können. Kiosks mit Zugewiesenem Zugriff unter Windows 10 sind auf UWP-Apps und Microsoft Edge beschränkt. Wenn Sie dort nur eine einzige Win32-App ausführen möchten, sind Shell Launcher (nur Enterprise-Familie) oder eine Multi-App-Konfiguration mit AutoLaunch die realistischen Optionen. Klären Sie vor dem Entwurf, welche Edition welchen Ansatz unterstützt.
Startet die Kiosk-App bei unerwartetem Beenden automatisch neu?
Das Verhalten unterscheidet sich je nach Ansatz. Bei einem Single-App-Kiosk mit Zugewiesenem Zugriff ist festgelegt, dass die App beim Schließen automatisch neu gestartet wird. Bei Shell Launcher können Sie deklarativ konfigurieren, was beim Beenden der als Shell eingesetzten App geschieht, über DefaultAction und ReturnCodeActions, mit der Wahl zwischen RestartShell (Shell neu starten), RestartDevice (Gerät neu starten), ShutdownDevice und DoNothing. Ist für den Exitcode keine Aktion definiert und auch keine DefaultAction festgelegt, passiert nichts, und der Rechner bleibt bei einem schwarzen Bildschirm stehen — definieren Sie daher stets eine DefaultAction. Die Anwendung muss außerdem so entworfen sein, dass sie sich bei einer unbehandelten Ausnahme selbst beendet, damit die Wiederherstellungsaktion greifen kann.
Wie soll sich ein Wartungstechniker als Administrator anmelden?
Eine Kioskumgebung mit Zugewiesenem Zugriff lässt sich standardmäßig mit Strg+Alt+Entf verlassen, und unter Windows 11 können Sie diese Tastenkombination mit dem Element BreakoutSequence ändern. In einer Konfiguration, in der auch der Keyboard Filter Strg+Alt+Entf blockiert, können Sie über die eigene Breakout-Taste des Keyboard Filters (standardmäßig fünfmaliges Drücken der linken Windows-Taste) einen Rückweg zum Anmeldebildschirm offen lassen. Die Kioskumgebung selbst ist nur an der Konsole verfügbar, aber die administrative Wartung per Remotedesktop mit einem Administratorkonto lässt sich als separate Sitzung parallel dazu nutzen. Wichtig ist, nicht jeden Fluchtweg zu blockieren und dadurch ein Terminal zu schaffen, das sich nur noch vor Ort wiederherstellen lässt.
Ist es sicher, das Kennwort für die automatische Anmeldung in der Registrierung abzulegen?
Das empfehlen wir nicht. Beim Ansatz über Winlogon AutoAdminLogon bleibt DefaultPassword im Klartext in der Registrierung stehen. Sowohl die Konfigurations-XML von Zugewiesenem Zugriff als auch die von Shell Launcher besitzen ein Element AutoLogonAccount, mit dem Windows selbst einen dedizierten lokalen Standardbenutzer erstellt, verwaltet und automatisch anmeldet, sodass Sie nie selbst ein Kennwort speichern müssen. Machen Sie das Kioskkonto grundsätzlich zu einem lokalen Standardbenutzer mit minimalen Rechten und vermeiden Sie die Wiederverwendung eines Domänenkontos. Beachten Sie außerdem, dass die automatische Anmeldung auf Rechnern nicht funktioniert, auf denen eine Exchange-ActiveSync-Kennwortrichtlinie greift.

Autorenprofil

Profilseite des Artikelautors.

Go Komura

Geschäftsführer von KomuraSoft LLC

Spezialisiert auf Windows-Softwareentwicklung, technische Beratung und Fehleranalyse, insbesondere bei bestehenden Systemen und schwer reproduzierbaren Störungen.

Zurück zum Blog