Windows 10 IoT Enterprise 2019 — többszörös kioszk üzemmód

Bevezetés

Windows 10 IoT Enterprise 2019 – a Windows 10 új verziójának marketingneve. E kiadás megjelenését 2018 szeptemberében jelentették be, így a verziószáma 1809, ahol a 18 – az év, a 09 – a hónap. Az új Windows 10 1809 verzióról sok cikk íródott, de a legtöbbje a különböző „szépítésekről” és olyan funkciókról szól, amelyek otthoni környezetben hasznosak.
A cikkben csak azokról a funkciókról lesz szó, amelyek hasznosak lehetnek a rögzített céleszközök gyártói számára. Különösen az „Kiosk” mód új lehetőségeiről. Emellett az üzleti szegmens Windows kiadásaiban alkalmazott karbantartási séma elnevezésének változásáról is szót ejtünk.

Régi karbantartási séma új névvel

Kezdeném egy rövid magyarázattal: az üzleti szegmens Windows kiadásainak két karbantartási séma van, amelyek alapján Windows frissítéseket kap. A karbantartási sémák betűjelzéssel rendelkeznek. Jelenleg a karbantartási ágakat LTSC-nek és SAC-nak nevezik.

LTSC – jelentése Long Term Servicing Channel (hosszú távú szervizcsatorna). Korábban ezt a csatornát LTSB-nek – Long Term Servicing Branch hívták, a Microsoft csupán a karbantartási csatorna nevét változtatta meg, maga a karbantartás változatlan maradt.

A Microsoft a CBB – Current Branch for Business karbantartási ág nevét is megváltoztatta, mostantól ez az ága SAC – Semi-Annual Channel. Ismét csak a név változott.

De meg kell említeni, hogy az LTSC és SAC karbantartási ágakhoz különböző Windows disztribúciók tartoznak.

Kicsit a SAC új kioszk módjáról

Ahogy már említettem, az LTSC és SAC különböző disztribúciókkal rendelkezik. Az LTSC-ben nincsenek standard univerzális alkalmazások és alkalmazásbolt, míg az SAC-ban vannak. Következésképpen az LTSC-ben nincs Edge böngésző, míg az SAC-ban van. Ha a kioszk beállításakor az Edge böngészőt választjuk, akkor most két üzemmód elérhető:

  1. Mint digitális jel vagy interaktív kijelző
  2. Mint nyilvános böngésző

Nem szeretnék a beállításokkal foglalkozni, mert a konfiguráció nagyon egyszerű és grafikus felületen végezhető. Csak hozzon létre egy felhasználót, aki nem tagja az "Adminisztrátorok" csoportnak, aktiválja számára a kioszkmódot EDGE segítségével, és nézze meg ezen üzemmódok működését.

Kioszk számos alkalmazással

Néhányan úgy gondolják, hogy a legális használat Windows 10 IoT Enterprise csak egy alkalmazás futtatását jelenti egy eszközön, de a valóságban ez nem így van. Az eszköznek egy üzleti feladat végrehajtására kell készülnie, és a felhasználónak nem szabad hozzáférnie az asztalhoz. Most a Microsoft maga biztosít egy eszközt a számos alkalmazás futtatásához. Ezt a módot "multi-app kiosk"-nak nevezzük, a jövőben röviden "mülti-kiosk"-nak fogom hívni. Ebben a cikkben megvizsgáljuk ennek a módnak a beállítását egy szoftvercsomag segítségével és néhány jellemzőjét.

Röviden a "Mülti-kiosk" módról

A kioszk módra beállított felhasználói fiókba belépve a rendszer tablet módba vált. A "Kezdőképernyő" teljes képernyőre ki lesz terjesztve, ahol az alkalmazások csempéi fognak látszani.

A mód alapvető beállításainak és lehetőségeinek listája:

  1. Beállítás több felhasználó vagy csoport számára
  2. Minden felhasználónak vagy csoportnak egyedi beállításokat lehet hozzárendelni
  3. Univerzális és klasszikus alkalmazások használatának lehetősége
  4. Az egyik alkalmazás automatikus indítása a felhasználói bejelentkezéskor
  5. Az alkalmazások whitelistben való működése
  6. Hozzáférés a mappákhoz whitelist alapján

Érdemes figyelni az 5. pontra. Alapértelmezés szerint csak azok az alkalmazások engedélyezettek, amelyek a rendszer működéséhez szükségesek, más alkalmazásokat a jóváhagyott listára kell felvenni. Tehát most már nem szükséges külön beállítani az AppLocker-t. Egyébként a mulit-kiosk módban az összes beállított AppLocker szabály nem fog érvényesülni, hogy elkerüljük a beállítások ütközését.

A 6. pontban jól megfogalmazott lehetőség szerepel, de jelenleg csak a "Letöltések" mappa írásához lehet engedélyt adni. A mód lehetővé teszi egyesült és klasszikus alkalmazások használatát. A mód összes beállítása XML fájlban van megadva, amelyben a kioszk egy alkalmazásra vonatkozó beállításait is meg lehet adni.

Próbáljuk ki mindezt beállítani...

Mire lesz szükségünk...

  1. Elsősorban a multi-kiosk módot támogató rendszerre lesz szükségünk. Itt töltheti le a bemutató verziót
  2. A multi-kiosk beállítási útmutatója
  3. Bármilyen XML szerkesztő
  4. A multi-kiosk beállításainak alkalmazásához:
    1. Az 1. módszerhez — ICD, amely része az ADK-nak. Az ADK-t lehet itt töltheted le
    2. A 2. módszerhez – PsExec segédprogram. A segédprogramot lehet itt töltheted le

Azt mondta – „Indulhatunk!”

Minden kísérletet a Windows 10 IoT Enterprise 1809 LTSC x32 kereskedelmi verzióján fogok végezni, és nem a bemutató verzión. A rendszer aktiválás nélkül fog működni, mivel az aktiválás hiánya nem befolyásolja a rendszer funkcionalitását. Csak azért választottam a 32 bitet, mert kevesebb helyet foglal, és gyorsabban lehet dolgozni a rendszerképekkel.

1. lépés – telepítés

A Win 10 IoT Enterprise telepítése nem különbözik a Win 10 Enterprise telepítésétől, ezért nem írom le az egész telepítési folyamatot, csak néhány apróságra térek ki.

