EinfĂŒhrung
â Marketingbezeichnung fĂŒr die nĂ€chste Version von Windows 10. Die Veröffentlichung dieser Version wurde im September 2018 angekĂŒndigt und hat die Version 1809, wobei 18 das Jahr und 09 den Monat darstellt. Zu der neuen Version Windows 10 1809 sind viele Artikel geschrieben worden, aber die meisten davon befassen sich mit verschiedenen âSchnickschnackâ, âĂsthetikâ und verschiedenen Funktionen, die im privaten Umfeld gefragt sind.
In diesem Artikel geht es nur um die FunktionalitĂ€t, die fĂŒr Hersteller von festgelegten GerĂ€ten von Interesse sein könnte. Insbesondere um die neuen Möglichkeiten des âKioskâ-Modus. Auch das Thema der NamensĂ€nderungen der Servicemodelle fĂŒr die Windows-Editionen im Unternehmensbereich wird angesprochen.
Das alte Servicemodell mit neuem Namen
Ich beginne mit einer kurzen ErklÀrung: Im Unternehmensbereich der Windows-Editionen gibt es zwei Servicemodelle, nach denen Windows-Updates erhÀlt. Diese Modelle haben eine Buchstabenbezeichnung. Aktuell werden die Servicelinien LTSC und SAC genannt.
LTSC â bedeutet (mit langfristigem Support). Zuvor wurde dieser Kanal als LTSB â Long Term Servicing Branch bezeichnet, Microsoft hat einfach den Namen des Servicemodells geĂ€ndert, die Wartung selbst blieb jedoch unverĂ€ndert.
Auch Microsoft hat den Namen der Servicelinie CBB â Current Branch for Business geĂ€ndert, jetzt heiĂt diese Servicelinie SAC â . Wiederum wurde nur der Name geĂ€ndert.
Es sollte jedoch erwĂ€hnt werden, dass fĂŒr die Servicelinien LTSC und SAC unterschiedliche Windows-Distributionen verwendet werden.
Ein wenig ĂŒber den neuen Kiosk-Modus in SAC
Wie ich bereits erwĂ€hnt habe, haben LTSC und SAC unterschiedliche Distributionen. In LTSC gibt es keine standardmĂ€Ăigen universellen Anwendungen und keinen App-Store, aber in SAC gibt es diese. Dementsprechend gibt es in LTSC keinen Edge-Browser, wĂ€hrend dieser in SAC vorhanden ist. Wenn man bei der Kiosk-Einrichtung den Edge-Browser wĂ€hlt, stehen nun zwei Modi zur VerfĂŒgung:
- Als digitales Zeichen oder interaktives Display
- Als öffentlicher Browser
Ich werde nicht nĂ€her auf die Einrichtung dieser Modi eingehen, da die Einrichtung sehr einfach ist und im grafischen Interface durchgefĂŒhrt wird. Erstellen Sie einfach einen Benutzer, der nicht der Gruppe âAdministratorenâ angehört, aktivieren Sie den Kiosk-Modus mit EDGE und sehen Sie sich die Funktionsweise dieser Modi an.
Kiosk mit vielen Anwendungen
Einige denken, dass die lizenzkonforme Nutzung unterstellt, dass auf dem GerĂ€t nur eine Anwendung arbeitet, ist tatsĂ€chlich nicht der Fall. Das GerĂ€t sollte fĂŒr die DurchfĂŒhrung einer einzelnen GeschĂ€ftsanwendung vorgesehen sein, und der Benutzer darf keinen Zugriff auf den Desktop haben. Jetzt hat Microsoft selbst ein Werkzeug bereitgestellt, um viele Anwendungen zu nutzen. Dieser Modus wird als âmulti-app kioskâ bezeichnet, und ich werde ihn der Einfachheit halber âMultikioskâ nennen. In diesem Artikel werden wir die Einstellung dieses Modus mithilfe eines Bereitstellungspakets und einige Besonderheiten dieses Modus betrachten.
Ein wenig ĂŒber den Modus âMultikioskâ
Beim Einstieg in das Benutzerkonto, fĂŒr das der Multikiosk-Modus eingerichtet ist, wird das System im Tablet-Modus arbeiten. Das StartmenĂŒ wird im Vollbildmodus angezeigt, in dem die Kachel-Anwendungen angezeigt werden.
Liste der wichtigsten Einstellungen und Möglichkeiten des Modus:
- Einstellungen fĂŒr mehrere Benutzer oder Gruppen
- Jeden Benutzer oder jede Gruppe können individuelle Einstellungen zugewiesen werden
- Möglichkeit zur Nutzung von universellen und klassischen Anwendungen
- Möglichkeit, eine der Anwendungen automatisch zu starten, wenn der Benutzer sich im System anmeldet
- Betrieb von Anwendungen nach Whitelist
- Zugriff auf Ordner nach Whitelist
Es ist darauf hinzuweisen, dass Punkt 5. standardmĂ€Ăig nur Anwendungen zulĂ€sst, die fĂŒr den Betrieb des Systems erforderlich sind; alle anderen Anwendungen mĂŒssen zur Liste der zugelassenen hinzugefĂŒgt werden. Das bedeutet, dass AppLocker nicht separat konfiguriert werden muss. Ăbrigens, um Konflikte mit den AppLocker-Einstellungen zu vermeiden, werden im Multikiosk-Modus alle konfigurierten AppLocker-Regeln nicht wirksam sein.
In Punkt 6 wird eine gute Möglichkeit dargestellt, jedoch ist es momentan nur möglich, Schreibrechte nur fĂŒr den Ordner âDownloadsâ zu gewĂ€hren. Der Modus erlaubt die Verwendung von universellen und klassischen Anwendungen. Alle Einstellungen des Modus werden in einer XML-Datei angegeben, in der auch Einstellungen fĂŒr einen Kiosk mit einer einzelnen Anwendung angegeben werden können.
Jetzt versuchen wir, das alles einzurichten...
Was wir benötigen...
- ZunĂ€chst benötigen wir das Betriebssystem, das den Multikiosk-Modus unterstĂŒtzt. die Demoversion
- Einen beliebigen XML-Editor
- Um die Einstellungen des Multikiosks anzuwenden:
- FĂŒr Methode Nr. 1 â ICD, das Teil von ADK ist. ADK kann
- FĂŒr Methode Nr. 2 â das Tool PsExec. Das Tool kann
Er sagte â âLass uns fahren!â
Alle Versuche werde ich auf Windows 10 IoT Enterprise 1809 LTSC x32, der kommerziellen Version und nicht der Demoversion, durchfĂŒhren. Das System wird ohne Aktivierung sein, da das Fehlen einer Aktivierung keine Auswirkungen auf die FunktionalitĂ€t des Systems hat. Ich habe 32 Bit gewĂ€hlt, nur weil es weniger Platz benötigt und die Arbeit mit Systemabbildern schneller geht.
Schritt 1 â Installation
Die Installation von Win 10 IoT Enterprise unterscheidet sich nicht von der Installation von Win 10 Enterprise, weshalb ich den gesamten Installationsprozess nicht beschreiben werde, sondern nur auf einige Nuancen eingehe.
Zur Sicherheit erinnere ich daran, das System nicht ĂŒber einem bestehenden zu installieren. Wenn der Installer nach dem Installationsort fragt, löschen Sie alle Partitionen auf dem zukĂŒnftigen Systemlaufwerk und geben Sie die nicht partitionierte Festplatte an.
Wir installieren das System ohne Internetverbindung, damit das System nichts Unnötiges herunterlÀdt.
Da wir Systemabbilder erstellen werden und diese im Auditsmodus versiegeln, können wir etwas Zeit sparen, indem wir das System direkt nach der Installation im Auditsmodus starten. Dazu drĂŒcken Sie einfach âCtrl+Shift+F3â, wenn das System Sie auffordert, die Region auszuwĂ€hlen: âLass uns mit der Region beginnen. Ist das richtig?â
Schritt 2 â Erstellen eines Systemabbilds
Da wir die Tests mit dem System durchfĂŒhren und verschiedene neue Einstellungen ausprobieren werden, kann es vorkommen, dass etwas schiefgeht und wir das System in den Ursprungszustand zurĂŒckversetzen mĂŒssen. Um schnell in den Ursprungszustand zurĂŒckzukehren, mĂŒssen wir ein Systemabbild erstellen. Das Einzige, was ich tun werde, ist, das âGentleman-Setâ â das Skript und die Antwortdatei zu kopieren. Alle Dateien befinden sich im Ordner âSysprepâ, den ich in das Stammverzeichnis des Systemlaufwerks kopiere. Und natĂŒrlich werde ich dieses âGentleman-Setâ mit Ihnen teilen.
Sysprep.bat â zum Versiegeln des Systems.
@echo off
chcp 1251>nul
net session>nul 2>nul
if %errorLevel% neq 0 (powershell -command "Start-Process "%~s0" -Verb RunAs"&exit)
tasklist /fi "ImageName eq sysprep.exe" | find /i "sysprep.exe"
if %errorlevel% lss 1 (taskkill /im sysprep.exe)
set AdminName=Admin
net user minName%>nul 2>nul
if %errorLevel% neq 0 (call :AddAdmin "minName%")
if %errorLevel% neq 0 (call :ShowMessage "âĄâĄâĄFehler beim Erstellen des neuen Administratorbenutzers "minName%"âĄâĄDrĂŒcken Sie eine Taste, um das Skript zu beenden"&pause>nul&exit)
pushd "%~dp0"
cls
call :ShowMessage âĄâĄâĄâĄâĄâĄâĄâĄâĄâĄ
echo 1 - System im Audit-Modus versiegeln
echo 2 - System im Willkommensmodus versiegeln
:Select
set /p Choice="Geben Sie die Nummer des MenĂŒpunkts ein: "
if "%Choice%"=="1" (goto Audit)
if "%Choice%"=="2" (goto OOBE)
echo.&echo UngĂŒltiger Wert ausgewĂ€hlt.&goto Select
exit
:Audit
call :ShowMessage "âĄâĄâĄâĄâĄVersiegelung des Systems im Audit-Modus"
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionRun /v KillSysprep /t REG_SZ /d "taskkill /im sysprep.exe" /f
%SYSTEMROOT%System32Sysprepsysprep.exe /audit /generalize /shutdown /quiet
goto :eof
:OOBE
call :ShowMessage "âĄâĄâĄâĄâĄVersiegelung des Systems im Willkommensmodus"
reg delete HKLMSoftwareMicrosoftWindowsCurrentVersionRun /v KillSysprep /f
powershell -command "(Get-Content -path 'Unattend.xml' -Raw).Trim() -replace 'Architecture=""".+?"""','Architecture="""%PROCESSOR_ARCHITECTURE%"""' | Set-Content -path 'Unattend.xml'"
%SYSTEMROOT%System32Sysprepsysprep.exe /oobe /generalize /shutdown /quiet /unattend:Unattend.xml
goto :eof
:AddAdmin
setlocal
set UserName=%~1
if not defined UserName (echo Kein Benutzername angegeben&endlocal&exit /b 1)
call :GetGroupName "S-1-5-32-544" AdminGroup
if not defined AdminGroup (endlocal&exit /b 2)
call :GetGroupName "S-1-5-32-545" UserGroup
if not defined UserGroup (endlocal&exit /b 3)
net user %UserName% /add
wmic useraccount where "Name='%UserName%'" set PasswordExpires=False>nul
net localgroup minGroup% %UserName% /add
net localgroup %UserGroup% %UserName% /delete
endlocal&exit /b 0
goto :eof
:GetGroupName
if "%~1"=="" (echo Keine Gruppen-SID angegeben&goto :eof)
set %2=
for /f "tokens=2 delims= " %%i in ('whoami /groups /fo table^|find "%~1"') do set %2=%%i
if not defined %2 (echo Fehler beim Bestimmen des Gruppennamens anhand der SID "%~1")
goto :eof
:ShowMessage
setlocal enabledelayedexpansion
set String=%~1
if not defined String (echo.&setlocal disabledelayedexpansion&goto :eof)
set /a ConCols=120 & set /a Num=1
set "String[!Num!].str=%String:âĄ=" & set /a Num+=1 & set "String[!Num!].str=%"
for /l %%a in (1,1,%Num%) do (
for /l %%b in (0,1,%ConCols%) do if "!String[%%a].str:~%%b!" == "" (set "String[%%a].str= !String[%%a].str! "&set /a String[%%a].len-=1) else (set /a String[%%a].len+=0||set /a String[%%a].len=0)
if not defined String[%%a].str (set String[%%a].str= )
if not !String[%%a].len! equ 0 (call set String[%%a].str=%%String[%%a].str:~,!String[%%a].len!%%)
if "!String[%%a].str: =!"=="" (echo.) else (echo !String[%%a].str!))
setlocal disabledelayedexpansion
goto :eofBeim Start des Skripts wird ĂŒberprĂŒft, ob ein Benutzerkonto "Admin" vorhanden ist, und es wird erstellt, wenn es nicht existiert. Das Benutzerkonto wird zur Gruppe "Administratoren" hinzugefĂŒgt.
Unattend.xml â Antwortdatei fĂŒr Sysprep.
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
1
Seite mit dem SchlĂŒssel nicht anzeigen
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f
2
Kein Konto erstellen
cmd.exe /c rd %systemdrive%Sysprep /s /q
3
Ordner löschen
true
Admin
en-US; ru-RU
ru-RU
ru-RU
ru-RU
true
true
true
true
true
1Beim Versiegeln im Audit-Modus wird das Skript einen Befehl zum Beenden des Prozesses âsysprep.exeâ in die Registrierung hinzufĂŒgen, um das Fenster von sysprep nicht jedes Mal manuell zu schlieĂen. Beim Versiegeln im Willkommensmodus wird das Skript den Befehl zum SchlieĂen des Fensters aus der Registrierung entfernen und selbst den Architekturwert in der Antwortdatei auf den aktuellen Wert Ă€ndern. In der Antwortdatei sind Parameter fĂŒr das Laden des Systems ohne Benutzereingriff und ein Befehl zum Löschen des Ordners âSysprepâ im Wurzelverzeichnis des Systemlaufwerks enthalten.
Jetzt werde ich das System im Audit-Modus mit âSysprep.batâ versiegeln und ein Systemabbild erstellen. Ich werde das Systemabbild mit DISM erstellen und nur das Systemlaufwerk abbilden. Wenn Sie nur das Systemlaufwerk und nicht die gesamte Festplatte abbilden, vergessen Sie nicht, den Inhalt des Verzeichnisses âWindowsSystem32Recoveryâ auf das erste Laufwerk in den Ordner âRecoveryWindowsREâ nach der Bereitstellung des Systems zu kopieren. Dies muss vor dem Start des Betriebssystems erfolgen, da das Verzeichnis âWindowsSystem32Recoveryâ nach dem Start des Betriebssystems bereits leer sein wird.
Schritt 3 â Russifizierung des Systems
Das Sprachpaket kann ohne Internetverbindung installiert werden, wenn Sie dieses Paket haben. Wenn nicht, wird das System es automatisch aus dem Internet herunterladen, wenn Sie die Sprache in den Einstellungen hinzufĂŒgen. Sie sollten nur kein Sprachpaket von vorherigen Versionen des Betriebssystems verwenden. FĂŒr Windows 10 1809 muss das Sprachpaket speziell fĂŒr Windows 10 1809 sein.
Microsoft folgt seinem Plan â einen schrittweisen Ăbergang der Einstellungen vom klassischen MenĂŒ in die neue OberflĂ€che, daher finden Sie in der klassischen Systemsteuerung keine Einstellungen mehr zum Ăndern der Sprache und zur Installation des Sprachpakets. Diese Einstellungen befinden sich jetzt nur in den Systemeinstellungen.
Im Audit-Modus können Sie auf das Problem stoĂen, die Systemeinstellungen ĂŒber das StartmenĂŒ zu öffnen. Um die Systemeinstellungen zu öffnen, fĂŒhren Sie den Befehl â âms-settings:â aus, beachten Sie das Doppelpunkt am Ende des Befehls, ohne ihn funktioniert der Befehl nicht. Nach einmaligem Ăffnen der Systemeinstellungen mit diesem Befehl können Sie sie ĂŒber das grafische MenĂŒ öffnen.
In den Systemeinstellungen können Sie das Sprachpaket installieren, wenn das System mit dem Internet verbunden ist; dort gibt es keine Möglichkeit, das Sprachpaket aus einer lokalen Datei zu installieren.
Ich werde den Lokalisierungsprozess des Systems nicht beschreiben, da dies den Artikel erheblich verlĂ€ngern wĂŒrde, zumal der Lokalisierungsprozess detailliert . Ich möchte jedoch Ihre Aufmerksamkeit auf eine Besonderheit der Ănderung der Sprache des Systems nach der Installation des Sprachpakets ĂŒber die Konsole lenken. Diese Besonderheit ist im selben Wiki beschrieben, auf das ich zuvor verwiesen habe, im Unterabschnitt .
Ich werde das Sprachpaket ohne Internetverbindung installieren.
Nach der vollstÀndigen Lokalisierung des Systems sollten Sie unbedingt ein System-Image erstellen.
Schritt 4 â Installation notwendiger Anwendungen
Da in den LTSB- und LTSC-Systemen kein App Store vorhanden ist, verursacht die Installation von Anwendungen aus dem âMicrosoft Storeâ einige Schwierigkeiten, insbesondere beim Herunterladen der Anwendung. Um das Herunterladen von Anwendungen zu erleichtern, hat das Unternehmen âAdguardâ einen sehr praktischen Dienst geschaffen â , mit dem Sie temporĂ€re Links zum Herunterladen von Anwendungen und deren Komponenten erhalten können.
FĂŒr die Installation der Anwendung benötigen Sie Dateien mit den Erweiterungen âAppxâ und âAppxBundleâ. Bevor Sie die Anwendung selbst installieren, mĂŒssen Sie deren Komponenten installieren. In der Regel lassen sich die Komponenten einer Anwendung intuitiv am Dateinamen erkennen.
Um den Artikel nicht zu lang zu machen, werde ich den Installationsprozess der Anwendungen nicht im Detail beschreiben, zumal es eine gibt. Aber ich werde einen weiteren Installationsweg in dem aktuellen Benutzerkonto hinzufĂŒgen. Anwendungen können mit dem Programm installiert werden, aber fĂŒr die Installation von Anwendungen ist eine Internetverbindung erforderlich, dafĂŒr kann die Installation durch Doppelklick auf die Maus erfolgen und Sie benötigen keine Komponenten, alle notwendigen Komponenten werden heruntergeladen und installiert von .
Und eine kleine Erinnerung: Beim Installieren von Anwendungen im aktuellen Benutzerkonto kann das System nicht versiegelt werden. Wie Anwendungen installiert werden, damit das System versiegelt werden kann, sehen Sie in der oben erwĂ€hnten Anleitung. Um die Funktion des Multikiosk zu ĂŒberprĂŒfen, reichen die bereits vorhandenen Anwendungen völlig aus.
Schritt 5 â Erstellen einer Einstellungsdatei fĂŒr den Multikiosk
Nun sind wir beim Interessantesten angekommen â bei der Einstellung des Kioskmodus. Wir schauen in die Einstellungen und sehen. ZunĂ€chst mĂŒssen wir eine Konfigurations-XML-Datei erstellen, ein vollstĂ€ndiges Beispiel davon können Sie .
Lass uns mit der Anordnung der Kacheln beginnen. Der einfachste Weg, eine XML-Konfigurationsdatei fĂŒr die Kacheln zu erstellen, ist .
Zuerst fĂŒgen wir im StartmenĂŒ die Kacheln der Anwendungen hinzu, die wir benötigen. Wir öffnen die Suche mit âWin+sâ, finden die benötigte Anwendung, klicken mit der rechten Maustaste darauf und wĂ€hlen die Option âAn Start anheftenâ.
Ich habe die folgenden Anwendungen angeheftet:
- Notepad
- Taschenrechner
- Internet Explorer
- Paint
- WordPad
- Parameter
- Windows-Sicherheit
Die letzten beiden Anwendungen wurden angeheftet, da in der Standardinstallation von LTSC keine weiteren universellen Anwendungen vorhanden sind. Bitte beachten Sie, dass die Kacheln klassischer Anwendungen auf VerknĂŒpfungen verweisen. Nun werde ich die angehefteten Kacheln im StartmenĂŒ in zwei Gruppen aufteilen, indem ich die Kacheln direkt im StartmenĂŒ verschiebe. Um eine neue Gruppe von Kacheln zu erstellen, ziehen Sie eine Kachel erheblich ĂŒber oder unter andere Kacheln, dabei wird ein intuitiv verstĂ€ndlicher Trenner angezeigt. Sie können die Gruppen nach Belieben benennen, indem Sie den Mauszeiger ĂŒber die Gruppe bewegen und, wenn die Aufforderung âGruppe benennenâ erscheint, mit der linken Maustaste klicken. Die erste Gruppe werde ich âEinstellungenâ nennen, sie wird die Kacheln âOptionenâ und âWindows-Sicherheitâ enthalten. Die zweite Gruppe werde ich âBĂŒroanwendungenâ nennen, in die alle anderen Kacheln fallen. Ăbrigens können Sie auch ganze Gruppen von Kacheln verschieben, indem Sie sie an den zwei Streifen ziehen, die sich oben rechts vom Gruppennamen befinden.
Da der Name auf der Kachel âWindows-Sicherheitâ nicht vollstĂ€ndig passt, werde ich ihre GröĂe auf âBreitâ Ă€ndern. Um die GröĂe der Kachel zu Ă€ndern, klicken Sie mit der rechten Maustaste auf die Kachel und wĂ€hlen Sie die Option âGröĂe Ă€ndernâ.
Nach der Konfiguration exportieren wir den aktuellen Zustand, indem wir den Befehl in der PowerShell-Umgebung ausfĂŒhren â âExport-StartLayout â path C:SysprepStartLayout.xmlâ.
Danach ist es am einfachsten, die Datei fĂŒr die Einstellungen nicht selbst zu erstellen, sondern Einstellungen â klicken Sie auf die SchaltflĂ€che âCopyâ, fĂŒgen Sie den Inhalt in ein Notizbuch ein und speichern Sie ihn als âMultiAppKiosk.xmlâ. Jetzt Ă€ndern wir die Einstellungen nach Ihren WĂŒnschen. Um die Einstellungen fĂŒr die angehefteten Kacheln zu Ă€ndern, kopieren Sie den gesamten Block âStartLayoutCollectionâ aus âStartLayout.xmlâ in âMultiAppKiosk.xmlâ. Um Anwendungen zu den erlaubten hinzuzufĂŒgen, mĂŒssen die IDs der universellen Anwendungen im Abschnitt âAllowedAppsâ eingefĂŒgt werden, und in denselben Block den vollstĂ€ndigen Pfad zu den ausfĂŒhrbaren Dateien klassischer Anwendungen, der in den Eigenschaften der VerknĂŒpfungen angegeben ist, auf die die Kacheln verweisen. Um schnell zur VerknĂŒpfung zu gelangen, klicken Sie mit der rechten Maustaste auf die angeheftete Kachel und navigieren Sie im MenĂŒ zu âErweitert > Zu Dateispeicherort wechselnâ. Beachten Sie, dass zur Angabe der ID der universellen Anwendung der Parameter âAppUserModelIdâ verwendet wird, wĂ€hrend zur Angabe des vollstĂ€ndigen Pfades zur klassischen Anwendung der Parameter âDesktopAppPathâ verwendet wird. Und noch eine kleine Anmerkung: Wenn Sie planen, IE auf einem x64-System zu verwenden, mĂŒssen im Verzeichnis der erlaubten Anwendungen zwei Pfade fĂŒr die ausfĂŒhrbare Datei angegeben werden: âProgram FilesInternet Exploreriexplore.exeâ und âProgram Files (x86)Internet Exploreriexplore.exeâ.
Zugriff auf die Ordner werde ich nicht gewĂ€hren, daher lösche ich den Abschnitt âFileExplorerNamespaceRestrictionsâ.
Die Anzeige der Taskleiste stört mich nicht, daher lasse ich im Abschnitt âTaskbarâ alles beim alten.
Im Beispiel sind zwei Profile angegeben, aber ich habe nur ein Profil, daher kann der Abschnitt mit dem zweiten Profil gelöscht werden. Achten Sie vor dem Löschen auf das Beispiel fĂŒr den automatischen Start der Anwendung mit Argumenten.
Im Abschnitt âConfigsâ sind die Konten mit den Profilen verknĂŒpft; beachten Sie, dass viele Konten einem Profil zugeordnet werden können. Da ich jedoch nur an einem Konto interessiert bin, werde ich alle VerknĂŒpfungen auĂer der ersten entfernen â die Blöcke âConfigâ. In der verbleibenden VerknĂŒpfung gebe ich den Benutzernamen âUserâ ein.
Ich habe eine solche Datei mit Parametern erhalten
MultiAppKiosk.xml
<![CDATA[
]]>
BenutzerWenn Sie Ihre XML-Dateien erstellen, vergessen Sie nicht, dass jeder Profil eine einzigartige ID haben muss, und zwar nicht nur innerhalb einer XML-Datei, sondern auch innerhalb eines Betriebssystems. Idealerweise, um keine Verwirrung zu stiften, können Sie jedes Mal eine neue Kennung erstellen; dies können Sie in PowerShell mit dem Befehl â[guid]::NewGuid()â tun. Und speichern Sie die Datei unbedingt in der Kodierung âUTF-8â. Wenn die Datei in der Kodierung âANSIâ gespeichert wird, erhalten Sie beim Erstellen des Vorbereitungspakets einen Fehler, wenn die XML-Datei kyrillische Schriftzeichen enthĂ€lt.
Schritt 6 â Anwendung der Multikiosk-Einstellungen
Betrachten wir zwei Möglichkeiten zur Anwendung der im Konfigurationsdatei beschriebenen Einstellungen. Die erste â ĂŒber das Vorbereitungspaket, das in ICD erstellt werden muss. FĂŒr einige mag diese Methode vertrauter sein. Die zweite â unter Verwendung des âMDM Bridge WMI Providersâ, diese Methode schien mir bequemer.
Methode Nr. 1
Wer kein ICD hat, und installieren Sie es. Die Installation des ADK ist sehr einfach, die Komponenten können auf die Standardwerte belassen werden.
Starten Sie ICD, klicken Sie auf die Kachel âErweiterte Vorbereitungâ, geben Sie den Namen und den Ordner des Projekts an und klicken Sie auf âWeiterâ. Im nĂ€chsten Fenster wĂ€hlen Sie âAlle Windows-Versionen fĂŒr Desktop-Computerâ aus und klicken Sie auf âWeiterâ. Den Import des Vorbereitungspakets können Sie ĂŒberspringen, klicken Sie auf âFertigâ.
Erweitern Sie das Dropdown-MenĂŒ âLaufzeiteinstellungenâ, erweitern Sie das UntermenĂŒ âAssignedAccessâ und wĂ€hlen Sie den Punkt âMultiAppAssignedAccessSettingsâ. Oben im mittleren Bereich des ICD-Fensters klicken Sie auf die SchaltflĂ€che âDurchsuchenâ und geben den Speicherort der XML-Datei mit den Einstellungen an. Zur Sicherheit können Sie das Projekt speichern, indem Sie âStrg+sâ drĂŒcken. In der oberen linken Ecke von ICD wĂ€hlen Sie âExportierenâ und im Dropdown-MenĂŒ den Punkt âVorbereitungspaketâ. Als EigentĂŒmer wĂ€hlen Sie âIT-Administratorâ, alle anderen Fragen können Sie durch Klicken auf âWeiterâ ĂŒberspringen, und schlieĂlich klicken Sie auf âErstellenâ und âFertigâ.
In dem installierten System vergessen Sie nicht, den Benutzer âUserâ zu erstellen; diesen dĂŒrfen Sie nicht zur Gruppe âAdministratorenâ hinzufĂŒgen, sonst funktioniert der Multikiosk nicht. Ich habe den Benutzer im Snap-In âComputerverwaltungâ mit einer unbegrenzten PasswortgĂŒltigkeit erstellt.
Jetzt starten wir das Vorbereitungs-Paket im zuvor installierten System. Nach der Anwendung des Vorbereitungs-Pakets wird das StartmenĂŒ und das fĂŒr den Administrator geĂ€ndert. Im linken Bereich des StartmenĂŒs sollten die SchaltflĂ€chen âDokumenteâ, âBilderâ, âEinstellungenâ verschwinden. Wenn sich das StartmenĂŒ nicht geĂ€ndert hat, ist etwas schiefgelaufen. Das installierte Paket kann gelöscht werden, indem Sie das Fenster âEinstellungen > Konten > Zugriff auf das Arbeits- oder Studienkonto > HinzufĂŒgen oder Entfernen des Vorbereitungs-Paketsâ öffnen.
Wenn sich das StartmenĂŒ geĂ€ndert hat, wurden die Einstellungen auf das System angewendet. Melden Sie sich mit dem Benutzer an, fĂŒr den der MultiKiosk konfiguriert ist, und schauen Sie sich das Ergebnis an.
Methode Nr. 2
Anwendung der Einstellungen ĂŒber den âMDM Bridge WMI Providerâ . Der Vorteil dieser Methode liegt in der FlexibilitĂ€t der Nutzung und der Möglichkeit, viele manuelle VorgĂ€nge zu vermeiden, die zur Erstellung eines Vorbereitungs-Pakets erforderlich sind. Hier kann jeder fĂŒr sich selbst eine Lösung finden, die ihm am besten passt. Ich habe mir eine Paar Skripte erstellt.
MiltiKiosk.bat â Skript zum Starten
@echo off
chcp 1251>nul
if not exist "%~dp0psexec.exe" call :ShowMessage "âĄâĄâĄâĄâĄâĄâĄâĄâĄâĄâĄâĄâĄFĂŒr die AusfĂŒhrung des Skripts wird die Datei psexec.exe benötigtâĄâĄUm das Skript zu beenden, drĂŒcken Sie eine beliebige Taste"&pause>nul&exit
net session>nul 2>nul
if %errorLevel% neq 0 (powershell -command "Start-Process "%~s0" -Verb RunAs"&exit)
for /f "tokens=2 delims==" %%i in ('wmic useraccount where "Name='%UserName%'" get SID /value^|find "SID"') do set SID=%%i
reg add HKU%SID%SoftwareSysinternalsPsExec /v EulaAccepted /t REG_DWORD /d 1 /f
for /f %%i in ('dir "%~dp0%~n0*.ps1" /b /o:n') do set PSFilePath=%~dp0%%i
if not defined PSFilePath (echo PS-Dateien mit dem Anfangsnamen - "%~n0" nicht gefunden&pause&exit)
set PSFilePath=%PSFilePath: =` %
"%~dp0psexec.exe" -i -s powershell -command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Unrestricted -Command %PSFilePath%'"
exit
:ShowMessage
setlocal enabledelayedexpansion
set String=%~1
if not defined String (echo.&setlocal disabledelayedexpansion&goto :eof)
set /a ConCols=120 & set /a Num=1
set "String[!Num!].str=%String:âĄ=" & set /a Num+=1 & set "String[!Num!].str=%"
for /l %%a in (1,1,%Num%) do (
for /l %%b in (0,1,%ConCols%) do if "!String[%%a].str:~%%b!" == "" (set "String[%%a].str= !String[%%a].str! "&set /a String[%%a].len-=1) else (set /a String[%%a].len+=0||set /a String[%%a].len=0)
if not defined String[%%a].str (set String[%%a].str= )
if not !String[%%a].len! equ 0 (call set String[%%a].str=%%String[%%a].str:~,!String[%%a].len!%%)
if "!String[%%a].str: =!"=="" (echo.) else (echo !String[%%a].str!))
setlocal disabledelayedexpansion
goto :eofMiltiKiosk_Ver.12.ps1 â Hauptskript
Funktion ConvertEncoding ([string]$Von, [string]$Zu) {
Begin{$encVon = [System.Text.Encoding]::GetEncoding($Von);$encZu = [System.Text.Encoding]::GetEncoding($Zu)}
Prozess{$bytes = $encZu.GetBytes($_);$bytes = [System.Text.Encoding]::Convert($encVon, $encZu, $bytes);$encZu.GetString($bytes) -replace [char]0, ''}
}
Funktion ZeigeNachricht ($Nachricht='', $Ausrichtung=0) {
Versuch {$Ausrichtung = [decimal]$Ausrichtung} Fang {Return 'FĂŒr den Parameter Ausrichtung kann nur eine Zahl angegeben werden' | ConvertEncoding 'windows-1251' -To 'UTF-16'}
wenn ($Nachricht -is [int]) {fĂŒr ($i=1; $i -le $Nachricht; $i++) {Write-Host}; RĂŒckkehr}
wenn ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$Nachricht = $Nachricht | ConvertEncoding 'windows-1251' -To 'UTF-16'}
wenn ($Nachricht -is [string]) {[array] $Nachricht = $Nachricht}
foreach ($String in $Nachricht) {
Versuch {$String = [int]$String} Fang {}
wenn ($String -is [int]) {fĂŒr ($i=1; $i -le $String; $i++) {Write-Host}; weiter}
wenn ($Host.UI.RawUI.BufferSize.Width -gt $String.Length) {
wenn ($Ausrichtung -eq 0) {Write-Host $String
} sonst {Write-Host ("{0}{1}" -f (' ' * (([Math]::Max(0, $Host.UI.RawUI.BufferSize.Width / $Ausrichtung) - [Math]::Floor($String.Length / $Ausrichtung)))), $String)}
} sonst {Write-Host $String}
}
}
$script:NameSpace="rootcimv2mdmdmmap"
$script:ClassName="MDM_AssignedAccess"
$script:MultiAppKiosk = Get-CimInstance -Namespace $NameSpace -ClassName $ClassName
wenn (-not $MultiAppKiosk) {ZeigeNachricht -Nachricht (3, 'Fehler beim Abrufen des Einstellungsobjekts', 2, 'DrĂŒcken Sie "Enter", um die AusfĂŒhrung des Skripts zu beenden') -Ausrichtung 2; Read-Host; Exit}
Funktion HauptmenĂŒ() {
ZeigeNachricht (13, ' 0 - Beenden', ' 1 - WÀhlen Sie die XML-Datei zur Installation aus', ' 2 - Aktuelle Konfiguration des Multikiosks anzeigen', ' 3 - Einstellungen des Multikiosks löschen', 1)
$local:Eingabetext = 'WĂ€hlen Sie eine Aktion'
wenn ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$Eingabetext = $Eingabetext | ConvertEncoding 'windows-1251' -To 'UTF-16'}
$local:Auswahlen = 1..2
WĂ€hrend ($true) {
$Auswahl = Read-Host -Eingabeaufforderung $Eingabetext
Switch ($Auswahl) {
0 {exit}
1 {XMLAuswahl}
2 {ZeigeNachricht -Nachricht (1, 'Konfiguration beginnt') -Ausrichtung 2; Write-Host $MultiAppKiosk.Configuration; ZeigeNachricht -Nachricht ('Ende der Konfiguration', 1, 'DrĂŒcken Sie "Enter", um zum MenĂŒ zurĂŒckzukehren', 1) -Ausrichtung 2; Read-Host}
3 {$MultiAppKiosk.Configuration = $Null; Set-CimInstance -CimInstance $MultiAppKiosk; ZeigeNachricht -Nachricht (1, 'Befehl zum Löschen der Einstellungen wurde ausgefĂŒhrt', 1) -Ausrichtung 2}
STANDARD {ZeigeNachricht 'UngĂŒltiger Wert ausgewĂ€hlt'}
}
wenn ($Auswahlen -contains $Auswahl) {Clear-Host; ZeigeNachricht (15, ' 0 - Beenden', ' 1 - WÀhlen Sie die XML-Datei zur Installation aus', ' 2 - Aktuelle Konfiguration des Multikiosks anzeigen', ' 3 - Einstellungen des Multikiosks löschen', 1)}
}
}
Funktion XMLAuswahl() {
Clear-Host
wenn (!(Test-Path -Pfad $PSScriptRoot'XML')) {ZeigeNachricht -Nachricht (13, 'Verzeichnis nicht gefunden', $('"'+$PSScriptRoot+'XML"'), 1, 'DrĂŒcken Sie "Enter", um zum vorherigen MenĂŒ zurĂŒckzukehren') -Ausrichtung 2; Read-Host; RĂŒckkehr}
$local:XMLListe = @()
$XMLListe += Get-ChildItem -Pfad $PSScriptRoot'XML' -name -filter '*.xml'
wenn ($XMLListe.Count -eq 0) {ZeigeNachricht -Nachricht (13, 'Keine XML-Dateien im Verzeichnis gefunden', $('"'+$PSScriptRoot+'XML"'), 1, 'DrĂŒcken Sie "Enter", um zum vorherigen MenĂŒ zurĂŒckzukehren') -Ausrichtung 2; Read-Host; RĂŒckkehr}
[int]$local:Einzug = 13 - $XMLListe.Count / 2; wenn ($Einzug -lt 1) {$Einzug = 1}
ZeigeNachricht ($Einzug, ' 0 - ZurĂŒck zum vorherigen MenĂŒ')
fĂŒr ($i=0; $i -le $XMLListe.GetUpperBound(0); $i++) {Write-Host $(' '+($i+1)+' - '+$XMLListe[$i])}
Write-Host
$local:Eingabetext = 'WĂ€hlen Sie die Datei zur Installation'
wenn ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$Eingabetext = $Eingabetext | ConvertEncoding 'windows-1251' -To 'UTF-16'}
$local:Auswahlen = 1..$XMLListe.Count
$local:ZurĂŒckZumVorherigenMenĂŒ = 0
WĂ€hrend ($ZurĂŒckZumVorherigenMenĂŒ -eq 0) {
$Auswahl = Read-Host -Eingabeaufforderung $Eingabetext
Switch ($Auswahl) {
0 {$ZurĂŒckZumVorherigenMenĂŒ = 1}
{$Auswahlen -contains $Auswahl} {ZeigeNachricht $('Dieser Befehl wendet die Einstellungen aus der Datei '+$XMLListe[$Auswahl-1]);
$local:Konfiguration = (Get-Content -encoding UTF8 -path $($PSScriptRoot+'XML'+$XMLListe[$Auswahl-1]) -Raw).Trim()
$local:GUIDs = [regex]::matches($Konfiguration, '{.+?}') | select -ExpandProperty Value | Get-Unique
foreach ($GUID in $GUIDs) {$Konfiguration = $Konfiguration -replace $(''+$GUID),$('{'+[guid]::NewGuid()+'}')}
$Konfiguration = $Konfiguration -replace '&','&' -replace '<','<' -replace '>','>' -replace "'",''' -replace '"','"'
$MultiAppKiosk.Configuration = $Konfiguration
Set-CimInstance -CimInstance $MultiAppKiosk
}
STANDARD {ZeigeNachricht ('UngĂŒltiger Wert ausgewĂ€hlt')}
}
}
}
HauptmenĂŒWenn Sie meine Lösung verwenden möchten, speichern Sie die oben genannten Skripte mit ihren Originalnamen in einen Ordner und legen Sie die Datei âPsExec.exeâ in denselben Ordner. In diesem Ordner erstellen Sie einen Ordner âXMLâ und kopieren die XML-Dateien fĂŒr die Konfiguration des Multikiosks hinein. Ich werde dieselbe Datei verwenden wie im ersten Verfahren.
MultiAppKiosk.xml
<![CDATA[
]]>
BenutzerEin wenig zu den Besonderheiten des Skripts. Das Skript ist fĂŒr die Verwendung von XML-Dateien mit der Kodierung âUTF8â vorgesehen. Wenn Sie die Kodierung âANSIâ verwenden möchten, entfernen Sie das Parameter âencoding UTF8â aus dem Dateileseparameter. In den Ordner âXMLâ mĂŒssen XML-Dateien ohne Zeichenersetzung abgelegt werden; das Skript ersetzt die Sonderzeichen selbst durch die entsprechenden Bezeichnungen. Um nicht bei den GUIDs zur Benutzerbindung an Profile durcheinanderzukommen, können Sie einfach die Nummer oder den Namen des Benutzers in geschweifte Klammern angeben; alles, was sich in geschweiften Klammern befindet, wird durch die GUIDs ersetzt.
Die Verwendung des Skripts ist sehr einfach: Sie starten es und wĂ€hlen den gewĂŒnschten Punkt aus. Um die aktuelle Konfiguration in eine neue zu Ă€ndern, mĂŒssen Sie die aktuelle nicht unbedingt löschen, sie wird ĂŒberschrieben. Vergessen Sie nicht, die Benutzer zu erstellen, die in der Konfigurationsdatei angegeben sind.
Beim Anzeigen der aktuellen Konfiguration des Multikiosks in derselben Sitzung, in der sie angewendet wurde, werden anstelle der Sonderzeichen die Kombinationen der Ersatzzeichen angezeigt. Nach dem Wechsel der Sitzung (Neustart des Skripts) werden alle Sonderzeichen wieder in ihrer Originalform angezeigt.
Schritt 7 â Systemversiegelung
Der Multikiosk funktioniert, und das scheint alles zu sein...
Wenn alles nach Plan lÀuft, dann bemerken Sie etwas nicht.
Vergessen Sie nicht, dass wir das System auch von Audit- in den BegrĂŒĂungsmodus versetzen mĂŒssen. Nun sind wir bereit dafĂŒr, starten Sie âSysprep.batâ, wĂ€hlen Sie Punkt 2, das System wird versiegelt. Schalten Sie das GerĂ€t ein, das System wird gestartet, melden Sie sich mit dem Benutzerkonto an, fĂŒr das der Multikiosk konfiguriert ist, und können sich nicht anmelden. Nach der Meldung âWillkommenâ erscheint die Meldung âAbmeldenâ.
ZunĂ€chst wollte ich nur die Lösung des Problems beschreiben, entschied mich aber spĂ€ter, die Schritte zur Identifizierung des Problems und zur Suche nach der einfachsten Lösung zu erlĂ€utern, da sicherlich viele Leser mit schwammigen Zweifeln kĂ€mpfen werden â "Was ist, wenn...". Ich denke, dass die Beschreibung verschiedener Experimente Ihnen erheblich Zeit sparen wird, falls Sie eine andere Lösung finden möchten. Um die Informationen so genau wie möglich zu gestalten und um sicherzustellen, dass es keine Fehler gibt, werde ich die Experimentbeschreibungen im Format "gemacht â aufgezeichnet" durchfĂŒhren. Das heiĂt, ich werde die beschriebenen Experimente noch einmal wiederholen.
Experimente
Was haben wir also herausgefunden. Im System gibt es zwei Benutzerkonten:
âAdminâ â in der Gruppe âAdministratorenâ
âUserâ â in der Gruppe âBenutzerâ
Im Audit-Modus funktionierte der Multitouch-Kiosk, und als wir es versiegelten â funktioniert es nicht.
Experiment 1
Wir entfernen das installierte Vorbereitungspaket, löschen im Snap-In âComputerverwaltungâ den Benutzer âUserâ und erstellen einen neuen Benutzer mit dem Namen âUserâ, wenden das Vorbereitungspaket an, melden uns bei dem Benutzerkonto âUserâ an â funktioniert nicht. Wir melden uns als âAdminâ an, löschen den Benutzer âUserâ aus der Gruppe âBenutzerâ, fĂŒgen ihn der Gruppe âAdministratorenâ hinzu, melden uns als âUserâ an â funktioniert nicht. Wir melden uns als âAdminâ an, entfernen das Vorbereitungspaket mit dem Multitouch-Kiosk, melden uns als âUserâ an â der Zugriff hat funktioniert, aber der Multitouch-Modus funktioniert natĂŒrlich nicht, da das Vorbereitungspaket entfernt wurde.
Experiment 2
Wir laden das Systemimage hoch â das auf Russisch ĂŒbersetzte im Audit-Modus.
Das OS ist gestartet, wir drĂŒcken âWin+râ, da das sysprep-Fenster automatisch geschlossen wurde, fĂŒhren wir den Befehl âsysprepâ aus, im sich öffnenden Fenster starten wir âsysprepâ. Die Einstellungen von sysprep im Fenster: âWechsel zum Willkommen-Fenster des Systems (OOBE)â, âVorbereitung zur Nutzungâ, âNeustartâ. Wir drĂŒcken âOKâ und warten auf die BegrĂŒĂung des OS. Bei der ersten Systemstart beantworten wir die Fragen: âContinue in selected language?â â âRussischâ; Region â Russland; Tastaturlayout â Russisch; zweite Tastaturbelegung hinzufĂŒgen â ĂŒberspringen; âLassen Sie uns Sie mit dem Netzwerk verbindenâ â âVorerst ĂŒberspringenâ; mit dem Internet verbinden â nein; Lizenzvereinbarung â akzeptieren; âWer wird diesen Computer benutzenâ â âTestâ; Passwort erstellen â ich lasse das Feld leer; bequeme Nutzung auf verschiedenen GerĂ€ten â nein; Datenschutzeinstellungen â akzeptieren. Das OS ist gestartet, im Tool âComputerverwaltungâ erstellen wir einen Benutzer mit dem Namen âUserâ, fĂŒgen das Vorbereitungspaket hinzu. Ergebnis â funktioniert nicht.
Experiment 3
Wir laden das Systemimage hoch â das auf Russisch ĂŒbersetzte im Audit-Modus.
Das OS ist gestartet, wir verbinden das System mit dem Internet, fĂŒhren den Befehl âgpedit.mscâ aus und aktivieren im Bereich âWindows Updateâ die Einstellung âEmpfohlene Updates ĂŒber die automatische Aktualisierung aktivierenâ, zur Sicherheit starten wir neu. Im Update-Center drĂŒcken wir âAuf Updates prĂŒfenâ und starten neu, bis alle Updates installiert sind. Wir trennen das System vom Internet. Wir starten âsysprepâ im grafischen Modus und wiederholen alle Schritte, die im vorherigen Schritt zum Starten des âsysprepâ-Tools beschrieben sind, bis zur HinzufĂŒgung des Vorbereitungspakets. Ergebnis â funktioniert nicht.
Experiment 4
Wir laden ein englischsprachiges Systemimage im Audit-Modus hoch.
Wir starten âsysprepâ im grafischen Modus, versiegeln das OS mit denselben Einstellungen wie im Experiment 2. Bei der ersten Systemstart wĂ€hlen wir dieselben Einstellungen wie im Experiment 2, mit Ausnahme der regionalen und sprachlichen Einstellungen, da die russische Sprache nicht verfĂŒgbar ist. Genauso erstellen wir den Benutzer âUserâ und fĂŒgen das Vorbereitungspaket hinzu. Ergebnis â funktioniert. Das heiĂt, das Problem hĂ€ngt mit der Lokalisierung zusammen.
Experiment 5
Wir laden das Systemimage hoch â das auf Russisch ĂŒbersetzte im Audit-Modus.
Im Tool âComputerverwaltungâ erstellen wir den Benutzer âUserâ, fĂŒgen das Vorbereitungspaket hinzu, melden uns bei dem Konto âUserâ an, der Multitouch funktioniert.
Melden Sie sich ab und melden Sie sich mit dem Konto âAdminâ an. Starten Sie PowerShell mit Administratorrechten, fĂŒhren Sie den Befehl âDism /online /Get-Intlâ aus und sehen Sie âStandardsprache der BenutzeroberflĂ€che: en-USâ.
Starten Sie von einem USB-Stick in WinPE, das Betriebssystem ist auf Laufwerk E. FĂŒhren Sie den Befehl âDism /image:E: /Set-UILang:ru-ruâ aus. ĂberprĂŒfen Sie das Ergebnis, fĂŒhren Sie âDism /image:E: /Get-Intlâ aus und sehen Sie âStandard-System-UI-Sprache: ru-RUâ.
Wir melden uns im System mit dem Konto âUserâ an; der Multikiosk funktioniert nicht.
Um die kausale Beziehung zur Problementstehung eindeutig festzuhalten, versuchen wir, den Multikiosk erneut sowohl in den funktionierenden als auch in den nicht funktionierenden Zustand zu versetzen.
Starten Sie von einem USB-Stick in WinPE, das Betriebssystem ist auf Laufwerk E. FĂŒhren Sie den Befehl âDism /image:E: /Set-UILang:en-usâ aus. ĂberprĂŒfen Sie das Ergebnis, fĂŒhren Sie âDism /image:E: /Get-Intlâ aus und sehen Sie âStandard-System-UI-Sprache: en-USâ.
Wir melden uns im System mit dem Konto âUserâ an; der Multikiosk funktioniert.
Starten Sie von einem USB-Stick in WinPE, das Betriebssystem ist auf Laufwerk E. FĂŒhren Sie den Befehl âDism /image:E: /Set-UILang:ru-ruâ aus. ĂberprĂŒfen Sie das Ergebnis, fĂŒhren Sie âDism /image:E: /Get-Intlâ aus und sehen Sie âStandard-System-UI-Sprache: ru-RUâ.
Wir melden uns im System mit dem Konto âUserâ an; der Multikiosk funktioniert nicht.
Das heiĂt, man kann eine klare AbhĂ€ngigkeit der FunktionsfĂ€higkeit des Kiosks vom Wert der Standardsprache der BenutzeroberflĂ€che erkennen. Gibt es vielleicht noch andere Faktoren, die die FunktionsfĂ€higkeit des Multikiosks beeinflussen?
Experiment 6
Zur Reinheit des Experiments installieren wir das System neu. Wir laden das System-Image â russifiziert im Audit-Modus.
Wir starten âsysprepâ im grafischen Modus, verschlieĂen das Betriebssystem mit denselben Parametern wie wĂ€hrend Experiment 2. Wir warten auf die BegrĂŒĂung des Betriebssystems und beantworten die Fragen: âIn ausgewĂ€hlter Sprache fortfahren?â â âEnglisch (Vereinigte Staaten)â; Region â Russland; Tastaturlayout â Russisch. Danach werden alle Parameter wie im Experiment 2 ausgewĂ€hlt.
ĂberprĂŒfen Sie die Parameter der Standardsprache der BenutzeroberflĂ€che. FĂŒhren Sie den Befehl âDism /online /Get-Intlâ aus und sehen Sie âStandard-System-UI-Sprache: en-USâ. In der Verwaltung âComputerverwaltungâ erstellen wir einen Benutzer âUserâ, fĂŒgen das Vorbereitungspaket hinzu, melden uns beim Konto âUserâ an; der Multikiosk funktioniert.
Versuchen wir, den Kiosk zu sabotieren, indem wir die Standardsprache der BenutzeroberflĂ€che Ă€ndern. Wir melden uns beim Benutzer âTestâ an, der bei der ersten Systeminstallation erstellt wurde, und aktivieren die automatische Anmeldung, damit das System nicht sofort ins Konto âUserâ startet. FĂŒhren Sie ânetplwizâ aus, wĂ€hlen Sie den Benutzer âTestâ, deaktivieren Sie das KĂ€stchen âBenutzername und Passwort eingebenâ und wenden Sie die Parameter an.
Wir booten von einem USB-Stick in WinPE. Wir fĂŒhren den Befehl âDism /image:E: /Set-UILang:de-DEâ aus. Wir schauen uns das Ergebnis an, fĂŒhren âDism /image:E: /Get-Intlâ aus und sehen âDefault system UI language: de-DEâ.
Wir booten ins System und versuchen uns bei dem Konto âUserâ anzumelden, der Multikiosk funktioniert. Das heiĂt, er lĂ€sst sich nicht hacken. Kann man ihn so zum Laufen bringen?
Experiment 7
Wir laden das Systemimage hoch â das auf Russisch ĂŒbersetzte im Audit-Modus.
Wir starten âSysprep.batâ, wĂ€hlen Punkt 2 aus. Wir booten ins System, erstellen im Snap-In âComputerverwaltungâ den Benutzer âUserâ, fĂŒgen das Vorbereitungspaket hinzu, melden uns beim Konto âUserâ an, der Multikiosk funktioniert nicht.
Wir booten von einem USB-Stick in WinPE. Wir fĂŒhren den Befehl âDism /image:E: /Set-UILang:en-USâ aus. Wir schauen uns das Ergebnis an, fĂŒhren âDism /image:E: /Get-Intlâ aus und sehen âDefault system UI language: en-USâ.
Wir booten ins System und versuchen uns bei dem Konto âUserâ anzumelden, der Multikiosk funktioniert nicht.
Es stellt sich heraus, dass durch die Ănderung der Standardeinstellung fĂŒr die BenutzeroberflĂ€chensprache der Multikiosk nur funktioniert, wenn das System im Auditmodus oder beim ersten Boot nach der Systemversiegelung ist. Das bedeutet, dass das System mit einer Antwortdatei versiegelt werden muss, in der die Systemsprache Englisch ausgewĂ€hlt ist, und anschlieĂend mĂŒssen die Systemeinstellungen geĂ€ndert werden, damit die BenutzeroberflĂ€che Russisch ist. Keine sehr gute Lösung. Kann das Problem vielleicht durch die Installation eines Sprachpakets oder zusĂ€tzlicher Sprachpakete gelöst werden?
Experiment 8
Wir laden ein englischsprachiges Systemimage im Audit-Modus hoch.
Wir verbinden uns mit dem Internet, gehen in den Systemeinstellungen zum Abschnitt âSpracheâ, wĂ€hlen âSprache hinzufĂŒgenâ, wĂ€hlen die Sprache âRussischâ, klicken auf âWeiterâ, lassen die Installationsoptionen auf Standard, klicken auf âInstallierenâ, nach der Installation des Sprachpakets starten wir das System neu, jetzt ist es auf Russisch. Wir trennen das System vom Internet, starten âSysprep.batâ und wĂ€hlen Punkt 2 aus.
Nach dem Booten des Systems erstellen wir im Snap-In âComputerverwaltungâ den Benutzer âUserâ, fĂŒgen das Vorbereitungspaket hinzu, melden uns beim Konto âUserâ an, der Multikiosk funktioniert nicht.
Experiment 9
Wir werden versuchen, das System vor der Installation im Offline-Modus zu lokalisieren. Dabei gibt es einen kurzen Einblick in die Lokalisierung des Distributionspakets.
Ich nehme einen USB-Stick mit einer sauberen Originaldistribution â X21-96381. Er wird als âEâ gemountet. FĂŒr das Mounten der Images erstelle ich Ordner: âc:MountInstallâ, âc:MountWinreâ, âc:MountBootâ. Ich nehme ein Set von Lokalisierungspaketen â X21-87814. Und kopiere davon in den Ordner âc:Mountâ die Pakete: âMicrosoft-Windows-Client-Language-Pack_x86_ru-ru.cabâ, âlp.cabâ, âWinPE-Setup_ru-ru.cabâ. Ich starte die Konsole mit Administratorrechten. Ich denke, dass die weiteren Befehle ohne Kommentare klar sein werden.
Lokalisierungsbefehle
cd c:mount
dism /Mount-Wim /WimFile:e:sourcesinstall.wim /index:1 /MountDir:Installcode
dism /Image:Install /Add-Package /PackagePath:Microsoft-Windows-Client-Language-Pack_x86_ru-ru.cabcode
dism /Image:Installcode /Set-AllIntl:ru-ru
dism /Image:Install /Set-TimeZone:"Russian Standard Time"code
dism /Mount-Wim /WimFile:InstallWindowsSystem32RecoveryWinre.wim /index:1 /MountDir:Winrecode
dism /Image:Winre /Add-Package /PackagePath:lp.cabcode
dism /Image:Winrecode /Set-AllIntl:ru-ru
dism /Image:Winre /Set-TimeZone:"Russian Standard Time"code
dism /Unmount-Image /MountDir:Winre /Commitcode
dism /Image:Install /Gen-LangINI /distribution:E: /Set-AllIntl:ru-RUcode
dism /image:Install /Set-SetupUILang:RU-ru /distribution:E:code
dism /Unmount-Image /MountDir:Install /Commitcode
dism /mount-wim /wimfile:e:sourcesboot.wim /index:1 /mountdir:Bootcode
dism /Image:Boot /Add-Package /PackagePath:lp.cabcode
dism /Image:Bootcode /Set-AllIntl:ru-ru
copy e:sourceslang.ini Bootsourceslang.inicode
dism /Unmount-Image /MountDir:Boot /Commitcode
dism /mount-wim /wimfile:e:sourcesboot.wim /index:2 /mountdir:Bootcode
dism /Image:Boot /Add-Package /PackagePath:lp.cabcode
dism /Image:Boot /Add-Package /PackagePath:WinPE-Setup_ru-ru.cabcode
dism /Image:Bootcode /Set-AllIntl:ru-ru
copy e:sourceslang.ini Bootsourceslang.ini /ycode
dism /Unmount-Image /MountDir:Boot /CommitWir starten von dem USB-Stick, wĂ€hlen die russische Sprache und installieren das System auf eine leere Festplatte. Wenn das System nach der Region fragt, drĂŒcken wir âCtrl+Shift+F3â. Im Snap-In âComputerverwaltungâ erstellen wir den Benutzer âUserâ, fĂŒgen das Vorbereitungs-Paket hinzu, melden uns im Konto âUserâ an, das Multitasking funktioniert nicht.
Wir booten vom USB-Stick in WinPE. Wir fĂŒhren den Befehl âDism /image:E: /Set-UILang:en-usâ aus.
Wir starten in das System, versuchen uns im Konto âUserâ anzumelden, das Multitasking funktioniert.
Es scheint, dass es nicht an den Methoden zum HinzufĂŒgen des Pakets liegt, wir versuchen, zusĂ€tzliche Pakete hinzuzufĂŒgen.
Experiment 10
Wir nehmen den USB-Stick, den wir im vorherigen Schritt vorbereitet haben.
Wir nehmen das Paket âFeat on Demandâ â X21-87815. Ich kopiere davon die Pakete in den Ordner âc:Mountâ: âMicrosoft-Windows-LanguageFeatures-Basic-ru-ru-Package~31bf3856ad364e35~x86~~.cabâ, âMicrosoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cabâ, âMicrosoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~~.cabâ, âMicrosoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cabâ.
Wir nehmen das Paket âFeat on Demand RDX Updtâ â X21-99781. Aus diesem kopiere ich in den Ordner âc:Mountâ die Pakete: âMicrosoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cabâ, âMicrosoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cabâ.
Wir starten die Konsole mit Administratorrechten und fĂŒhren die Befehle aus:
Befehle
cd c:mount
dism /Mount-Wim /WimFile:e:sourcesinstall.wim /index:1 /MountDir:Install
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Basic-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Unmount-Image /MountDir:Install /CommitWir booten von einem USB-Stick, wĂ€hlen die russische Sprache und installieren das System auf einer leeren Festplatte. Wenn das System nach der Region fragt, drĂŒcken wir âCtrl+Shift+F3â. Im Snap-In âComputerverwaltungâ erstellen wir den Benutzer âUserâ, fĂŒgen das Vorbereitungs-Paket hinzu, melden uns bei dem Konto âUserâ an. Ich erhielt einen schwarzen Bildschirm, der lange hĂ€ngen blieb, also habe ich einen Hard-Reboot des Systems durchgefĂŒhrt.
Wir entfernen das Vorbereitungspaket, melden uns als Benutzer âUserâ an, starten das System neu, fĂŒgen das Vorbereitungspaket hinzu, Multikiosk funktioniert nicht.
Wir booten vom USB-Stick in WinPE. Wir fĂŒhren den Befehl âDism /image:E: /Set-UILang:en-usâ aus.
Wir starten in das System, versuchen uns im Konto âUserâ anzumelden, das Multitasking funktioniert.
Umgehung des Problems
Normale Helden. Gehen immer einen Umweg!
Verschiedene Methoden zur Installation von Lokalisierungspaketen haben das Problem nicht behoben, daher mĂŒssen wir beim ersten Start nach der Versiegelung die Sprache âen-usâ einstellen und die Spracheinstellungen nach dem ersten Start Ă€ndern.
Wir laden das Systemimage hoch â das auf Russisch ĂŒbersetzte im Audit-Modus.
In der Datei âUnattend.xmlâ geben wir den Parameter âen-USâ ein, fĂŒhren âSysprep.batâ aus, wĂ€hlen Punkt 2 und schauen, was wir erreicht haben. Der BegrĂŒĂungsbildschirm ist auf Englisch, Multikiosk â funktioniert. Daher mĂŒssen wir in âUnattend.xmlâ einen Befehl zur Ănderung der BegrĂŒĂungssprache hinzufĂŒgen. DafĂŒr ist es notwendig, den Befehl âcontrol intl.cpl,,/f:â mit dem Verweis auf die Konfigurationsdatei auszufĂŒhren, in der festgelegt ist, dass die aktuellen Parameter in den BegrĂŒĂungsbildschirm kopiert werden. Der Inhalt der Konfigurationsdatei wird so aussehen.
Da die Einstellungen des aktuellen Benutzers kopiert werden, muss der Befehl nach dem Einloggen des Benutzers in das System ausgefĂŒhrt werden, was bedeutet, dass wir diese benötigen. Es gibt jedoch ein kleines âAberâ â die AusfĂŒhrung erfolgt nach dem Einloggen des Benutzers mit Administratorrechten. Ich möchte keine zusĂ€tzliche Datei erstellen, die fĂŒr die erfolgreiche AusfĂŒhrung des Befehls erforderlich wĂ€re. Es ist besser, die gesamte Lösung in einer einzigen Datei â âUnattend.xmlâ â umzusetzen. Dazu muss einfach der Befehl ausgefĂŒhrt werden, der die Konfigurationsdatei erstellt. Ich denke, ich werde die Konfigurationsdatei mit dem Befehl âechoâ in der Umgebung âcmdâ erstellen, aber dabei mĂŒssen die spitzen Klammern mit einem Zirkumflex maskiert werden. Das heiĂt, fĂŒr die Erstellung der Konfigurationsdatei ergibt sich folgender Befehl.
echo ^^^^^"Config.xmlAber wir mĂŒssen diesen Befehl in eine XML einfĂŒgen, die ihre eigenen Anforderungen an die Verwendung von speziellen Zeichen hat:
Sonderzeichen
Ersatzwert
>
>)
<
(<
&
(&
â
'
â
"
Um die Konfigurationsdatei zu erstellen, benötigten wir folgendermaĂen den Befehl fĂŒr âFirstLogonCommandsâ.
cmd.exe /c echo ^^^^^>"%TMP%Config.xml"Als nĂ€chstes fĂŒhren wir den Befehl mit der verwendeten Konfigurationsdatei aus.
control intl.cpl,,/f:"%TMP%Config.xml"Danach löschen wir die zuvor erstellte Datei und starten das System neu, da die Ănderungen nach dem Neustart wirksam werden.
cmd.exe /c del "%TMP%Config.xml" /q&shutdown /r /f /t 00Das Ergebnis ist somit folgende Antwortdatei fĂŒr sysprep.
Unattend.xml
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
1
FĂŒgen Sie die SchlĂŒssel-Seite nicht hinzu
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f
2
Kein Konto erstellen
cmd.exe /c rd %systemdrive%Sysprep /s /q
3
Ordner löschen
true
Admin
en-US; ru-RU
ru-RU
en-US
ru-RU
true
true
true
true
true
1
cmd.exe /c echo ^^^^^"%TMP%Config.xml"
Konfiguration erstellen
1
control intl.cpl,,/f:"%TMP%Config.xml"
Konfiguration verwenden
2
cmd.exe /c del "%TMP%Config.xml" /q&shutdown /r /f /t 00
Konfiguration löschen
3ĂberprĂŒfenâŠ
Wir laden das Systemimage hoch â das auf Russisch ĂŒbersetzte im Audit-Modus.
Wir ersetzen die Datei Unattend.xml durch eine neue, fĂŒhren âSysprep.batâ aus, wĂ€hlen Punkt 2 und sehen, was wir erhalten haben. Beim ersten Booten wird der BegrĂŒĂungsbildschirm in englischer Sprache angezeigt, das System wird neu gestartet. Der BegrĂŒĂungsbildschirm ist in russischer Sprache, der Multitouch-Kiosk funktioniert.
Wenn Sie Fragen zur Konfiguration und Lizenzierung von Windows 10 IoT Enterprise haben, wenden Sie sich bitte an oder auf die Website .
Antworten auf einige Fragen finden Sie in oder auf unserem
Autor des Beitrags: Wladimir Borisenkov, technischer Experte der Firma Kvarte Technologie.
Quelle: habr.com
