Einführung
ist der Marketingname der neuesten 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 wurden viele Artikel verfasst, aber die meisten davon konzentrieren sich auf verschiedene „Spielereien“, „Schönheiten“ und Funktionen, die im häuslichen Umfeld gefragt sind.
In diesem Artikel wird jedoch nur auf die Funktionen eingegangen, die für Hersteller von speziellen Geräten von Interesse sein könnten. Insbesondere geht es um die neuen Möglichkeiten des Kiosk-Modus. Auch werden die Änderungen der Bezeichnungen der Support-Schemata für Windows-Versionen im Unternehmensbereich behandelt.
Altes Support-Schema mit neuem Namen
Ich beginne mit einer kurzen Erklärung: Im Unternehmensbereich von Windows-Versionen gibt es zwei Support-Schemata, nach denen Windows Updates erhält. Die Support-Schemata haben Buchstabenbezeichnungen. Momentan werden die Support-Zweige LTSC und SAC genannt.
LTSC bedeutet (mit langfristigem Support). Früher wurde dieser Kanal als LTSB – Long Term Servicing Branch bezeichnet, Microsoft hat lediglich den Namen des Unterstützungszweigs geändert, die Unterstützung selbst bleibt gleich.
Ebenfalls hat Microsoft den Namen des Unterstützungszweigs CBB – Current Branch for Business geändert, jetzt wird dieser Unterstützungszweig SAC – . Auch hier hat sich nur der Name geändert.
Es ist jedoch wichtig zu erwähnen, dass für die Unterstützungszweige LTSC und SAC unterschiedliche Windows-Distributionen verwendet werden.
Ein bisschen zum neuen Kioskbetrieb im SAC
Wie bereits erwähnt, verwenden LTSC und SAC unterschiedliche Distributionen. In LTSC gibt es keine standardmäßigen Universal-Apps und keinen App-Store, während es diese im SAC gibt. Dementsprechend gibt es in LTSC keinen Edge-Browser, während dieser im SAC vorhanden ist. Wenn bei der Konfiguration des Kiosks der Edge-Browser ausgewählt wird, stehen nun zwei Modi zur Verfügung:
- Als digitaler Hinweis oder interaktives Display
- Als öffentliche Browseranwendung
Ich werde nicht näher auf die Einrichtung dieser Modi eingehen, da die Konfiguration sehr einfach ist und über die grafische Benutzeroberfläche erfolgt. Erstellen Sie einfach einen Benutzer, der nicht der Gruppe „Administratoren“ angehört, aktivieren Sie den Kioskbetrieb mit EDGE und beobachten Sie, wie diese Modi funktionieren.
Kiosk mit mehreren Anwendungen
Einige denken, dass die lizenzierte Nutzung nur den Betrieb einer Anwendung auf dem Gerät bedeutet, aber das ist nicht korrekt. Das Gerät sollte für die Ausführung einer bestimmten Geschäftsanwendung vorgesehen sein, ohne dass der Benutzer Zugang zum Desktop hat. Microsoft hat nun selbst ein Werkzeug bereitgestellt, um mehrere Anwendungen zu verwenden. Dieser Modus wird als „Multi-App-Kiosk“ bezeichnet, ich werde ihn zur Vereinfachung als „Multikiosk“ bezeichnen. In diesem Artikel werden wir die Einrichtung dieses Modus mithilfe eines Bereitstellungspakets und einige Besonderheiten dieses Modus betrachten.
Einige Informationen zum „Multikiosk“-Modus
Beim Einloggen in ein Benutzerkonto, für das der Kioskmodus konfiguriert ist, arbeitet das System im Tablet-Modus. Das Startmenü wird im Vollbildmodus angezeigt, in dem die Kacheln der Anwendungen dargestellt werden.
Liste der wichtigsten Einstellungen und Funktionen 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 Universal- und klassischen Anwendungen
- Automatisches Starten einer Anwendung beim Anmelden des Benutzers im System
- Betrieb von Anwendungen über eine Whitelist
- Zugriff auf Ordner über eine Whitelist
Beachten Sie Punkt 5. Standardmäßig ist nur die Verwendung von Anwendungen erlaubt, die für das System erforderlich sind; andere Anwendungen müssen zur genehmigten Liste hinzugefügt werden. Das bedeutet, dass AppLocker nicht separat konfiguriert werden muss. Übrigens, um Konflikte mit den AppLocker-Einstellungen zu vermeiden, werden im Kioskmodus alle konfigurierten AppLocker-Regeln nicht wirksam sein.
In Punkt 6 wird eine gute Möglichkeit beschrieben, jedoch kann derzeit nur für den Ordner „Downloads“ Schreibzugriff gewährt werden. Der Modus ermöglicht die Nutzung von universellen und klassischen Anwendungen. Alle Einstellungen des Modus werden in einer XML-Datei angegeben, in der auch die Einstellungen für einen Kiosk mit einer Anwendung festgelegt werden können.
Jetzt versuchen wir, all dies einzurichten…
Was wir benötigen…
- Zunächst benötigen wir das System, 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 des ADK ist. Das ADK kann
- Für Methode Nr. 2 – das Tool PsExec. Das Tool kann
Er sagte – „Los geht’s!“
Alle Experimente werde ich auf Windows 10 IoT Enterprise 1809 LTSC x32, kommerzielle Version und nicht auf der Demoversion durchführen. Das System wird ohne Aktivierung sein, da die fehlende Aktivierung keine Auswirkungen auf die Funktionalität des Systems hat. Ich habe 32 Bit gewählt, weil es weniger Speicherplatz benötigt und die Arbeit mit Systemabbildern schneller ist.
Schritt 1 – Installation
Die Installation von Win 10 IoT Enterprise unterscheidet sich nicht von der Installation von Win 10 Enterprise, daher werde ich den gesamten Installationsprozess nicht beschreiben, sondern nur auf einige Nuancen hinweisen.
Zur Sicherheit, installieren Sie das System nicht über einer bereits installierten Version. Wenn der Installer nach dem Installationsort fragt, löschen Sie alle Partitionen auf der zukünftigen Systemplatte und wählen Sie den nicht zugewiesenen Speicherplatz aus.
Installieren Sie das System ohne Internetverbindung, damit das System nichts Unnötiges herunterlädt.
Da wir Systemimages erstellen werden und dafür das System im Auditmodus versiegeln, können wir etwas Zeit sparen, indem wir das System direkt nach der Installation im Auditmodus starten. Wenn das System Sie fragt, einen Region auszuwählen: „Lassen Sie uns mit der Region beginnen. Ist das richtig?“, drücken Sie einfach „Strg+Shift+F3“.
Schritt 2 – Erstellen Sie ein Systemimage
Da wir das System testen und verschiedene neue Einstellungen ausprobieren werden, kann es vorkommen, dass etwas schiefgeht und wir das System in den ursprünglichen Zustand zurückversetzen müssen. Daher ist es wichtig, ein Systemabbild zu erstellen, um einen schnellen Rückgriff zu ermöglichen. Das Einzige, was ich machen werde, ist, das "Gentleman-Set" – das Skript und die Antwortdatei – zu kopieren. Alle Dateien befinden sich in dem Ordner "Sysprep", den ich ins Stammverzeichnis des Systemlaufwerks kopieren werde. Selbstverständlich werde ich dieses "Gentleman-Set" mit Ihnen teilen.
Sysprep.bat – zur Versiegelung 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 %AdminName%>nul 2>nul
if %errorLevel% neq 0 (call :AddAdmin "%AdminName%")
if %errorLevel% neq 0 (call :ShowMessage "‡‡‡Ошибка создания новой учетной записи администратора "%AdminName%"‡‡Нажмите любую клавишу для завершения работы скрипта"&pause>nul&exit)
pushd "%~dp0"
cls
call :ShowMessage ‡‡‡‡‡‡‡‡‡‡
echo 1 - Запечатать систему в режиме аудита
echo 2 - Запечатать систему в режиме приветствия
:Select
set /p Choice="Введите номер пункта меню: "
if "%Choice%"=="1" (goto Audit)
if "%Choice%"=="2" (goto OOBE)
echo.&echo Выбрано недопустимое значение.&goto Select
exit
:Audit
call :ShowMessage "‡‡‡‡‡Запечатывание системы в режиме аудита"
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 "‡‡‡‡‡Запечатывание системы в режиме приветствия"
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 Не указано имя пользователя&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 %AdminGroup% %UserName% /add
net localgroup %UserGroup% %UserName% /delete
endlocal&exit /b 0
goto :eof
:GetGroupName
if "%~1"=="" (echo Не указан SID группы&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 Ошибка определения имени группы по 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 geprüft, ob ein Benutzerkonto mit dem Namen „Admin“ existiert; falls nicht, wird es erstellt. Das Konto wird der Gruppe „Administratoren“ hinzugefügt.
Unattend.xml – die Antwortdatei für Sysprep.
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
1
Keine Schlüssel-Seite anzeigen
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f
2
Kein Benutzerkonto erstellen
cmd.exe /c rd %systemdrive%Sysprep /s /q
3
Ordner löschen
true
Admin
en-US; de-DE
de-DE
de-DE
de-DE
true
true
true
true
true
1Im Audit-Modus fügt das Skript dem Systemprotokoll einen Befehl zum Beenden des Prozesses „sysprep.exe“ hinzu, um das Fenster von sysprep nicht jedes Mal manuell schließen zu müssen. Im Willkommensmodus entfernt das Skript den Befehl zum Schließen des Fensters aus dem Protokoll und ändert selbst den Wert der Architektur in der Antwortdatei auf den aktuellen. In der Antwortdatei sind die Parameter für das Booten des Systems ohne Benutzereingriff und der Befehl zum Löschen des Ordners „Sysprep“ im Hauptverzeichnis des Systemlaufwerks enthalten.
Jetzt werde ich das System im Audit-Modus mit „Sysprep.bat“ versiegeln und ein Abbild des Systems erstellen. Das Abbild werde ich mit DISM erstellen und nur das Systemlaufwerk abbilden. Wenn Sie nur ein Abbild des Systemlaufwerks und nicht der gesamten Festplatte erstellen, vergessen Sie nicht, den Inhalt des Verzeichnisses „WindowsSystem32Recovery“ auf das erste Laufwerk in den Ordner „RecoveryWindowsRE“ nach der Installation 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 – System Lokalisierung
Das Sprachpaket kann installiert werden, ohne dass eine Internetverbindung erforderlich ist, vorausgesetzt, Sie haben dieses Paket bereits. Andernfalls wird das System es automatisch aus dem Internet herunterladen, wenn Sie die Sprache in den Einstellungen hinzufügen. Verwenden Sie jedoch nicht das Sprachpaket früherer Windows-Versionen. Für Windows 10 1809 müssen Sie das Sprachpaket spezifisch für Windows 10 1809 verwenden.
Microsoft verfolgt seinen Plan – die schrittweise Übertragung der Einstellungen vom klassischen Menü in das neue. Daher finden Sie in der klassischen Systemsteuerung keine Einstellungen mehr zur Änderung der Sprache und zur Installation des Sprachpakets. Diese Einstellungen sind nun ausschließlich in den Systemeinstellungen zu finden.
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. Nachdem Sie die Systemeinstellungen einmal über diesen Befehl geöffnet haben, können Sie sie über das grafische Menü öffnen.
In den Systemeinstellungen können Sie das Sprachpaket festlegen, vorausgesetzt, das System ist mit dem Internet verbunden. Es gibt keine Möglichkeit, ein Sprachpaket aus einer lokalen Datei zu installieren.
Ich werde den Lokalisierungsprozess nicht beschreiben, da dies den Artikel erheblich aufblähen würde, zumal der Prozess der Lokalisierung ausführlich . Ich möchte jedoch Ihre Aufmerksamkeit auf eine Besonderheit lenken, die sich auf die Änderung der Systemsprache nach der Installation des Sprachpakets über die Konsole bezieht. Diese Besonderheit ist im selben Wiki beschrieben, auf das ich zuvor verlinkt habe, im Unterabschnitt .
Ich werde das Sprachpaket ohne Internetverbindung installieren.
Nach der vollständigen Lokalisierung des Systems sollten Sie unbedingt ein Systemabbild erstellen.
Schritt 4 – Installation der benötigten Anwendungen
Da es in den LTSB- und LTSC-Systemen keinen App-Store gibt, gestaltet sich die Installation von Anwendungen aus dem „Microsoft Store“ als etwas schwierig, insbesondere der Download der Anwendungen. Um den Download von Anwendungen zu erleichtern, hat die Firma „Adguard“ einen sehr praktischen Dienst geschaffen – , mit dem temporäre Links zum Herunterladen von Anwendungen und deren Komponenten erhalten werden können.
Für die Installation der Anwendung benötigen Sie Dateien mit den Endungen „Appx“ und „AppxBundle“. Bevor Sie die Anwendung selbst installieren, müssen ihre Komponenten installiert werden. In der Regel können die Komponenten einer Anwendung intuitiv am Dateinamen erkannt werden.
Um den Artikel nicht zu lang zu gestalten, werde ich den Installationsprozess der Anwendungen nicht im Detail beschreiben, zumal dazu bereits vorliegt. Ich füge jedoch noch eine andere Möglichkeit hinzu, Anwendungen im aktuellen Konto zu installieren. Anwendungen können mit dem Programm installiert werden. Für die Installation der Anwendungen ist eine Internetverbindung erforderlich, sodass die Anwendungen per Doppelklick installiert werden können und Sie deren Komponenten nicht benötigen, da alle erforderlichen Komponenten heruntergeladen und installiert werden. .
Und eine kleine Erinnerung: Bei der Installation von Anwendungen im aktuellen Konto kann das System nicht versiegelt werden. Wie Sie Anwendungen installieren, um das System versiegeln zu können, entnehmen Sie bitte der oben erwähnten Anleitung. Zur Überprüfung der Funktionalität des Multikiosks reicht es bereits aus, die vorhandenen Anwendungen zu verwenden.
Schritt 5 – Erstellung der Konfigurationsdatei für den Multikiosk
Jetzt kommen wir zum Interessantesten – zur Konfiguration des Kioskmodus. Schauen wir in die zur Einrichtung und sehen wir. Zunächst müssen wir eine XML-Konfigurationsdatei erstellen, ein vollständiges Beispiel davon kann .
Beginnen wir mit der Konfiguration der Kachelplätze. Der einfachste Weg, eine XML-Konfigurationsdatei für die Kachelanpassung zu erstellen, ist .
Zuerst fügen wir im Startmenü die Kacheln der benötigten Anwendungen hinzu. Wir öffnen die Suche mit „Win+s“, finden die gewünschte Anwendung, klicken mit der rechten Maustaste darauf und wählen „Auf Startseite anheften“.
Ich habe die folgenden Anwendungen angeheftet:
- Notepad
- Rechner
- Internet Explorer
- Farben
- WordPad
- Einstellungen
- Windows-Sicherheit
Die letzten beiden Apps wurden fixiert, da in der standardmäßigen LTSC-Version keine anderen universellen Anwendungen vorhanden sind. Beachten Sie, dass die Kacheln klassischer Anwendungen auf Verknüpfungen verweisen. Jetzt werde ich die fixierten Kacheln durch Verschieben der Kacheln direkt im Startmenü in zwei Gruppen aufteilen. Um eine neue Kachelgruppe zu erstellen, ziehen Sie eine Kachel deutlich oberhalb oder unterhalb anderer Kacheln; ein intuitiver Trennstrich wird angezeigt. Sie können die Gruppen nach Belieben benennen, indem Sie den Mauszeiger über die Gruppe bewegen. Wenn die Aufforderung „Gruppe benennen“ erscheint, klicken Sie mit der linken Maustaste. Die erste Gruppe werde ich "Einstellungen" nennen, die die Kacheln „Optionen“ und „Windows-Sicherheit“ enthalten wird. Die zweite Gruppe nenne ich "Office-Anwendungen", in die alle anderen Kacheln fallen. Übrigens, Sie können vollständige Kachelgruppen verschieben, indem Sie sie an den beiden Streifen ziehen, die sich oben rechts vom Gruppennamen befinden.
Da der Titel auf der Kachel „Windows-Sicherheit“ nicht vollständig passt, werde ich die 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 „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“.
Es ist am einfachsten, die Einstellungsdatei nicht selbst zu erstellen, sondern Einstellungen – klicken Sie auf die Schaltfläche „Copy“, fügen Sie den Inhalt in den Editor ein und speichern Sie ihn als „MultiAppKiosk.xml“. Jetzt ändern Sie die Einstellungen nach Ihren Wünschen. Um die Einstellungen der angehefteten Kacheln zu ändern, kopieren Sie den gesamten Block „StartLayoutCollection“ aus „StartLayout.xml“ in „MultiAppKiosk.xml“. Um Anwendungen zu den erlaubten hinzuzufügen, fügen Sie die Identifizierungsnummern der universellen Anwendungen in den Abschnitt „AllowedApps“ ein und addieren Sie zu diesem 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. Für einen schnellen Zugriff auf die Verknüpfung klicken Sie mit der rechten Maustaste auf die angeheftete Kachel und navigieren Sie durch das Menü „Erweitert > Zum Speicherort der Datei wechseln“. Beachten Sie, dass zur Angabe der ID der universellen Anwendung der Parameter „AppUserModelId“ verwendet wird, während der Parameter „DesktopAppPath“ für den vollständigen Pfad zur klassischen Anwendung dient. Und noch ein kleiner Hinweis: Wenn Sie planen, IE im System x64 zu verwenden, müssen in der Liste der erlaubten Anwendungen zwei Pfade für die ausführbare Datei angegeben werden: „Program Files\Internet Explorer\iexplore.exe“ und „Program Files (x86)\Internet Explorer\iexplore.exe“.
Ich werde keinen Zugriff auf die Ordner gewähren, daher entferne ich den Abschnitt „FileExplorerNamespaceRestrictions“.
Die Anzeige der Taskleiste stört mich nicht, deshalb lasse ich im Abschnitt „Taskbar“ alles wie es ist.
Im Beispiel sind zwei Profile angegeben, aber ich werde nur ein Profil haben, deshalb kann der Abschnitt mit dem zweiten Profil entfernt 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 an die Profile gebunden. Beachten Sie, dass an ein Profil mehrere Konten gebunden werden können. Da ich jedoch nur an einem Konto interessiert bin, werde ich alle Bindungen außer der ersten entfernen – die Blöcke „Config“. In der verbleibenden Bindung werde ich den Benutzernamen „User“ eingeben.
Das ist die resultierende Datei mit den Parametern:
MultiAppKiosk.xml
<![CDATA[
]]>
UserWenn Sie Ihre XML-Konfigurationsdateien erstellen, denken Sie daran, dass jede Vorlage eine eindeutige ID haben muss, und zwar nicht nur innerhalb einer XML-Datei, sondern auch im gesamten Betriebssystem. Um Verwirrung zu vermeiden, können Sie jedes Mal eine neue ID generieren. Dies kann in PowerShell mit dem Befehl „[guid]::NewGuid()“ durchgeführt werden. Achten Sie darauf, die Datei im Format „UTF-8“ zu speichern, da Sie ansonsten beim Erstellen des Vorbereitungs-Pakets einen Fehler erhalten, wenn im XML-Dateiformat kyrillische Zeichen enthalten sind.
Schritt 6 – Anwendung der Multikiosk-Einstellungen
Wir betrachten zwei Möglichkeiten zur Anwendung der Einstellungen, die in der Konfigurationsdatei beschrieben sind. Die erste Möglichkeit ist die Verwendung eines Vorbereitungs-Pakets, das in ICD erstellt werden muss. Diese Methode könnte für einige vertrauter sein. Die zweite Möglichkeit ist die Verwendung des „MDM Bridge WMI Provider“, die mir als praktischer erscheint.
Methode Nr. 1
Für diejenigen, die kein ICD haben, und installieren Sie es. Die Installation des ADK ist sehr einfach, die Komponenten können standardmäßig belassen werden.
Wir starten ICD, klicken auf die Kachel „Zusätzliche Vorbereitung“, geben den Namen und den Ordner des Projekts an und klicken auf „Weiter“. Im nächsten Fenster wählen wir „Alle Versionen von Windows für Desktop-Computer“ und klicken auf „Weiter“. Den Import des Vorbereitungs-Pakets können wir überspringen, wir klicken auf „Fertigstellen“.
Wir öffnen das Dropdown-Menü „Laufzeitoptionen“, dann entfalten wir das Untermenü „AssignedAccess“ und wählen den Punkt „MultiAppAssignedAccessSettings“. Oben im mittleren Abschnitt des ICD-Fensters klicken wir auf die Schaltfläche „Durchsuchen“ und geben den Speicherort der XML-Datei mit den Einstellungen an. Zur Sicherheit können wir das Projekt speichern, indem wir „Strg+s“ drücken. In der oberen linken Ecke des ICD wählen wir „Exportieren“ und im Dropdown-Menü den Punkt „Vorbereitungs-Paket“. Als Eigentümer wählen wir „IT-Administrator“, alle anderen Fragen können wir durch Klicken auf „Weiter“ überspringen. Am Ende klicken wir auf „Build“ und dann auf „Fertigstellen“.
In der installierten Systemumgebung vergessen wir nicht, den Benutzer „User“ zu erstellen, er darf nicht der Gruppe „Administratoren“ hinzugefügt werden, da sonst MultiApp nicht funktioniert. Ich habe den Benutzer in der Verwaltungskonsole „Computerverwaltung“ mit unbegrenzter Passwortgültigkeit erstellt.
Jetzt starten wir das Vorbereitungs-Paket im zuvor installierten System. Nach der Anwendung des Vorbereitungs-Pakets wird das Startmenü und die Administratoransicht 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 entfernt werden, indem man das Fenster „Einstellungen > Konten > Zugriff auf das Arbeits- oder Schulkonto > Hinzufügen oder Entfernen des Vorbereitungs-Pakets“ öffnet.
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 eingerichtet wurde, und sehen 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 und der Möglichkeit, viele manuelle Operationen zu vermeiden, die zur Erstellung des Vorbereitungs-Pakets erforderlich sind. Hier kann jeder selbst eine Lösung finden, die ihm am besten passt. Ich habe mir eine solche Kombination von Skripten 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 ist die Datei psexec.exe erforderlich‡‡Drücken Sie eine beliebige Taste, um das Skript zu beenden"&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 Keine PS-Dateien mit dem Anfangsnamen - "%~n0" 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
Function ConvertEncoding ([string]$From, [string]$To) {
Begin{$encFrom = [System.Text.Encoding]::GetEncoding($From);$encTo = [System.Text.Encoding]::GetEncoding($To)}
Process{$bytes = $encTo.GetBytes($_);$bytes = [System.Text.Encoding]::Convert($encFrom, $encTo, $bytes);$encTo.GetString($bytes) -replace [char]0, ''}
}
Function ShowMessage ($Message='', $Align=0) {
Try {$Align = [decimal]$Align} Catch {Return 'Für den Parameter Align kann nur eine Zahl angegeben werden' | ConvertEncoding 'windows-1251' -To 'UTF-16'}
if ($Message -is [int]) {for ($i=1; $i -le $Message; $i++) {Write-Host}; Return}
if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$Message = $Message | ConvertEncoding 'windows-1251' -To 'UTF-16'}
if ($Message -is [string]) {[array] $Message = $Message}
foreach ($String in $Message) {
Try {$String = [int]$String} Catch {}
if ($String -is [int]) {for ($i=1; $i -le $String; $i++) {Write-Host}; continue}
if ($Host.UI.RawUI.BufferSize.Width -gt $String.Length) {
if ($Align -eq 0) {Write-Host $String
} else {Write-Host ("{0}{1}" -f (' ' * (([Math]::Max(0, $Host.UI.RawUI.BufferSize.Width / $Align) - [Math]::Floor($String.Length / $Align)))), $String)}
} else {Write-Host $String}
}
}
$script:NameSpace="rootcimv2mdmdmmap"
$script:ClassName="MDM_AssignedAccess"
$script:MultiAppKiosk = Get-CimInstance -Namespace $NameSpace -ClassName $ClassName
if (-not $MultiAppKiosk) {ShowMessage -Message (3, 'Fehler beim Abrufen des Einstellungsg对象', 2, 'Drücken Sie "Enter", um das Skript zu beenden') -Align 2; Read-Host; Exit}
Function MainMenu() {
ShowMessage (13, ' 0 - Beenden', ' 1 - XML-Datei zur Installation auswählen', ' 2 - Aktuelle Konfiguration des Multi-Kiosks anzeigen', ' 3 - Multi-Kiosk-Einstellungen löschen', 1)
$local:PromptText = 'Wählen Sie eine Aktion'
if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$PromptText = $PromptText | ConvertEncoding 'windows-1251' -To 'UTF-16'}
$local:Selections = 1..2
While ($true) {
$Select = Read-Host -Prompt $PromptText
Switch ($Select) {
0 {exit}
1 {XMLSelection}
2 {ShowMessage -Message (1, 'Beginn der Konfiguration') -Align 2; Write-Host $MultiAppKiosk.Configuration; ShowMessage -Message ('Ende der Konfiguration', 1, 'Drücken Sie "Enter", um zum Menü zurückzukehren', 1) -Align 2; Read-Host}
3 {$MultiAppKiosk.Configuration = $Null; Set-CimInstance -CimInstance $MultiAppKiosk; ShowMessage -Message (1, 'Befehl zum Löschen der Einstellungen erfolgreich ausgeführt', 1) -Align 2}
DEFAULT {ShowMessage 'Ungültiger Wert ausgewählt'}
}
if ($Selections -contains $Select) {Clear-Host; ShowMessage (15, ' 0 - Beenden', ' 1 - XML-Datei zur Installation auswählen', ' 2 - Aktuelle Konfiguration des Multi-Kiosks anzeigen', ' 3 - Multi-Kiosk-Einstellungen löschen', 1)}
}
}
Function XMLSelection() {
Clear-Host
if (!(Test-Path -Path $PSScriptRoot'XML')) {ShowMessage -Message (13, 'Katalog nicht gefunden', $('"'+$PSScriptRoot+'XML"'), 1, 'Drücken Sie "Enter", um zum vorherigen Menü zurückzukehren') -Align 2; Read-Host; Return}
$local:XMLList = @()
$XMLList += Get-ChildItem -Path $PSScriptRoot'XML' -name -filter '*.xml'
if ($XMLList.Count -eq 0) {ShowMessage -Message (13, 'Keine XML-Dateien im Katalog gefunden', $('"'+$PSScriptRoot+'XML"'), 1, 'Drücken Sie "Enter", um zum vorherigen Menü zurückzukehren') -Align 2; Read-Host; Return}
[int]$local:Indent = 13 - $XMLList.Count / 2; if ($Indent -lt 1) {$Indent = 1}
ShowMessage ($Indent, ' 0 - Zurück zum vorherigen Menü')
for ($i=0; $i -le $XMLList.GetUpperBound(0); $i++) {Write-Host $(' '+($i+1)+' - '+$XMLList[$i])}
Write-Host
$local:PromptText = 'Wählen Sie die Datei zur Installation'
if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$PromptText = $PromptText | ConvertEncoding 'windows-1251' -To 'UTF-16'}
$local:Selections = 1..$XMLList.Count
$local:BackToPrevMenu = 0
While ($BackToPrevMenu -eq 0) {
$Select = Read-Host -Prompt $PromptText
Switch ($Select) {
0 {$BackToPrevMenu = 1}
{$Selections -contains $Select} {ShowMessage $('Diese Anweisung wendet Einstellungen aus der Datei '+$XMLList[$Select-1]+' an');
$local:Config = (Get-Content -encoding UTF8 -path $($PSScriptRoot+'XML'+$XMLList[$Select-1]) -Raw).Trim()
$local:GUIDs = [regex]::matches($Config, '{.+?}') | select -ExpandProperty Value | Get-Unique
foreach ($GUID in $GUIDs) {$Config = $Config -replace $(''+$GUID),$('{'+[guid]::NewGuid()+'}')}
$Config = $Config -replace '&','&' -replace '<','<' -replace '>','>' -replace "'",''' -replace '"','"'
$MultiAppKiosk.Configuration = $Config
Set-CimInstance -CimInstance $MultiAppKiosk
}
DEFAULT {ShowMessage ('Ungültiger Wert ausgewählt')}
}
}
}
MainMenuWenn Sie meine Lösung verwenden möchten, speichern Sie die oben genannten Skripte in einen Ordner mit ihren Originalnamen und legen Sie die Datei „PsExec.exe“ in denselben Ordner. Erstellen Sie in diesem Ordner einen Ordner „XML“ und kopieren Sie die XML-Dateien für die Konfiguration des Multi-Kiosks hinein. Ich werde die gleiche Datei verwenden wie im ersten Verfahren.
MultiAppKiosk.xml
<![CDATA[
]]>
UserEin wenig zu den Besonderheiten des Skripts. Das Skript ist für die Verwendung von XML-Dateien mit der Kodierung „UTF8“ ausgelegt; wenn Sie die Kodierung „ANSI“ verwenden möchten, entfernen Sie den Parameter „encoding UTF8“ aus den Datei-Leseparametern. Die XML-Dateien sollten im Ordner „XML“ ohne Ersatz von Zeichen platziert werden, das Skript ersetzt spezielle Zeichen automatisch durch die entsprechenden Bezeichnungen. Um nicht in den GUIDs der Benutzerzuordnungen zu verwirren, können Sie einfach die Nummer oder den Benutzernamen in geschweifte Klammern angeben; der gesamte Inhalt in geschweiften Klammern wird durch GUIDs ersetzt.
Die Verwendung des Skripts ist sehr einfach: Sie starten es und wählen den gewünschten Punkt aus. Um die aktuelle Konfiguration durch eine neue zu ersetzen, 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 von Sonderzeichen Kombinationen von Platzhaltersymbolen angezeigt. Nach dem Wechsel der Sitzung (Neu starten des Skripts) werden alle Sonderzeichen in ihrer Originalform angezeigt.
Schritt 7 – System versiegeln
Der Multikiosk funktioniert, doch das ist noch nicht alles, wie es scheint...
Wenn alles nach Plan läuft, bedeutet das, dass Sie etwas übersehen.
Vergessen Sie nicht, dass wir das System von der Audit-Modus in den Begrüßungsmodus umschalten müssen. Nun, darauf sind wir vorbereitet, starten Sie „Sysprep.bat“, wählen Sie Punkt 2, das System wird versiegelt. Schalten Sie das Gerät ein, das System wird geladen, wir melden uns mit dem Benutzerkonto an, für das der Multikiosk eingerichtet wurde, und können uns nicht anmelden. Nach dem Hinweis „Willkommen“ erscheint die Nachricht „Abmelden“.
Zunächst wollte ich nur die Lösung des Problems beschreiben, entschied mich dann aber dazu, auch die Schritte zur Identifizierung des Problems und zur Suche nach der einfachsten Lösung zu erläutern, da sicherlich viele Leser mit vagen Zweifeln kämpfen werden – "Was ist, wenn...". Ich denke, dass die Beschreibung verschiedener Experimente Ihnen viel Zeit sparen wird, falls Sie nach einer anderen Lösung suchen. Um die Informationen so präzise wie möglich zu halten und um sicherzustellen, dass keine Fehler vorliegen, werde ich die Experimente im Format „Durchgeführt – Aufgeschrieben“ dokumentieren. Das bedeutet, dass ich die beschriebenen Experimente noch einmal durchführen werde.
Experimente
Was haben wir nun herausgefunden? Im System gibt es zwei Benutzerkonten:
„Admin“ – in der Gruppe „Administratoren“
„User“ – in der Gruppe „Benutzer“
Im Auditmodus funktionierte das Multicast, während der Aufnahme – funktioniert es nicht.
Experiment 1
Wir entfernen das installierte Vorbereitungs-Paket, löschen den Benutzer "User" in der Konsole „Computerverwaltung“ und erstellen einen neuen Benutzer mit dem Namen "User". Dann wenden wir das Vorbereitungs-Paket an. Beim Anmelden mit dem Benutzer „User“ funktioniert es nicht. Wir melden uns als „Admin“ an, entfernen den Benutzer „User“ aus der Gruppe „Benutzer“ und fügen ihn der Gruppe „Administratoren“ hinzu. Bei der Anmeldung als „User“ funktioniert es nicht. Wir melden uns als „Admin“ an, entfernen das Vorbereitungs-Paket von der Multi-Kiosk-Umgebung, melden uns als „User“ an – es gelingt, sich anzumelden, aber der Multi-Kiosk-Modus funktioniert natürlich nicht, da das Vorbereitungs-Paket entfernt wurde.
Experiment 2
Wir laden das System-Image hoch – ins Deutsche übersetzt im Audit-Modus.
Das Betriebssystem ist gestartet. Wir drücken «Win+r», da das Sysprep-Fenster automatisch geschlossen wurde, führen wir den Befehl «sysprep» aus. Im geöffneten Fenster starten wir «sysprep». Die Sysprep-Einstellungen im Fenster sind: «Wechsel zum OOBE-Bildschirm (Out Of Box Experience)», «Für die Nutzung vorbereiten», «Neustart». Wir klicken auf «OK» und warten auf die Begrüßung des Betriebssystems. Bei den Fragen beim ersten Start des Systems beantworten wir: «Fortfahren in der ausgewählten Sprache?» – «Deutsch»; Region – Deutschland; Tastaturlayout – Deutsch; zweite Tastatureingabe hinzufügen – überspringen; «Lassen Sie uns Ihr Netzwerk einrichten» – «Bis später überspringen»; mit dem Internet verbinden – nein; Lizenzvereinbarung – akzeptieren; «Wer wird diesen Computer verwenden?» – «Test»; Passwort erstellen – ich lasse das Feld leer; bequeme Nutzung auf verschiedenen Geräten – nein; Datenschutzeinstellungen – akzeptieren. Das Betriebssystem ist gestartet. In der «Computerverwaltung» erstellen wir einen Benutzer mit dem Namen «User» und fügen ein Vorbereitungs-Paket hinzu. Ergebnis – funktioniert nicht.
Experiment 3
Wir laden das System-Image hoch – ins Deutsche übersetzt im Audit-Modus.
Das Betriebssystem ist hochgefahren, wir verbinden das System mit dem Internet, führen den Befehl „gpedit.msc“ aus und aktivieren im Abschnitt „Windows Update“ die Einstellung „Empfohlene Updates über die automatische Aktualisierung aktivieren“. Zur Sicherheit starten wir das System neu. Im Update-Center klicken wir auf „Nach Updates suchen“ und starten das System so lange neu, bis alle Updates installiert sind. Danach trennen wir das System vom Internet. Wir starten „sysprep“ im grafischen Modus und wiederholen alle Schritte, die im vorherigen Schritt beim Start des „sysprep“-Tools bis zur Hinzufügung des Vorbereitungs-Pakets beschrieben sind. Ergebnis: es funktioniert nicht.
Experiment 4
Wir laden das System-Image – englischsprachig im Audit-Modus hoch.
Wir starten „sysprep“ im grafischen Modus und versiegeln das Betriebssystem mit den gleichen Einstellungen wie im Experiment 2. Bei der ersten Systemstart wählen wir die gleichen 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 Vorbereitungs-Paket hinzu. Ergebnis: es funktioniert. Das bedeutet, dass das Problem mit der Lokalisierung zusammenhängt.
Experiment 5
Wir laden das System-Image hoch – ins Deutsche übersetzt im Audit-Modus.
Im Tool „Computerverwaltung“ erstellen wir den Benutzer „User“, fügen das Vorbereitungspaket hinzu, melden uns im Konto „User“ an, die Multikiosk-Funktion arbeitet.
Wir melden uns ab und dann mit dem Konto „Admin“ an. Wir starten PowerShell mit Administratorrechten, führen den Befehl „Dism /online /Get-Intl“ aus und sehen „Sprache der Benutzeroberfläche: en-US“.
Wir starten von einem USB-Stick in WinPE, das bereitgestellte Betriebssystem befindet sich auf Laufwerk E. Wir führen den Befehl „Dism /image:E: /Set-UILang:ru-ru“ aus. Wir überprüfen das Ergebnis, führen „Dism /image:E: /Get-Intl“ aus und sehen „Standard-Sprache der Systembenutzeroberfläche: ru-RU“.
Wir starten das System, melden uns im Konto „User“ an, die Multikiosk-Funktion funktioniert nicht.
Um die Ursache und Wirkung der Problematik klar festzustellen, versuchen wir nochmals, den Multikiosk funktionsfähig und nicht funktionsfähig zu machen.
Wir starten von einem USB-Stick in WinPE, das bereitgestellte Betriebssystem befindet sich auf Laufwerk E. Wir führen den Befehl „Dism /image:E: /Set-UILang:en-us“ aus. Wir überprüfen das Ergebnis, führen „Dism /image:E: /Get-Intl“ aus und sehen „Standard-Sprache der Systembenutzeroberfläche: en-US“.
Wir starten das System, melden uns im Konto „User“ an, die Multikiosk-Funktion funktioniert.
Wir starten von einem USB-Stick in WinPE, das bereitgestellte Betriebssystem befindet sich auf Laufwerk E. Wir führen den Befehl „Dism /image:E: /Set-UILang:ru-ru“ aus. Wir überprüfen das Ergebnis, führen „Dism /image:E: /Get-Intl“ aus und sehen „Standard-Sprache der Systembenutzeroberfläche: ru-RU“.
Wir starten das System, melden uns im Konto „User“ an, die Multikiosk-Funktion funktioniert nicht.
Das bedeutet, dass man eine klare Abhängigkeit der Funktionsfähigkeit des Kiosks von der Einstellung der Standardsprache der Benutzeroberfläche erkennen kann. Gibt es vielleicht noch andere Faktoren, die die Funktionsfähigkeit des Multikiosks beeinflussen?
Experiment 6
Um die Genauigkeit des Experiments zu gewährleisten, setzen wir das System neu auf. Wir laden das System-Image hoch, das auf Russisch im Audit-Modus ist.
Wir starten „sysprep“ im grafischen Modus und packen das Betriebssystem mit den gleichen Parametern wie im Experiment 2. Wir warten auf den Begrüßungsbildschirm des Betriebssystems und beantworten die Fragen: „Continue in selected language?“ – „English (United States)“; Region – Russland; Tastaturlayout – Russisch. Danach werden alle Parameter wie im Experiment 2 ausgewählt.
Wir überprüfen die Einstellungen für die Standardsprache der Benutzeroberfläche. Wir führen den Befehl „Dism /online /Get-Intl“ aus und sehen „Default system UI language: en-US“. In der Verwaltungskonsole erstellen wir den Benutzer „User“, fügen das Vorbereitungs-Image hinzu, loggen uns in das Konto „User“ ein, der Multikiosk funktioniert.
Wir versuchen, die Kioskanwendung zu manipulieren, indem wir die Standardsprache der Benutzeroberfläche ändern. Wir melden uns bei dem Benutzer "Test" an, der bei der ersten Systeminstallation erstellt wurde, und aktivieren die automatische Anmeldung, damit das System nicht sofort in das Konto "User" lädt. Wir führen "netplwiz" aus, wählen den Benutzer "Test" aus, deaktivieren das Kontrollkästchen "Benutzername und Passwort anfordern" und wenden die Einstellungen an.
Wir starten von einem USB-Stick in WinPE. Wir führen den Befehl "Dism /image:E: /Set-UILang:ru-ru" aus. Wir überprüfen das Ergebnis, führen "Dism /image:E: /Get-Intl" aus und sehen "Default system UI language: ru-RU".
Wir laden das System, versuchen uns bei dem Konto "User" anzumelden, der Multikiosk funktioniert. Das heißt, wir können ihn nicht manipulieren. Kann ihn denn so arbeiten lassen?
Experiment 7
Wir laden das System-Image hoch – ins Deutsche übersetzt im Audit-Modus.
Wir starten "Sysprep.bat" und wählen Punkt 2. Wir laden das System, erstellen im Snap-In "Computerverwaltung" einen Benutzer "User", fügen das Vorbereitungs-Paket hinzu, melden uns im Konto "User" an, der Multikiosk funktioniert nicht.
Wir starten von einem USB-Stick in WinPE. Wir führen den Befehl "Dism /image:E: /Set-UILang:en-us" aus. Wir überprüfen das Ergebnis, führen "Dism /image:E: /Get-Intl" aus und sehen "Default system UI language: en-US".
Wir melden uns an, versuchen uns bei dem Konto „User“ einzuloggen, der Multikiosk funktioniert nicht.
Es ergibt sich, dass die Änderung der Spracheinstellungen der Benutzeroberfläche nur die Funktionalität des Multikiosks beeinflussen kann, wenn das System im Audit-Modus oder beim ersten Start nach dem Versiegeln des Systems ist. Das bedeutet, dass das System mit einer Antwortdatei versiegelt werden muss, in der die Systemsprache auf Englisch eingestellt ist, danach müssen die Systemeinstellungen geändert werden, um die Oberfläche auf Russisch zu haben. Keine besonders gute Lösung. Gibt es vielleicht eine Möglichkeit, das Problem durch die Installation eines Sprachpakets oder zusätzlicher Sprachpakete zu lösen?
Experiment 8
Wir laden das System-Image – englischsprachig im Audit-Modus hoch.
Wir verbinden uns mit dem Internet, gehen in den Systemeinstellungen zum Abschnitt „Language“, wählen „Add language“, wählen die Sprache „Russisch“, klicken auf „Next“, lassen die Installationseinstellungen auf Standard, klicken auf „Install“, 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.
Nach dem Booten des Systems in der Computerverwaltung erstellen wir den Benutzer „User“, fügen das Vorbereitungspaket hinzu, melden uns beim Konto „User“ an, MultiBoot funktioniert nicht.
Experiment 9
Wir versuchen, das System vor der Installation offline zu lokalisieren. Dabei wird es auch eine kurze Einführung zur Lokalisierung des Distributionspakets geben.
Ich nehme einen USB-Stick mit dem originalen sauberen Distributionspaket – X21-96381. Er wird als Laufwerk „E“ gemountet. Zur Montage der Images erstelle ich die Ordner: „c:MountInstall“, „c:MountWinre“, „c:MountBoot“. Ich nehme das Paket für die Lokalisierung – X21-87814. Und kopiere aus diesem 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_de-de.cabcode
dism /Image:Installcode /Set-AllIntl:de-de
dism /Image:Install /Set-TimeZone:"Westeuropäische Zeit"code
dism /Mount-Wim /WimFile:InstallWindowsSystem32RecoveryWinre.wim /index:1 /MountDir:Winrecode
dism /Image:Winre /Add-Package /PackagePath:lp.cabcode
dism /Image:Winrecode /Set-AllIntl:de-de
dism /Image:Winre /Set-TimeZone:"Westeuropäische Zeit"code
dism /Unmount-Image /MountDir:Winre /Commitcode
dism /Image:Install /Gen-LangINI /distribution:E: /Set-AllIntl:de-DEcode
dism /image:Install /Set-SetupUILang:DE-de /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:de-de
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_de-de.cabcode
dism /Image:Bootcode /Set-AllIntl:de-de
copy e:sourceslang.ini Bootsourceslang.ini /ycode
dism /Unmount-Image /MountDir:Boot /CommitWir starten von einem USB-Stick, wählen die deutsche Sprache aus und installieren das System auf einer leeren Festplatte. Wenn das System fragt, welchen Standort wir wählen möchten, drücken wir „Ctrl+Shift+F3“. Im Snap-in „Computerverwaltung“ erstellen wir den Benutzer „User“, fügen das Vorbereitungspaket hinzu und melden uns beim Konto „User“ an, da die Multimedia-Funktion nicht funktioniert.
Wir booten von einem USB-Stick in WinPE. Wir führen den Befehl „Dism /image:E: /Set-UILang:en-us“ aus.
Wir booten ins System und versuchen uns mit dem Konto „User“ einzuloggen, der Multicard-Reader funktioniert.
Es scheint nicht an den Methoden zur Paketinstallation zu liegen, versuchen wir 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 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. Ich kopiere die Pakete in den Ordner „c:Mount“: „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-de-de-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-OCR-de-de-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Handwriting-de-de-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-TextToSpeech-de-de-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-de-de-Package~31bf3856ad364e35~x86~~.cab
dism /Unmount-Image /MountDir:Install /CommitWir starten von einem USB-Stick, wählen die deutsche Sprache und installieren das System auf einer leeren Festplatte. Wenn das System nach der Region fragt, drücken wir „Ctrl+Shift+F3“. Im Tool „Computerverwaltung“ erstellen wir den Benutzer „User“, fügen das Vorbereitungs-Paket hinzu und melden uns beim Konto „User“ an. Ich erhielt einen schwarzen Bildschirm, der lange anhielt, daher führte ich einen Warmstart des Systems durch.
Wir entfernen das Vorbereitungs-Paket, melden uns als Benutzer „User“ an, starten das System neu und fügen das Vorbereitungs-Paket hinzu, die Multikesorausgabe funktioniert nicht.
Wir booten von einem USB-Stick in WinPE. Wir führen den Befehl „Dism /image:E: /Set-UILang:en-us“ aus.
Wir booten ins System und versuchen uns mit dem Konto „User“ einzuloggen, der Multicard-Reader funktioniert.
Umgehung des Problems
Echte Helden. Gehen immer einen Umweg!
Die verschiedenen Methoden zur Installation von Lokalisierungspaketen haben das Problem nicht gelöst. Daher müssen wir bei der ersten Boot von der versiegelten Installation die Sprache auf „en-us“ setzen und sie nach dem ersten Start ändern.
Wir laden das System-Image hoch – ins Deutsche übersetzt im Audit-Modus.
Im „Unattend.xml“-Datei tragen wir unter dem Parameter „en-US“ ein, führen „Sysprep.bat“ aus, wählen Punkt 2 aus und sehen, was herausgekommen ist. Der Begrüßungsbildschirm ist auf Englisch, der Multitouch funktioniert – alles läuft. Deswegen muss der Befehl zur Änderung der Begrüßungssprache in „Unattend.xml“ eingefügt werden. Dazu muss der Befehl „control intl.cpl,,/f:“ ausgeführt werden, unter Angabe der Konfigurationsdatei, in der die aktuellen Einstellungen für den Begrüßungsbildschirm kopiert werden. Der Inhalt der Konfigurationsdatei sieht so aus.
Da die Einstellungen des aktuellen Benutzers kopiert werden sollen, muss der Befehl nach der Benutzeranmeldung ausgeführt werden. Das bedeutet, dass wir Administratorrechte benötigen. Ich möchte ungern eine zusätzliche Datei erstellen, die für die erfolgreiche Ausführung des Befehls nötig ist. Es wäre besser, die gesamte Lösung in einer einzigen Datei – „Unattend.xml“ – umzusetzen. Dazu muss nur der Befehl ausgeführt werden, der die Konfigurationsdatei erstellt. Ich denke, ich werde die Konfigurationsdatei mit dem Befehl „echo“ in der „cmd“-Umgebung erstellen, aber dabei müssen die spitzen Klammern mit einem Caret (^) maskiert werden. Das heißt, um die Konfigurationsdatei zu erstellen, lautet der Befehl wie folgt:
echo ^^^^^ > Config.xmlWir müssen jedoch diesen Befehl in XML einfügen, das eigene Anforderungen an die Verwendung von Sonderzeichen hat:
Sonderzeichen
Ersatzwert
>
>
<
<
&
&
‘
'
“
"
Am Ende ergibt sich folgender Befehl zur Erstellung der Konfigurationsdatei für "FirstLogonCommands".
cmd.exe /c echo "%TMP%Config.xml"Führen Sie dann den Befehl unter Verwendung der Konfigurationsdatei aus.
control intl.cpl,,/f:"%TMP%Config.xml"Anschließend 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 00Schließlich habe ich folgende Antwortdatei für sysprep erstellt.
Unattend.xml
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
1
Seite für den Produktschlü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; de-DE
de-DE
en-US
de-DE
true
true
true
true
true
1
cmd.exe /c echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToSystemAcct="true"/^>^</gs:UserList^>^</gs:GlobalizationServices^>"%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üfung läuft…
Wir laden das System-Image hoch – ins Deutsche übersetzt im Audit-Modus.
Wir ersetzen die Datei Unattend.xml durch eine neue, führen „Sysprep.bat“ aus, wählen Punkt 2 und prüfen das Ergebnis. Bei der ersten Anmeldung erscheint der Begrüßungsbildschirm in englischer Sprache, das System wird neu gestartet. Der Begrüßungsbildschirm ist in russischer Sprache, der Multikiosk funktioniert.
Wenn Sie Fragen zur Konfiguration und Lizenzierung von Windows 10 IoT Enterprise haben, wenden Sie sich an oder auf die Website .
Antworten auf einige Fragen finden Sie in oder auf unserer
Der Artikel wurde von Wladimir Borisenkov, technischer Experte bei Quarta Technologies, verfasst.
Quelle: habr.com