Csak a biztonság kedvéért emlékeztetem, hogy ne a telepített rendszerre telepítse a rendszert. Amikor a telepítő megkérdezi a telepítési helyet, törölje az összes partíciót a jövőbeli rendszermeghajtón, és válassza a partíció nélküli lemezt.

A rendszert internetkapcsolat nélkül telepítjük, hogy a rendszer ne töltsön le semmilyen felesleges dolgot.

Mivel biztonsági másolatokat fogunk készíteni a rendszerről, és ezért audit módban fogjuk lezárni, érdemes egy kis időt megtakarítani azzal, hogy a rendszert egyből audit módban indítjuk a telepítés után. Ehhez, amikor a rendszer megkérdezi, hogy válassza ki a régiót: „Kezdjük a régióval. Ez helyes?” egyszerűen nyomja meg a „Ctrl+Shift+F3” billentyűket.

2. lépés – rendszerkép készítése

Mivel kísérletezni fogunk a rendszerrel különböző új beállításokkal, nem zárható ki, hogy valami nem működik, és vissza kell állítani a rendszert az eredeti állapotába. A gyors visszaállításhoz létre kell hozni egy rendszerképet. Az egyetlen dolog, amit meg fogok tenni, az az, hogy lemásolom a „gentleman’s pack” – scriptet és válaszfájlt. Minden fájlom a „Sysprep” mappában található, amelyet átmásolok a rendszermeghajtó gyökerébe. Természetesen meg fogom osztani Önökkel ezt a „gentleman’s pack”-ot.

Sysprep.bat – a rendszer lezárásához.

@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 "‡‡‡Hiba a új adminisztrátori fiók létrehozásakor: "minName%"‡‡Nyomjon meg egy gombot a szkript befejezéséhez"&pause>nul&exit)

pushd "%~dp0"

cls
call :ShowMessage ‡‡‡‡‡‡‡‡‡‡
echo 1 - A rendszer lezárása audit módban
echo 2 - A rendszer lezárása üdvözlő módban
:Select
set /p Choice="Kérjük, adja meg a menüpont számát: "
if "%Choice%"=="1" (goto Audit)
if "%Choice%"=="2" (goto OOBE)
echo.&echo Érvénytelen érték lett kiválasztva.&goto Select

exit

:Audit
 call :ShowMessage "‡‡‡‡‡A rendszer lezárása audit módban"
 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 "‡‡‡‡‡A rendszer lezárása üdvözlő módban"
 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 Nincs megadva felhasználónév&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 Nincs megadva a csoport 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 Hibás csoportnév az SID alapján "%~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 :eof

A szkript futtatásakor ellenőrizni fogja az "Admin" fiók meglétét, és létre fogja hozni, ha nem található. A fiók az "Adminisztrátorok" csoportba lesz hozzáadva.

Unattend.xml – válaszfájl a sysprep számára.

reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
                    1
                    Ne mutasd a kulcs oldalát
                
                
                    reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f
                    2
                    Ne hozz létre fiókot
                
                
                    cmd.exe /c rd %systemdrive%Sysprep /s /q
                    3
                    Könyvtár törlése
                
            
        
        
            
                true
                Admin
            
        
    
    
        
            en-US; hu-HU
            hu-HU
            hu-HU
            
            hu-HU
        
        
            
                true
                true
                true
                true
                true
                1

Audit módban történő lepecsételéskor a szkript a nyilvántartáshoz hozzáad egy parancsot a »sysprep.exe« folyamat befejezésére, hogy ne kelljen manuálisan bezárni a sysprep ablakát minden alkalommal. Üdvözlő módban történő lepecsételéskor a szkript eltávolítja a nyilvántartásból a bezárási parancsot és magát a válaszfájlban a jelenlegihez változtatja az architektúra értékét. A válaszfájlban azok a paraméterek találhatóak, amelyek lehetővé teszik a rendszer felvételét felhasználói részvétel nélkül, és egy parancs a »Sysprep« mappa eltávolítására a rendszerlemez gyökeréből.

Most lepecsétezem a rendszert audit módban a »Sysprep.bat« használatával, és készítek egy rendszerképet. A rendszerkép készítése DISM segítségével fog történni, és csak a rendszerpartíciót fogom képezni. Ha csak a rendszerpartíciót képezed, nem az egész lemezt, ne felejtsd el a »WindowsSystem32Recovery« mappa tartalmát átmásolni az első partíció »RecoveryWindowsRE« mappájába a rendszer telepítése után. Ezt az operációs rendszer betöltése előtt kell megtenned, mert az operációs rendszer betöltése után a »WindowsSystem32Recovery« mappa már üres lesz.

3. lépés – a rendszer lokalizálása

A nyelvi csomag telepíthető internetkapcsolat nélkül, ha megvan ez a csomag. Ha nincs, akkor a rendszer automatikusan letölti az internetről, amikor hozzáadod a nyelvet a beállításokhoz. Csak ne használj nyelvi csomagot a korábbi operációs rendszerekből. A Windows 10 1809-hez kifejezetten a Windows 10 1809 nyelvi csomagjára lesz szükség.

A Microsoft követi a tervét – fokozatosan átviszi a beállításokat a klasszikus menüből az újba, ezért a klasszikus vezérlőpultban már nem találod a nyelv megváltoztatásához és a nyelvi csomag telepítéséhez szükséges beállításokat. Ezek a beállítások most már csak a rendszer paraméterein belül találhatók.

Audit módban előfordulhat, hogy problémákba ütközöl a rendszer paramétereinek megnyitásakor a »Start« menüből, a rendszer paramétereinek megnyitásához futtasd a parancsot – „ms-settings:”, figyelj a végén lévő pontosvesszőre, nélküle a parancs nem fog működni. Miután egyszer megnyitottad a rendszer paramétereit ezzel a paranccsal, a grafikus menüből is megnyithatod majd.

De a rendszer paraméterein belül telepítheted a nyelvi csomagot, ha a rendszer csatlakozik az internethez, ott nincs lehetőség a helyi fájlból történő nyelvi csomag telepítésének kiválasztására.

Nem fogom leírni a rendszer lokalizálási folyamatát, mivel ez jelentősen megnehezítené a cikket, különösen, hogy a lokalizációs folyamat részletesen itt van leírva. De szeretném felhívni a figyelmet arra a különlegességre, hogy a rendszer nyelvének megváltoztatása a nyelvi csomag telepítése után a konzolon keresztül történik. Ezt a különlegességet az előbb hivatkozott wikiben, a «Nyelv hozzáadása a nyelvek listájához».

A nyelvi csomagot internetkapcsolat nélkül fogom telepíteni.

A rendszer teljes lokalizálása után mindenképpen készítsen biztonsági másolatot a rendszerről.

4. lépés – szükséges alkalmazások telepítése

Mivel az LTSB és LTSC rendszerekben nincs alkalmazásbolt, az alkalmazások telepítése a «Microsoft Store»-ból némi nehézséget okoz, nevezetesen az alkalmazások letöltését. Az alkalmazások letöltéséhez az «Adguard» cég egy nagyon kényelmes szolgáltatást készített – «Adguard Store», amellyel ideiglenes letöltési linkeket kaphat az alkalmazásokhoz és azok komponenseihez.

Az alkalmazás telepítéséhez «Appx» és «AppxBundle» kiterjesztésű fájlokra lesz szükség. Az alkalmazás telepítése előtt először a komponenseket kell telepíteni. Általában az alkalmazás komponensei intuitív módon megkülönböztethetők a fájlnevekből.

Annak érdekében, hogy a cikk ne legyen túl hosszú, nem fogom részletezni az alkalmazások telepítésének folyamatát, különösen, mivel a telepítéshez van részletes útmutató. De hozzáteszek még egy módszert az alkalmazások telepítésére a jelenlegi fiókba. Az alkalmazásokat az «App Installer» program segítségével lehet telepíteni. , de az alkalmazások telepítéséhez internetkapcsolatra lesz szükség, viszont az alkalmazásokat dupla kattintással lehet telepíteni, és nem lesz szükség a komponensekre, minden szükséges komponenst letölt és telepít.Egy kis emlékeztető, hogy az alkalmazás telepítése a jelenlegi fiókba nem engedi meg a rendszer lezárását. A rendszer lezárásához az alkalmazások telepítési módjáról a fent említett útmutatóban olvashat. A multimédiás kiosk működésének ellenőrzéséhez már elegendőek a már meglévő alkalmazások. , de az alkalmazások telepítéséhez internetkapcsolatra lesz szükség, viszont az alkalmazásokat dupla kattintással lehet telepíteni, és nem lesz szükség a komponensekre, minden szükséges komponenst letölt és telepít..

5. lépés – beállítási fájl létrehozása a multimédiás kioskhoz

Elértük a legérdekesebb részt – a kiosk mód beállítását. Nézzük a

beállítási útmutatóra, és látjuk. Először is létre kell hoznunk egy konfigurációs XML-fájlt, amelynek teljes példája elérhető. telepítési a beállításról és láthatóságról. Először is létre kell hoznunk egy konfigurációs XML-fájlt, amelynek teljes példáját itt nézheti meg.

Kezdjük a csempehelyzet beállításával. A csempe beállítási XML-konfiguráció legkönnyebb módja - exportálni az aktuális állapotukat.

Először a Start menübe hozzáadjuk azokat az alkalmazások csempéit, amelyekre szükségünk van. Aktiváljuk a keresést a "Win+s" billentyűkombinációval, megtaláljuk a szükséges alkalmazást, jobb gombbal kattintunk rá, és kiválasztjuk a "Rögzítés a kezdőképernyőre" lehetőséget.

Az alábbi alkalmazásokat rögzítettem:

  • Jegyzettömb
  • Számológép
  • Internet Explorer
  • Festék
  • WordPad
  • Beállítások
  • Windows biztonság

Az utolsó két alkalmazást azért rögzítettem, mert a standard LTSC telepítésben más univerzális alkalmazások nem találhatók. Vegye figyelembe, hogy a klasszikus alkalmazások csempéi parancsikonokra mutatnak. Most a csempehelyezés áthelyezésével a Start menüben, két csoportra osztom a rögzített csempéket. Új csempecsoport létrehozásához húzza az egyik csempe jelentősen másik csempe fölé vagy alá, és egy intuitívan érthető elválasztó jelenik meg. Megnevezheti a csoportokat a kívánt módon, ehhez helyezze a kurzort a csoport fölé, amikor megjelenik a "Csoport elnevezése" felirat, kattintson bal egérgombbal. Az első csoportot "Beállítások"-nak fogom nevezni, amelybe a "Beállítások" és a "Windows biztonság" csempék tartoznak. A második csoportot "Irodai alkalmazások"-nak fogom nevezni, amelybe az összes többi csempe tartozik. Ja, az egész csoportokat is áthelyezheti, ha a csoport nevétől jobbra található két csíkon húzza őket.

Mivel a "Windows biztonság" csempe neve nem fér el teljesen, megváltoztatom a méretét "Széles"-re. A csempe méretének módosításához jobb kattintással a csempére kell kattintania, és ki kell választania a "Méret módosítása" lehetőséget.

A beállítások után exportáljuk az aktuális állapotot, futtassuk a parancsot a PowerShell környezetében – "Export-StartLayout – path C:SysprepStartLayout.xml".

A továbbiakban a legegyszerűbb, ha nem hozunk létre saját beállításfájlt, hanem itt vesszük a példát egy fájlhoz A beállításokkal kapcsolatban – kattintsunk a „Másolás” gombra, másoljuk a tartalmat a Jegyzettömbbe, és mentsük el „MultiAppKiosk.xml” néven. Most állítsuk át a beállításokat a saját igényeinkre. A rögzített tile-ok beállításainak módosításához másoljuk át a teljes „StartLayoutCollection” blokkot a „StartLayout.xml”-ből a „MultiAppKiosk.xml”-be. Az engedélyezett alkalmazások hozzáadásához be kell illeszteni az univerzális alkalmazások azonosítóit az „AllowedApps” szakaszba, és ebbe a blokkba hozzá kell adni a klasszikus alkalmazások végrehajtási fájljainak teljes elérési útját, amelyet a csempékhez tartozó parancsikonok tulajdonságaiban rögzítettek. A parancsikon gyors kereséséhez kattintsunk a jobb gombbal a rögzített csempére, és navigáljunk az „Egyéb lehetőségek > Fájl helyének megnyitása” menüpontra. Ne feledd, hogy az univerzális alkalmazás ID-jának megadásához az „AppUserModelId” paramétert, míg a klasszikus alkalmazás teljes elérési útjának megadásához a „DesktopAppPath” paramétert kell használni. És egy kis részlet: ha az IE-t x64 rendszerben szeretnéd használni, akkor az engedélyezett alkalmazások listájában meg kell adni két elérési utat a végrehajtható fájlhoz: „Program FilesInternet Exploreriexplore.exe” és „Program Files (x86)Internet Exploreriexplore.exe”.

Nem fogok hozzáférést adni a mappákhoz, ezért eltávolítom a „FileExplorerNamespaceRestrictions” szekciót.

A tálca megjelenítése nem zavar, ezért a „Taskbar” szekcióban mindent úgy hagyok, ahogy van.

A példában két profil van megadva, de nekem csak egy profilom lesz, ezért a második profil szekciót eltávolíthatjuk. Az eltávolítás előtt figyelj oda, hogyan van megadva az alkalmazás automatikus indítása argumentumokkal.

A „Configs” szekcióban a fiókok profilosztályozásra kerülnek, figyelj arra, hogy egy profilhoz több fiók is hozzá rendelhető. Mivel azonban csak egy fiókra van szükségem, eltávolítom az összes kapcsolódást az első kivételével – a „Config” blokkokat. A megmaradt kapcsolásban a felhasználónevet „User”-re állítom.

A következő fájl állt össze a paraméterekből

MultiAppKiosk.xml

<![CDATA[
                    
                    
                      
                        
                          
                            
                            
                          
                          
                            
                            
                            
                            
                            
                          
                        
                      
                    
                  ]]>
          
          
      
  
  
      
          Felhasználó

Amikor elkészíted a beállító XML fájlokat, ne feledd, hogy minden profilmintának egyedi azonosítóval kell rendelkeznie, és ez nemcsak egy XML fájlon belül, hanem egy operációs rendszeren belül is igaz. Tehát, hogy elkerüld a zűrzavart, érdemes minden alkalommal új azonosítót létrehozni; ezt a PowerShell környezetben a „[guid]::NewGuid()” paranccsal lehet megtenni. Emellett mindenképp UTF-8 kódolásban mentsd el a fájlt, mert ha ANSI kódolással mented, hibaüzenetet kapsz, ha cirill betűket tartalmaz az XML fájl.

6. lépés – a beállítások alkalmazása a multi-kioskban

Két módszert fogunk megvizsgálni a konfigurációs fájlban leírt beállítások alkalmazására. Az első - a felkészítő csomag segítségével, amit az ICD-ben kell létrehozni. Valakinek talán ez a módszer megszokottabb. A második - az „MDM Bridge WMI Provider” használata, ez a módszer számomra kényelmesebbnek tűnik.

1. módszer

Akinek nincs ICD-je, töltse le az ADK-t és telepítse. Az ADK telepítése nagyon egyszerű, a komponenscsomagot alapértelmezett beállításokkal hagyhatod.

Indítsd el az ICD-t, kattints a „További előkészítés” csempére, add meg a projekt nevét és mappáját, majd kattints a „Tovább” gombra. A következő ablakban válaszd az „Összes Windows kiadás asztali számítógépekre” lehetőséget, majd kattints a „Tovább” gombra. A felkészítő csomag importálását átugorhatod, kattints a „Kész” gombra.

Bontsuk ki a „Futtatási beállítások” legördülő menüt, majd bontsuk ki az „AssignedAccess” almennyt, és válasszuk a „MultiAppAssignedAccessSettings” lehetőséget. Az ICD ablakának középső szakasza felső részén kattints az „Böngészés” gombra, és add meg a konfigurációs XML fájl helyét. Ha biztos akarsz lenni, mentsd el a projektet a „Ctrl+s” billentyűkombinációval. Az ICD bal felső részében válaszd az „Exportálás” lehetőséget, majd a legördülő menüben válaszd a „Felkészítő csomag” lehetőséget. Tulajdonosként válasszuk az „IT-adminisztrátor” lehetőséget, minden más kérdést átugorhatsz a „Tovább” gomb megnyomásával, végül kattints az „Összeállítás” és a „Kész” gombra.

A telepített rendszerben ne felejts el létrehozni egy „User” felhasználót, őt nem lehet az „Adminisztrátorok” csoporthoz hozzáadni, különben a multi-kiosk nem fog működni. Én a „Számítógép kezelése” modulban hoztam létre a felhasználót, korlátlan áramlású jelszóval.

Most már elindítjuk az előkészítő csomagot a korábban telepített rendszerben. Az előkészítő csomag alkalmazása után megváltozik a Start menü és az adminisztrátor számára. A Start bal oszlopából el kell tűnnie a következő gomboknak: „Dokumentumok”, „Képek”, „Beállítások”. Ha a Start menü nem változott meg, akkor valami nem stimmelt. A telepített csomagot törölheti, ha megnyitja a „Beállítások > Fiókok > Munkahelyi vagy iskolai fiók hozzáférés > Előkészítő csomag hozzáadása vagy eltávolítása” ablakot.

Ha a Start menü megváltozott, akkor a beállítások alkalmazva lettek a rendszerre, lépjen be arra a felhasználóra, akinek a számára a multi kioszkot beállították, és nézze meg az eredményt.

Módszer №2

A beállítások alkalmazása az „MDM Bridge WMI Provider” segítségével itt van leírva. Ennek a módszernek a kényelme a felhasználás rugalmasságában rejlik, és lehetőséget ad arra, hogy megszabaduljon a sok kézi művelettől, amelyek szükségesek az előkészítő csomag létrehozásához. Itt mindenkinek megvan a lehetősége, hogy olyan megoldást készítsen, amely neki megfelelő. Én magam készítettem egy ilyen pár szkriptet.

MiltiKiosk.bat – a futtató szkript

@echo off
chcp 1251>nul

if not exist "%~dp0psexec.exe" call :ShowMessage "‡‡‡‡‡‡‡‡‡‡‡‡‡A szkripthez szükséges a psexec.exe fájl‡‡A szkript leállításához nyomjon meg bármelyik gombot"&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 fájlok nem találhatóak a következő névvel - "%~n0"&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 :eof

MiltiKiosk_Ver.12.ps1 – a fő szkript

Funkció 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, ''}
}

Funkció ShowMessage ($Message='', $Align=0) {
    Próbálkozz {$Align = [decimal]$Align} Catch {Return 'Az Align paraméter csak számot kaphat' | 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) {
        Próbálkozz {$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, 'Hiba a beállítási objektum megszerzésében', 2, 'Nyomja meg az "Enter"-t a szkript befejezéséhez') -Align 2; Read-Host; Exit}

Funkció MainMenu() {
    ShowMessage (13, ' 0 - Kilépés', ' 1 - XML fájl kiválasztása telepítéshez', ' 2 - A több alkalmazásos kioszk jelenlegi konfigurációjának megjelenítése', ' 3 - A több alkalmazásos kioszk beállításainak törlése', 1)
    $local:PromptText = 'Válasszon akciót'
    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, 'A konfiguráció kezdete') -Align 2; Write-Host $MultiAppKiosk.Configuration; ShowMessage -Message ('A konfiguráció vége', 1, 'A menübe való visszatéréshez nyomja meg az "Enter"-t', 1) -Align 2; Read-Host}
            3 {$MultiAppKiosk.Configuration = $Null; Set-CimInstance -CimInstance $MultiAppKiosk; ShowMessage -Message (1, 'A beállítások törlésének parancsa végrehajtva', 1) -Align 2}
            DEFAULT {ShowMessage 'Érvénytelen érték lett kiválasztva'}
        }
        if ($Selections -contains $Select) {Clear-Host; ShowMessage (15, ' 0 - Kilépés', ' 1 - XML fájl kiválasztása telepítéshez', ' 2 - A több alkalmazásos kioszk jelenlegi konfigurációjának megjelenítése', ' 3 - A több alkalmazásos kioszk beállításainak törlése', 1)}
    }
}

Funkció XMLSelection() {
    Clear-Host

    if (!(Test-Path -Path $PSScriptRoot'XML')) {ShowMessage -Message (13, 'Nem található könyvtár', $('"'+$PSScriptRoot+'XML"'), 1, 'Nyomja meg az "Enter"-t a visszatéréshez a korábbi menübe') -Align 2; Read-Host; Return}

    $local:XMLList = @()
    $XMLList += Get-ChildItem -Path $PSScriptRoot'XML' -name -filter '*.xml'
    if ($XMLList.Count -eq  0) {ShowMessage -Message (13, 'Nem található XML fájl a könyvtárban', $('"'+$PSScriptRoot+'XML"'), 1, 'Nyomja meg az "Enter"-t a visszatéréshez a korábbi menübe') -Align 2; Read-Host; Return}

    [int]$local:Indent = 13 - $XMLList.Count / 2; if ($Indent -lt 1) {$Indent = 1}
    ShowMessage ($Indent, ' 0 - Vissza a korábbi menübe')
    for ($i=0; $i -le $XMLList.GetUpperBound(0); $i++) {Write-Host $(' '+($i+1)+' - '+$XMLList[$i])}
    Write-Host
    $local:PromptText = 'Válasszon egy telepítendő fájlt'
    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 $('Parancs a beállítások alkalmazására a fájlból '+$XMLList[$Select-1]);
                $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 ('Érvénytelen érték lett kiválasztva')} 
        }
    }
}

MainMenu

Ha szeretné használni a megoldásomat, akkor mentse egy mappába a fent említett szkripteket az eredeti neveikkel, és ebbe a mappába helyezze el a "PsExec.exe" fájlt is. Ugyanebben a mappában hozzon létre egy "XML" nevű mappát, és másolja bele az XML fájlokat a multikiosk konfigurálásához. Ugyanazt a fájlt fogom használni, mint az első módszerben.

MultiAppKiosk.xml

<![CDATA[
                    
                    
                      
                        
                          
                            
                            
                          
                          
                            
                            
                            
                            
                            
                          
                        
                      
                    
                  ]]>
          
          
      
  
  
      
          Felhasználó

Egy kicsit a szkript jellemzőiről. A szkript XML fájlok "UTF8" kódolására van tervezve, ha "ANSI" kódolást szeretne használni, akkor távolítsa el az "encoding UTF8" paramétert a fájl olvasási paraméterből. Az "XML" mappában helyezze el az XML fájlokat a speciális karakterek cseréje nélkül, a szkript automatikusan átkonvertálja a speciális karaktereket a megfelelő jelölésekre. Hogy ne keveredjen a felhasználók és profilok GUID-jaival, egyszerűen megadhatja a felhasználó számát vagy nevét zárójelek között, minden tartalom a zárójelek között GUID-ra lesz cserélve.

A szkript használata nagyon egyszerű, csak indítsa el, és válassza ki a szükséges lehetőséget. Az aktuális konfiguráció újra cseréje nem feltétlenül igényli a meglévő törlését, az felül lesz írva. Ne felejtse el létrehozni a felhasználókat, akik fel vannak tüntetve a konfigurációs fájlban.

A multikiosk aktuális konfigurációjának megtekintésekor, abban a munkamenetben, amelyben azt alkalmazták, a speciális karakterek helyett a helyettesítő jelölések jelennek meg. A munkamenet váltásakor (a szkript újraindításakor) minden speciális karakter az eredeti formájában jelenik meg.

7. lépés – a rendszer lezárása

A multikiosk működik, hát ez lenne az…

Ha minden a tervek szerint halad, akkor valamit nem vesz észre.

Ne feledjük, hogy át kell vinnünk a rendszert az audit módból az üdvözlő üzemmódba. Nos, erre készen állunk, indítjuk el a "Sysprep.bat"-t, válasszuk a 2. pontot, a rendszer lezáródik. Bekapcsoljuk az eszközt, a rendszer betölt, belépünk abba a felhasználói fiókba, amelyhez a multikiosk be van állítva, és nem tudunk belépni. A "Üdvözöljük" felirat után megjelenik a "Kijelentkezés" felirat.

Először csak a probléma megoldását akartam leírni, de később úgy döntöttem, hogy bemutatom a probléma feltárásának lépéseit és a legegyszerűbb megoldás keresését, mivel biztosan sokakat gyötörni fognak a homályos kételyek – „Mi van, ha így…”. Azt gondolom, hogy a különböző kísérletek leírása jelentős időt takarít meg nektek, ha más megoldást szeretnétek találni. Annak érdekében, hogy az információ a lehető legpontosabb legyen, és hogy újból megbizonyosodjak arról, hogy nincsenek hibák, a kísérletek leírását „csináltam – feljegyeztem” formátumban fogom végezni. Azaz újra meg fogom csinálni a leírt kísérleteket.

Kísérletek

Mi is a helyzet? A rendszerben két felhasználói fiók található:

„Admin” – az „Adminisztrátorok” csoportjában
„User” – a „Felhasználók” csoportjában
A kiskeretes módban a multikiosk működött, a feljogosítást lezártuk – nem működik.

1. kísérlet

Eltávolítjuk a telepített előkészítő csomagot, a „Számítógép kezelése” konzolban eltávolítjuk a „User” felhasználót és létrehozunk egy új felhasználót „User” néven, alkalmazzuk az előkészítő csomagot, bejelentkezünk a „User” fiókba – nem működik. Bejelentkezünk „Admin” néven, eltávolítjuk a „User” felhasználót a „Felhasználók” csoportból, hozzáadjuk az „Adminisztrátorok” csoporthoz, bejelentkezünk „User” néven – nem működik. Bejelentkezünk „Admin” néven, eltávolítjuk az előkészítő csomagot a multikioskból, bejelentkezünk „User” néven – sikerült bejutni, de nyilvánvalóan a multikiosk mód nem működik, mivel az előkészítő csomag eltávolításra került.

2. kísérlet

A rendszer képét töltjük – orosz nyelvű audit módban.

A rendszer elindult, nyomjuk meg a „Win+r” kombinációt, mivel a sysprep ablak automatikusan bezárult, hajtsuk végre a „sysprep” parancsot, és az megnyíló ablakban indítsuk el a „sysprep”-et. A sysprep beállítások az ablakban: „Átállás a rendszer üdvözlő ablakába (OOBE)”, „Felhasználásra előkészítés”, „Újraindítás”. Kattintsunk az „OK” gombra, és várjuk meg a rendszer üdvözlését. Válaszoljunk a rendszer első indításakor feltett kérdésekre: „Folytassa a választott nyelvben?” – „orosz”; régió – Oroszország; billentyűzetkiosztás – orosz; második billentyűzetkiosztás hozzáadása – átugrás; „Csatlakoztassuk az Ön eszközét a hálózathoz” – „Most átugrás”; csatlakozás az internethez – nem; licencszerződés – elfogadása; „Ki használja ezt a számítógépet?” – „Test”; jelszó létrehozása – hagyjuk üresen; kényelmes munkavégzés különböző eszközökön – nem; adatvédelmi beállítások – elfogadása. A rendszer elindult, a „Számítógépkezelés” eszközben létrehozunk egy „User” nevű felhasználót, hozzáadjuk az előkészítési csomagot. Eredmény – nem működik.

Kísérlet 3

A rendszer képét töltjük – orosz nyelvű audit módban.

A rendszer elindult, csatlakoztatjuk a rendszert az internethez, végrehajtjuk a „gpedit.msc” parancsot, és a „Windows Update Center” részben engedélyezzük a „Javasolt frissítések engedélyezése automatikus frissítés útján” beállítást, minden esetre újraindítjuk a rendszert. Az update centerben kattintsunk a „Frissítések ellenőrzése” gombra, és újraindítjuk a rendszert, amíg az összes frissítés telepítve nem lesz. Ki kell kapcsolnunk a rendszert az internetről. Indítsuk el a „sysprep”-et grafikus módban, és ismételjük meg minden tevékenységet, amely a korábbi lépés során történt a „sysprep” eszköz indítása óta az előkészítési csomag hozzáadásáig. Eredmény – nem működik.

Kísérlet 4

Töltsük fel a rendszerképünket – angol nyelvű audit módban.

Indítsuk el a „sysprep”-et grafikus módban, és zárjuk le a rendszert ugyanazokkal a paraméterekkel, mint a 2. kísérlet során. A rendszer első indításakor válasszuk ugyanezeket a paramétereket, kivéve a nyelvi és regionális paramétereket, mivel orosz nyelv nem érhető el. Ugyanúgy létrehozzuk a „User” nevű felhasználót, és hozzáadjuk az előkészítési csomagot. Eredmény – működik. Tehát a probléma a lokalizációval kapcsolatos.

Kísérlet 5

A rendszer képét töltjük – orosz nyelvű audit módban.

A „Számítógépkezelés” eszközben létrehozunk egy „User” nevű felhasználót, hozzáadjuk az előkészítési csomagot, belépünk a „User” fiókba, a multicsatornás kisképernyő működik.

Kijelentkezünk, belépünk az 'Admin' fiókba. Ráindítunk a PowerShellre rendszergazdai jogosultságokkal, végrehajtjuk a parancsot 'Dism /online /Get-Intl', és látjuk, hogy 'Alapértelmezett felhasználói felület nyelve: en-US'.

USB meghajtóról bootolunk WinPE-ből, a telepített operációs rendszer az E: meghajtón található. Végrehajtjuk a parancsot 'Dism /image:E: /Set-UILang:ru-ru'. Megnézzük az eredményt, végrehajtjuk a 'Dism /image:E: /Get-Intl' parancsot, és látjuk, hogy 'Alapértelmezett rendszer UI nyelv: ru-RU'.

Bejelentkezünk a rendszerbe, a 'User' fiókba lépünk be, a multiszkópként működő eszköz nem működik.

A probléma ok-okozati összefüggéseinek tisztázása érdekében próbáljuk újra működőképessé tenni a multiszkópot és a hibás állapotot.

USB meghajtóról bootolunk WinPE-ből, a telepített operációs rendszer az E: meghajtón található. Végrehajtjuk a parancsot 'Dism /image:E: /Set-UILang:en-us'. Megnézzük az eredményt, végrehajtjuk a 'Dism /image:E: /Get-Intl' parancsot, és látjuk, hogy 'Alapértelmezett rendszer UI nyelv: en-US'.

Bejelentkezünk a rendszerbe, a 'User' fiókba lépünk be, a multiszkópként működő eszköz működik.

USB meghajtóról bootolunk WinPE-ből, a telepített operációs rendszer az E: meghajtón található. Végrehajtjuk a parancsot 'Dism /image:E: /Set-UILang:ru-ru'. Megnézzük az eredményt, végrehajtjuk a 'Dism /image:E: /Get-Intl' parancsot, és látjuk, hogy 'Alapértelmezett rendszer UI nyelv: ru-RU'.

Bejelentkezünk a rendszerbe, a 'User' fiókba lépünk be, a multiszkópként működő eszköz nem működik.

Tehát látható, hogy a kioszk működése közvetlenül függ az alapértelmezett felhasználói felület nyelvének értékétől. Lehet, hogy vannak más tényezők is, amelyek befolyásolják a multiszkóp működését?

Kísérlet 6

A kísérlet tisztasága érdekében újratelepítjük a rendszert. Az operációs rendszer képe - orosz nyelvű audit módban.

Futtatjuk a 'sysprep'-et grafikus módban, lezárjuk az operációs rendszert ugyanazokkal a paraméterekkel, mint a 2. kísérlet során. Várjuk az operációs rendszer üdvözlését, és válaszolunk a kérdésekre: 'Folytassuk a kiválasztott nyelven?' - 'Angol (Egyesült Államok)'; régió – Oroszország; billentyűzetkiosztás – Orosz. További paraméterek ugyanazok, mint a 2. kísérletben.

Nézzük meg az alapértelmezett felhasználói felület nyelvének értékét. Végrehajtjuk a parancsot 'Dism /online /Get-Intl', és látjuk, hogy 'Alapértelmezett rendszer UI nyelv: en-US'. A 'Számítógép-kezelés' eszköztáron létrehozunk egy 'User' felhasználót, hozzáadjuk a telepítő csomagot, belépünk a 'User' fiókba, a multiszkópként működő eszköz működik.

Megpróbáljuk megbontani a kioszk működését az alapértelmezett felhasználói felület nyelvének megváltoztatásával. Belépünk a 'Test' felhasználóba, amelyet a rendszer első indításakor hoztunk létre, és engedélyezzük az automatikus belépést, hogy a rendszer ne a 'User' fiókba lépjen be azonnal. Végrehajtjuk a 'netplwiz' parancsot, kiválasztjuk a 'Test' felhasználót, eltávolítjuk a 'Felhasználónév és jelszó megadásának követelése' jelölőnégyzetet, és alkalmazzuk a beállításokat.

Booting from USB in WinPE. We execute the command "Dism /image:E: /Set-UILang:hu-hu". We check the result, execute "Dism /image:E: /Get-Intl" and see "Default system UI language: hu-HU".

We boot into the system, try to log into the account "User", the kiosk doesn’t work. That is, it can’t be broken. But can it be made to work this way?

Experiment 7

A rendszer képét töltjük – orosz nyelvű audit módban.

We run "Sysprep.bat", select option 2. We boot into the system, in the "Computer Management" console we create the user "User", add a preparation package, log into the account "User", the kiosk doesn’t work.

Booting from USB in WinPE. We execute the command "Dism /image:E: /Set-UILang:en-us". We check the result, execute "Dism /image:E: /Get-Intl" and see "Default system UI language: en-US".

We boot into the system, try to log into the account "User", the kiosk doesn’t work.

It turns out that by changing the default UI language setting, we can influence the functionality of the kiosk only when the system is in audit mode or during the first boot after sealing the system. This means we will have to seal the system with an answer file where the system language is set to English, and then change the system settings so that the interface is in Hungarian. Not a very good solution. Perhaps the problem can be solved by installing a language pack or additional language packs?

Experiment 8

Töltsük fel a rendszerképünket – angol nyelvű audit módban.

We connect to the internet, go to the system settings and enter the "Language" section, select "Add language", choose the language "Hungarian", click "Next", leave the installation settings as default, click "Install", after installing the language pack we restart the system, now it is localized. We disconnect the system from the internet, run "Sysprep.bat", select option 2.

After booting the system, in the "Computer Management" console we create the user "User", add a preparation package, log into the account "User", the kiosk doesn’t work.

Experiment 9

Let's try to localize the system before installation, in offline mode. At the same time, it will be a brief tutorial on localization of the distribution.

Fogok egy USB flash meghajtót a tiszta eredeti telepítő képpel – X21-96381. Ez lesz az «E» meghajtó. A képfájlok csatlakoztatásához létrehozom a mappákat: «c:MountInstall», «c:MountWinre», «c:MountBoot». Kiveszem a nyelvi csomagok készletét – X21-87814. A mappába «c:Mount» másolom a következő fájlokat: «Microsoft-Windows-Client-Language-Pack_x86_ru-ru.cab», «lp.cab», «WinPE-Setup_ru-ru.cab». Elindítom a konzolt rendszergazdai jogokkal. Gondolom, a további parancsok érthetőek lesznek kommentárok nélkül.

Nyelvi parancsok

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:"Oroszországi Standard Idő"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:"Oroszországi Standard Idő"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 /Commit

Betöltjük a rendszert az USB flash meghajtóról, kiválasztjuk az orosz nyelvet, és telepítjük a rendszert egy tiszta lemezre. Amikor a rendszer megkéri, hogy válasszuk ki a régiót, megnyomjuk a «Ctrl+Shift+F3» billentyűket. A «Számítógép kezelése» eszközben létrehozunk egy «User» nevű felhasználót, hozzáadunk egy előkészítési csomagot, belépünk az «User» fiókba, de a multitasking kiosk nem működik.

Betöltjük a WinPE-be az USB flash meghajtóról. Végrehajtjuk a «Dism /image:E: /Set-UILang:en-us» parancsot.

Betöltjük a rendszert, próbálunk belépni a «User» fiókba, a multitasking kiosk működik.

Úgy tűnik, hogy nem a csomag hozzáadási módszerével van a probléma, próbáljunk meg további csomagokat hozzáadni.

Kísérlet 10

Előkészítjük az USB flash meghajtót, amelyet az előző lépésben állítottunk be.

Előkészítjük a «Feat on Demand» csomagot – X21-87815. A mappába «c:Mount» másolom a következő fájlokat: «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».

Válassza a „Feat on Demand RDX Updt” csomagot – X21-99781. A „c:Mount” mappába áthelyezem a következő csomagokat: „Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab”, „Microsoft-Windows-RetailDemo-OfflineContent-Content-hu-hu-Package~31bf3856ad364e35~x86~~.cab”.

Nyissunk meg egy konzolt rendszergazdai jogokkal, és hajtsuk végre a következő parancsokat:

Csapatok

cd c:mount
dism /Mount-Wim /WimFile:e:sourcesinstall.wim /index:1 /MountDir:Install
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Basic-hu-hu-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-OCR-hu-hu-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Handwriting-hu-hu-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-TextToSpeech-hu-hu-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-hu-hu-Package~31bf3856ad364e35~x86~~.cab
dism /Unmount-Image /MountDir:Install /Commit

Bootoljunk USB-ről, válasszuk ki a magyar nyelvet, és telepítsük a rendszert egy tiszta lemezre. Amikor a rendszer kéri, hogy válasszuk ki a régiót, nyomjuk meg a „Ctrl+Shift+F3” billentyűkombinációt. A „Számítógépkezelés” eszközben létrehozunk egy „User” nevű felhasználót, hozzáadjuk a felkészítési csomagot, bejelentkezünk a „User” fiókjába. Fekete képernyőt kaptam, ami sokáig megakadt, ezért elvégeztem egy újraindítást.

Eltávolítjuk a felkészítési csomagot, bejelentkezünk a „User” felhasználóval, újraindítjuk a rendszert, hozzáadjuk a felkészítési csomagot, a multimédiás kioszk nem működik.

Betöltjük a WinPE-be az USB flash meghajtóról. Végrehajtjuk a «Dism /image:E: /Set-UILang:en-us» parancsot.

Betöltjük a rendszert, próbálunk belépni a «User» fiókba, a multitasking kiosk működik.

A probléma megkerülése

A normális hősök mindig megkerülik!

A lokalizációs csomagok különböző telepítési módjai nem oldották meg a problémát, így az első indításkor a kérés után az „en-us” nyelvet kell telepíteni, majd az első indítás után módosítani a nyelvi beállításokat.

A rendszer képét töltjük – orosz nyelvű audit módban.

Az „Unattend.xml” fájlban a paraméterhez beírjuk az „en-US”-t, futtatjuk a „Sysprep.bat”-ot, kiválasztjuk a 2-es pontot, és megnézzük, hogy mi lett az eredmény. A bejelentkező képernyő angol nyelvű, a multimédiás kioszk működik. Tehát hozzá kell adni az „Unattend.xml”-hez a bejelentkező nyelv módosítására vonatkozó parancsot. Ehhez a „control intl.cpl,,/f:” parancsot kell végrehajtanunk, amely tartalmazza a beállítások aktuális paramétereinek másolását a bejelentkező képernyőre. A konfigurációs fájl tartalma a következőképpen fog kinézni.

Mivel a jelenlegi felhasználó beállításainak másolása történik, ezért a parancsot a felhasználó rendszerbe való bejelentkezése után kell végrehajtani. Ez azt jelenti, hogy szükségünk lesz néhány dologra. Van egy apró 'de', a végrehajtás a felhasználó adminisztrátori jogain belüli bejelentkezése után történik. Nem szeretnék egy plusz fájlt létrehozni, ami szükséges lenne a parancs sikeres végrehajtásához. Jobb, ha az egész megoldást egyetlen fájlban — 'Unattend.xml' — valósítjuk meg. Ehhez csupán azt a parancsot kell végrehajtanunk, amely létrehozza a konfigurációs fájlt. Azt hiszem, hogy a 'cmd' környezetben a 'echo' parancs segítségével hozom létre a konfigurációs fájlt, de itt a szögletes zárójeleket cirkumflexszel kell elmenni. Tehát a konfigurációs fájl létrehozásához az alábbi parancsot kapjuk.

echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToSystemAcct="true"/ ^>^</gs:UserList^>^</gs:GlobalizationServices^>>Config.xml

De ezt a parancsot XML-be kell helyeznünk, amelynek saját követelményei vannak a speciális karakterek használatánál:

Speciális karakter
Helyettesítő érték

>
&gt;

<
&lt;

&
&amp;

‘
&apos;

“
&quot;

Végül a konfigurációs fájl létrehozásához az alábbi parancs szerepel a 'FirstLogonCommands'-ban.

cmd.exe /c echo ^&lt;gs:GlobalizationServices xmlns:gs=&quot;urn:longhornGlobalizationUnattend&quot;^&gt;^&lt;gs:UserList^&gt;^&lt;gs:User UserID=&quot;Current&quot; CopySettingsToSystemAcct=&quot;true&quot;/^&gt;^&lt;/gs:UserList^&gt;^&lt;/gs:GlobalizationServices^&gt;&gt;&quot;%TMP%Config.xml&quot;

Ezután végrehajtjuk a parancsot a konfigurációs fájl használatával.

control intl.cpl,,/f:&quot;%TMP%Config.xml&quot;

Ezután töröljük a korábban létrehozott fájlt és újraindítjuk a rendszert, mivel a változások csak az újraindítás után lépnek életbe.

cmd.exe /c del &quot;%TMP%Config.xml&quot; /q&amp;shutdown /r /f /t 00

Végül egy ilyen válaszfájlom lett a sysprep-hez.

Unattend.xml

reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
                    1
                    Ne mutasd a kulcsoldalt
                
                
                    reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f
                    2
                    Ne készíts fiókot
                
                
                    cmd.exe /c rd %systemdrive%Sysprep /s /q
                    3
                    Könyvtár törlése
                
            
        
        
            
                true
                Admin
            
        
    
    
        
            en-US; hu-HU
            hu-HU
            en-US
            
            hu-HU
        
        
            
                true
                true
                true
                true
                true
                1
            
            
                
                    cmd.exe /c echo ^^^^^"%TMP%Config.xml"
                    Config létrehozása
                    1
                
                
                    control intl.cpl,,/f:"%TMP%Config.xml"
                    Használja a Configot
                    2
                
                
                    cmd.exe /c del "%TMP%Config.xml" /q&shutdown /r /f /t 00
                    Config törlése
                    3

Ellenőrizzük…

A rendszer képét töltjük – orosz nyelvű audit módban.

A Unattend.xml fájlt újra cseréljük, elindítjuk a «Sysprep.bat»-t, kiválasztjuk a 2. pontot, és megnézzük, hogy mi sikerül. Az első indításkor a köszöntőképernyő angol nyelvű, a rendszer újraindul. A köszöntőképernyő orosz nyelvű, a többiekoszt működik.

Ha bármi kérdése van a Windows 10 IoT Enterprise beállításával és licencelésével kapcsolatban, lépjen kapcsolatba velünk a következő címen mse@quarta.ru vagy az oldalon quarta-embedded.ru.
Néhány kérdésre a válaszokat megtalálja a wiki-nkban vagy a YouTube-csatornán

Cikk szerzője: Borisenkov Vladimir, a Quarta Technologies műszaki szakértője.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster