Introduktion
â den marknadsföringsnamn för nĂ€sta release av Windows 10. Denna version tillkĂ€nnagavs i september 2018 och har version 1809, dĂ€r 18 stĂ„r för Ă„r och 09 för mĂ„nad. MĂ„nga artiklar har skrivits om den nya versionen av Windows 10 1809, men de flesta fokuserar pĂ„ olika "detaljer", "estetik" och olika funktioner som efterfrĂ„gas i hemmiljö.
I denna artikel kommer vi att fokusera pÄ funktioner som kan vara av intresse för producenter av inrÀttade enheter. Specifikt de nya möjligheterna i "Kiosk"-lÀget. Vi kommer ocksÄ att ta upp Àmnet om namnÀndringar för servicemodeller av Windows-redigeringar för företagssegmentet.
Den gamla servicemodellen med ett nytt namn
LÄt mig börja med en kort förklaring: inom företagssegmentet av Windows-redigeringar finns det tvÄ servicemodeller som Windows fÄr uppdateringar genom. Servicemodellerna har bokstavsbenÀmningar. Nu kallas servicelinjerna LTSC och SAC.
LTSC stĂ„r för (med lĂ„ngsiktig service). Tidigare kallades denna kanal LTSB â Long Term Servicing Branch. Microsoft har bara Ă€ndrat namnet pĂ„ servicekanalen; sjĂ€lva servicen kvarstĂ„r oförĂ€ndrad.
Microsoft har ocksĂ„ Ă€ndrat namnet pĂ„ servicelinjen CBB â Current Branch for Business; nu kallas denna servicelinje SAC â . Ăn en gĂ„ng har det endast skett en namnförĂ€ndring.
Det Àr vÀrt att nÀmna att olika Windows-distributioner anvÀnds för servicelinjerna LTSC och SAC.
Lite om det nya kiosk-lÀget i SAC
Som jag redan nÀmnt har LTSC och SAC olika distributioner. LTSC har inga standardappar och ingen appbutik, medan SAC har det. DÀrför finns det ingen Edge-webblÀsare i LTSC, men det finns i SAC. Om du vÀljer webblÀsaren Edge vid kioskinstÀllningen, finns det nu tvÄ tillgÄngar till lÀgena:
- Som en digital skylt eller interaktiv skÀrm
- Som en offentlig webblÀsare
Jag kommer inte att gÄ in pÄ hur man stÀller in dessa lÀgen, eftersom instÀllningen Àr mycket enkel och görs i det grafiska grÀnssnittet. Skapa bara en anvÀndare som inte Àr en del av "Administratörer", aktivera kiosk-lÀget med EDGE och se hur dessa lÀgen fungerar.
Kiosk med mÄnga appar
Vissa tror att licensierad anvÀndning av förutsÀtter att endast en applikation fungerar pÄ enheten, men i verkligheten Àr det inte sÄ. Enheten bör vara avsedd för att utföra en specifik affÀrsuppgift och anvÀndaren ska inte ha tillgÄng till skrivbordet. Nu har Microsoft sjÀlva gett ett verktyg för att anvÀnda flera applikationer. Det hÀr lÀget kallas "multi-app kiosk", och för korthetens skull kommer jag att kalla det "multikiosk". I denna artikel kommer vi att titta pÄ hur man stÀller in detta lÀge med hjÀlp av ett konfigurationspaket och vissa egenskaper av detta lÀge.
Lite om lÀget "Multikiosk"
Vid inloggning till anvÀndarkontot för vilket multikiosklÀget Àr konfigurerat, kommer systemet att fungera i surfplattelÀge. Startmenyn kommer att expandera till hela skÀrmen, dÀr applikationernas plattor kommer att visas.
Lista över de viktigaste instÀllningarna och funktionerna i lÀget:
- Konfiguration för flera anvÀndare eller grupper
- Varje anvÀndare eller grupp kan tilldelas individuella instÀllningar
- Möjlighet att anvÀnda universella och klassiska applikationer
- Möjlighet till automatisk start av en av applikationerna vid inloggning
- Applikationernas drift enligt vit lista
- TillgÄng till mappar enligt vit lista
Det Àr vÀrt att notera punkt 5. Som standard kommer endast applikationer som Àr nödvÀndiga för systemets funktionalitet att tillÄtas, övriga applikationer mÄste lÀggas till i listan över tillÄtna. D.v.s. nu behöver man inte separat konfigurera AppLocker. För övrigt, för att undvika konflikter med AppLocker-instÀllningar, kommer alla konfigurerade AppLocker-regler i multikiosklÀget att vara inaktiva.
I punkt 6 anges en bra möjlighet, men för nÀrvarande kan man endast ge skrivbehörighet för mappen "Downloads". LÀget tillÄter anvÀndning av bÄde universella och klassiska applikationer. Alla instÀllningar för lÀget anges i en XML-fil, dÀr man ocksÄ kan ange instÀllningar för en kiosk med en applikation.
Och nu ska vi försöka stÀlla in allt detta...
Vad vi behöver...
- Först och frÀmst behöver vi sjÀlva systemet som stöder multikiosklÀget. demoversionen
- Valfri XML-redigerare
- För att tillÀmpa instÀllningarna för multikiosken:
- För metod nr 1 â ICD, som ingĂ„r i ADK. ADK kan
- För metod nr 2 â verktyget PsExec. Verktyget kan
Han sa â «LĂ„t oss Ă„ka!»
Alla experiment kommer jag att genomföra pÄ Windows 10 IoT Enterprise 1809 LTSC x32 kommersiell version, inte demonstrationsversion. Systemet kommer att vara utan aktivering eftersom avsaknaden av aktivering inte pÄverkar systemets funktionalitet. Jag valde 32 bitar bara för att det tar mindre plats och att arbeta med systemavbilder blir snabbare.
Steg 1 â installation
Installation av Win 10 IoT Enterprise skiljer sig inte frÄn installation av Win 10 Enterprise, sÄ jag kommer inte att beskriva hela installationsprocessen, jag kommer bara att nÀmna nÄgra nyanser.
Som en pÄminnelse, installera inte systemet ovanpÄ en befintlig installation. NÀr installationsprogrammet frÄgar om installationsplatsen, ta bort alla partitioner pÄ den framtida systemdisken och ange oallokerad disk.
Installera systemet utan att koppla upp mot internet, sÄ att systemet inte laddar ner nÄgot onödigt.
Eftersom vi kommer att skapa sĂ€kerhetskopior av systemet och för detta kommer vi att försegla det i revisionslĂ€ge, kan vi spara lite tid genom att ladda systemet i revisionslĂ€ge direkt efter installationen. NĂ€r systemet ber er att vĂ€lja region «LĂ„t oss börja med regionen. Ăr detta korrekt» tryck bara pĂ„ «Ctrl+Shift+F3».
Steg 2 â skapa systemavbild
Eftersom vi kommer att experimentera med systemet och försöka olika nya instĂ€llningar, Ă€r det inte uteslutet att nĂ„got kan gĂ„ fel och vi behöver Ă„terstĂ€lla systemet till ursprungligt skick. För en snabb Ă„terstĂ€llning till ursprungligt skick behöver vi skapa en systemavbild. Det enda jag kommer att göra Ă€r att kopiera «gentlemannapaketet» â skriptet och svarsfilerna. Alla filer finns i mappen «Sysprep», som jag kommer att kopiera till roten av systemdisken. SjĂ€lvklart kommer jag att dela detta «gentlemannapaket» med er.
Sysprep.bat â för att försegla systemet.
@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 :eofVid körning kommer skriptet att kontrollera om kontot "Admin" finns och skapa det om det inte finns. Kontot kommer att lÀggas till i gruppen "Administratörer".
Unattend.xml â svarfil för sysprep.
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
1
Visa inte nyckelsidan
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f
2
Skapa inte konto
cmd.exe /c rd %systemdrive%Sysprep /s /q
3
Ta bort mappen
true
Admin
en-US; sv-SE
sv-SE
sv-SE
sv-SE
true
true
true
true
true
1Vid försegling i granskningslÀge kommer skriptet att lÀgga till en post i registret för att avsluta processen "sysprep.exe" sÄ att du inte manuellt behöver stÀnga sysprep-fönstret varje gÄng. Vid försegling i vÀlkomstlÀge kommer skriptet att ta bort kommandot för att stÀnga fönstret frÄn registret och sjÀlv Àndra arkitekturen i svarsfilerna till den aktuella. Svarsfilerna innehÄller parametrar för att ladda systemet utan anvÀndarinteraktion och kommandot för att ta bort "Sysprep"-mappen i roten av systemdisken.
Nu kommer jag att försegla systemet i granskningslÀge med hjÀlp av "Sysprep.bat" och ta en systemavbild. Jag kommer att ta systemavbilden med DISM och enbart ta avbilden av systemvolymen. Om du tar en avbild av enbart systemvolymen och inte hela disken, kom ihÄg att kopiera innehÄllet av katalogen "WindowsSystem32Recovery" till den första volymen i mappen "RecoveryWindowsRE" efter att systemet har rullats ut. Det hÀr behöver göras innan operativsystemet startas, eftersom katalogen "WindowsSystem32Recovery" kommer att vara tom efter att operativsystemet har startats.
Steg 3 â lokalisering av systemet
SprÄkpaketet kan installeras utan internetanslutning om du har paketet. Om inte, kommer systemet att ladda ner det frÄn internet nÀr du lÀgger till sprÄket i instÀllningarna. TÀnk bara pÄ att inte anvÀnda sprÄkpaketet frÄn tidigare versioner av operativsystemet. För Windows 10 1809 ska sprÄkpaketet vara specifikt för Windows 10 1809.
Microsoft följer sin plan â gradvis överflyttning av instĂ€llningar frĂ„n den klassiska menyn till den nya, sĂ„ i den klassiska kontrollpanelen kommer du inte lĂ€ngre att hitta instĂ€llningar för att Ă€ndra sprĂ„k och installera sprĂ„kpaket. Dessa instĂ€llningar finns nu endast i systeminstĂ€llningarna.
I granskningslĂ€ge kan du stöta pĂ„ problem med att öppna systeminstĂ€llningarna frĂ„n menyn "Start". För att öppna systeminstĂ€llningarna, kör kommandot â "ms-settings:", notera kolon i slutet av kommandot, utan det kommer kommandot inte att fungera. Efter att ha öppnat systeminstĂ€llningarna en gĂ„ng med detta kommando, kan du öppna dem med hjĂ€lp av grafiska menyn.
Men i systeminstÀllningarna kan du installera sprÄkpaketet om systemet Àr anslutet till internet, det finns ingen möjlighet att vÀlja installation av sprÄkpaketet frÄn en lokal fil.
Jag kommer inte att beskriva lokaliseringsprocessen, eftersom det skulle tynga ner artikeln avsevÀrt, sÀrskilt eftersom lokaliseringsprocessen Àr noggrant . Men jag vill framhÀva en funktion av sprÄkÀndringen i systemet efter installation av sprÄkpaketet via konsolen. Denna funktion Àr beskriven i samma wiki som jag gav en lÀnk till tidigare, i avsnittet .
Jag kommer att installera sprÄkpaketet utan internetanslutning.
Efter en fullstÀndig lokalisering av systemet, se till att skapa en systemavbildning.
Steg 4 â installation av nödvĂ€ndiga applikationer
Eftersom det inte finns nĂ„gon appbutik i LTSB- och LTSC-system, kan installation av appar frĂ„n "Microsoft Store" orsaka vissa svĂ„righeter, nĂ€mligen â nedladdning av applikationen. För nedladdning av appar har företaget "Adguard" skapat en mycket anvĂ€ndbar tjĂ€nst â , genom vilken du kan fĂ„ temporĂ€ra lĂ€nkar för nedladdning av applikationer och deras komponenter.
För att installera en applikation behöver du filer med Àndelserna "Appx" och "AppxBundle". Innan du installerar sjÀlva applikationen mÄste du installera dess komponenter. Vanligtvis kan komponenterna för applikationen intuitivt sÀrskiljas utifrÄn filnamnet.
För att inte göra artikeln för lÄng kommer jag inte att gÄ in pÄ installationsprocessen för applikationer, sÀrskilt nÀr det redan finns . Men jag lÀgger till ett annat sÀtt att installera applikationer i det aktuella anvÀndarkontot. Applikationer kan installeras med hjÀlp av programmet , men för att installera applikationer krÀvs internetanslutning, och du kan installera applikationerna med ett dubbelklick, och du behöver inte dess komponenter, alla nödvÀndiga komponenter kommer att laddas ner och installeras .
Och en liten pÄminnelse, vid installation av applikationen i det aktuella anvÀndarkontot kan systemet inte lÄsas. Hur man installerar applikationer sÄ att systemet kan lÄsas ser du i den ovan nÀmnda instruktionen. För att kontrollera funktionen av multikiosken rÀcker det gott med de redan existerande applikationerna.
Steg 5 â skapa en konfigurationsfil för multikiosken
Nu har vi nĂ„tt det mest intressanta â att stĂ€lla in kiosklĂ€get. Vi tittar i konfigurationsguiden och ser. Först och frĂ€mst behöver vi skapa en konfigurationsfil i XML-format, ett fullstĂ€ndigt exempel kan hittas .
Vi börjar med att konfigurera plattornas placering. Det enklaste sÀttet att skapa en XML-konfiguration för plattornas instÀllningar Àr att .
Först lÀgger vi till plattor för de program som vi behöver i Start-menyn. Vi kallar pÄ sökningen med "Win+s", hittar det program vi vill ha, högerklickar pÄ det och vÀljer "FÀst pÄ startskÀrmen".
Jag har fÀst följande program:
- Anteckningar
- Kalkylator
- Internet Explorer
- FĂ€rg
- WordPad
- Parametrar
- Windows-sÀkerhet
De tvÄ senaste programmen har fÀsts eftersom det i standardinstallationen av LTSC inte finns nÄgra andra universella appar. Observera att plattorna för klassiska program refererar till genvÀgar. Nu, genom att flytta plattorna direkt i Start-menyn, delar jag upp de fÀsta plattorna i tvÄ grupper. För att skapa en ny plattgrupp, dra en platta betydligt högre eller lÀgre Àn andra plattor, sÄ kommer en intuitiv separator att lysa upp. Du kan namnge grupperna som du vill, för att göra detta placerar du muspekaren ovanför gruppen, och nÀr meddelandet "Namnger gruppen" visas, klicka vÀnster musknapp. Jag kommer att namnge den första gruppen "InstÀllningar", som kommer att innehÄlla plattorna "InstÀllningar" och "Windows-sÀkerhet". Den andra gruppen kommer jag att namnge "Kontorsprogram", som kommer att innehÄlla alla andra plattor. Förresten, man kan flytta hela grupper av plattor genom att dra dem i de tvÄ strecken som finns uppe till höger om gruppnamnet.
Eftersom namnet pĂ„ plattan "Windows-sĂ€kerhet" inte fĂ„r plats helt, kommer jag att Ă€ndra dess storlek till "Bred". För att Ă€ndra storleken pĂ„ plattan mĂ„ste du högerklicka pĂ„ plattan och vĂ€lja "Ăndra storlek".
Efter konfigurationen exporterar vi det nuvarande tillstĂ„ndet genom att köra kommandot i PowerShell-miljön â "Export-StartLayout â path C:SysprepStartLayout.xml".
DĂ€refter Ă€r det enklast att inte skapa en konfigurationsfil sjĂ€lv, utan instĂ€llningar â klicka pĂ„ knappen «Copy», klistra in innehĂ„llet i Anteckningar och spara som «MultiAppKiosk.xml». Ăndra nu instĂ€llningarna efter dina behov. För att Ă€ndra instĂ€llningarna för de fĂ€sta plattorna, kopiera hela blocket «StartLayoutCollection» frĂ„n «StartLayout.xml» till «MultiAppKiosk.xml». För att lĂ€gga till applikationer i de tillĂ„tna, behöver du infoga ID:n för universella applikationer i avsnittet «AllowedApps» och Ă€ven lĂ€gga till den fullstĂ€ndiga sökvĂ€gen till exekverbara filer för klassiska applikationer, som anges i egenskaperna för de genvĂ€gar som plattorna refererar till. För att snabbt gĂ„ till genvĂ€gen, högerklicka pĂ„ den fĂ€sta plattan och följ menyn «Mer > GĂ„ till filens plats». Observera att för att ange ID:t för den universella applikationen anvĂ€nds parametern «AppUserModelId», medan för att ange den fullstĂ€ndiga sökvĂ€gen till den klassiska applikationen anvĂ€nds parametern «DesktopAppPath». Och en liten detalj, om du planerar att anvĂ€nda IE i ett x64-system, mĂ„ste du ange tvĂ„ sökvĂ€gar för exekverbara filen «Program FilesInternet Exploreriexplore.exe» och «Program Files (x86)Internet Exploreriexplore.exe».
Jag kommer inte att ge Ätkomst till mappar, sÄ jag tar bort sektionen «FileExplorerNamespaceRestrictions».
Visningen av aktivitetsfÀltet stör mig inte, sÄ i sektionen «Taskbar» lÀmnar jag allt som det Àr.
I exemplet anges tvÄ profiler, men jag kommer bara att ha en profil, sÄ sektionen med den andra profilen kan tas bort. Innan du tar bort den, observera exemplet pÄ automatisk start av applikationen med argument.
I sektionen «Configs» Ă€r kontona kopplade till profiler, notera att flera konton kan kopplas till en profil. Men eftersom jag bara Ă€r intresserad av ett konto, sĂ„ tar jag bort alla kopplingar utom den första â blocken «Config». I den Ă„terstĂ„ende kopplingen skriver jag anvĂ€ndarnamnet «User».
Jag har fÄtt en sÄdan fil med parametrar
MultiAppKiosk.xml
<![CDATA[
]]>
AnvÀndareNÀr du skapar dina XML-konfigurationsfiler, kom ihÄg att varje profil mÄste ha ett unikt ID, vilket inte bara gÀller inom en XML-fil utan ocksÄ inom ett operativsystem. Det vill sÀga, för att inte förvirras Àr det en bra idé att varje gÄng skapa ett nytt identifierare, vilket kan göras i PowerShell med kommandot "[guid]::NewGuid()". Se till att spara filen i "UTF-8"-kodning; om filen sparas i "ANSI"-kodning kommer det att uppstÄ ett fel vid paketbyggandet om XML-filen innehÄller kyrilliska tecken.
Steg 6 â tillĂ€mpning av instĂ€llningar för multi-kiosk
Vi kommer att gÄ igenom tvÄ sÀtt att tillÀmpa instÀllningar beskrivna i konfigurationsfilen. Det första sÀttet Àr att anvÀnda ett förberedelsepaket, som bör skapas i ICD. För vissa kan detta sÀtt vara mer bekant. Det andra sÀttet Àr att anvÀnda "MDM Bridge WMI Provider", vilket jag har funnit vara mer bekvÀmt.
Metod nr 1
För dem utan ICD, och installera det. Installationen av ADK Àr mycket enkel; du kan lÀmna komponenterna som standard.
Starta ICD, klicka pÄ rutan "Ytterligare förberedelse", ange projektets namn och mapp och klicka pÄ "NÀsta". I nÀsta fönster vÀljer du "Alla versioner av Windows för stationÀra datorer" och klickar pÄ "NÀsta". Du kan hoppa över importen av förberedelsepaketet; klicka pÄ "Klart".
Ăppna rullgardinsmenyn "Körningsalternativ", och sedan underavsnittet "AssignedAccess", och vĂ€lj alternativet "MultiAppAssignedAccessSettings". I den övre delen av mittsektionen i ICD-fönstret klickar du pĂ„ knappen "BlĂ€ddra" och anger platsen för XML-filen med instĂ€llningar. För sĂ€kerhets skull kan du spara projektet genom att trycka "Ctrl+s". I det övre vĂ€nstra hörnet av ICD vĂ€ljer du "Exportera" och i rullgardinsmenyn vĂ€ljer du "Förberedelsepaket". Som Ă€gare vĂ€ljer du "IT-administratör"; alla andra frĂ„gor kan du hoppa över genom att trycka "NĂ€sta", och i slutet klickar du pĂ„ "Bygg" och "Klart".
I det installerade systemet glöm inte att skapa anvÀndaren "User"; den fÄr inte lÀggas till i gruppen "Administratörer", annars kommer multi-kiosken inte att fungera. Jag skapade anvÀndaren i verktyget "Datorhantering" med en obegrÀnsad lösenord giltighet.
Nu startar vi förberedelsepaketet i det tidigare installerade systemet. Efter att förberedelsepaketet har tillÀmpats kommer menyn att Àndras för startmenyn och administratören. I den vÀnstra kolumnen av startmenyn bör knapparna: "Dokument", "Bilder", "InstÀllningar" försvinna. Om startmenyn inte har Àndrats, sÄ har nÄgot gÄtt fel. Det installerade paketet kan tas bort genom att öppna fönstret "InstÀllningar > Konton > à tkomst till arbets- eller skolkonton > LÀgga till eller ta bort förberedelsepaket."
Om startmenyn har Àndrats, har instÀllningarna tillÀmpats pÄ systemet, logga in med den anvÀndare för vilken Multikiosk Àr instÀllt och se resultatet.
Metod â2
TillÀmpning av instÀllningar med hjÀlp av "MDM Bridge WMI Provider" . Fördelen med denna metod Àr flexibiliteten i anvÀndningen och möjligheten att slippa mÄnga manuella operationer som krÀvs för att skapa ett förberedelsepaket. HÀr kan varje enskild person skapa en lösning som Àr bekvÀm för dem. Jag har skapat ett par skript för mig sjÀlv.
MiltiKiosk.bat â skript för att starta
@echo off
chcp 1251>nul
if not exist "%~dp0psexec.exe" call :ShowMessage "âĄâĄâĄâĄâĄâĄâĄâĄâĄâĄâĄâĄâĄFör att skriptet ska fungera krĂ€vs filen psexec.exeâĄâĄFör att avsluta skriptet, tryck pĂ„ valfri tangent"&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 Ingen PS fil hittades med början pÄ namnet - "%~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 :eofMiltiKiosk_Ver.12.ps1 â huvudskript
Funktion 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, ''}
}
Funktion ShowMessage ($Message='', $Align=0) {
Försök {$Align = [decimal]$Align} FÄnga {Return 'För parametern Align kan endast ett nummer anges' | 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) {
Försök {$String = [int]$String} FÄnga {}
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, 'Fel vid hÀmtning av instÀllningsobjekt', 2, 'Tryck "Enter" för att avsluta skriptets körning') -Align 2; Read-Host; Exit}
Funktion MainMenu() {
ShowMessage (13, ' 0 - Avsluta', ' 1 - VÀlj XML-fil för installation', ' 2 - Visa aktuell konfiguration för multi-kiosk', ' 3 - Ta bort instÀllningar för multi-kiosk', 1)
$local:PromptText = 'VÀlj ÄtgÀrd'
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, 'Startar konfiguration') -Align 2; Write-Host $MultiAppKiosk.Configuration; ShowMessage -Message ('Slut pÄ konfiguration', 1, 'För att ÄtergÄ till menyn tryck "Enter"', 1) -Align 2; Read-Host}
3 {$MultiAppKiosk.Configuration = $Null; Set-CimInstance -CimInstance $MultiAppKiosk; ShowMessage -Message (1, 'Kommando för att ta bort instÀllningar har utförts', 1) -Align 2}
DEFAULT {ShowMessage 'Ogiltigt vÀrde valt'}
}
if ($Selections -contains $Select) {Clear-Host; ShowMessage (15, ' 0 - Avsluta', ' 1 - VÀlj XML-fil för installation', ' 2 - Visa aktuell konfiguration för multi-kiosk', ' 3 - Ta bort instÀllningar för multi-kiosk', 1)}
}
}
Funktion XMLSelection() {
Clear-Host
if (!(Test-Path -Path $PSScriptRoot'XML')) {ShowMessage -Message (13, 'Katalog inte hittad', $('"'+$PSScriptRoot+'XML"'), 1, 'Tryck "Enter" för att ÄtergÄ till föregÄende meny') -Align 2; Read-Host; Return}
$local:XMLList = @()
$XMLList += Get-ChildItem -Path $PSScriptRoot'XML' -name -filter '*.xml'
if ($XMLList.Count -eq 0) {ShowMessage -Message (13, 'Inga XML-filer hittades i katalogen', $('"'+$PSScriptRoot+'XML"'), 1, 'Tryck "Enter" för att ÄtergÄ till föregÄende meny') -Align 2; Read-Host; Return}
[int]$local:Indent = 13 - $XMLList.Count / 2; if ($Indent -lt 1) {$Indent = 1}
ShowMessage ($Indent, ' 0 - Ă
tergÄ till föregÄende meny')
for ($i=0; $i -le $XMLList.GetUpperBound(0); $i++) {Write-Host $(' '+($i+1)+' - '+$XMLList[$i])}
Write-Host
$local:PromptText = 'VÀlj fil för 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 $('Detta kommando tillÀmpar instÀllningar frÄn filen '+$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 ('Ogiltigt vÀrde valt')}
}
}
}
MainMenuOm du vill anvÀnda min lösning, spara de ovanstÄende skripten i en mapp med sina ursprungliga namn och placera filen "PsExec.exe" i samma mapp. Skapa en mapp med namnet "XML" i samma mapp och kopiera XML-filerna för att konfigurera multikiosken. Jag kommer att anvÀnda samma fil som i den första metoden.
MultiAppKiosk.xml
<![CDATA[
]]>
AnvÀndareLite om skriptets egenskaper. Skriptet Àr avsett för anvÀndning av XML-filer med kodning "UTF8". Om du vill anvÀnda "ANSI"-kodning, ta bort parametern "encoding UTF8" frÄn filÄsningsparametern. XML-filerna som ska placeras i mappen "XML" fÄr inte ha ersatta tecken, skriptet kommer sjÀlv att ersÀtta specialtecknen med motsvarande beteckningar. För att inte förvÀxla i GUID:arna för anvÀndarbindningar till profiler kan du helt enkelt ange nummer eller namn pÄ anvÀndaren inom klamrar, allt innehÄll inom klamrar kommer att ersÀttas med GUID:ar.
Att anvÀnda skriptet Àr mycket enkelt, starta det och vÀlj nödvÀndigt alternativ. För att Àndra den aktuella konfigurationen till en ny behöver du inte radera den nuvarande, den kommer att skrivas över. Glöm inte att skapa anvÀndare som anges i konfigurationsfilen.
Vid visning av den aktuella konfigurationen av multikiosken i samma session som den tillÀmpades, kommer specialtecken att visas som kombinationer av ersÀttningstecken. Efter att sessionen bytts (skkriptet har startats om), kommer alla specialtecken att visas i sitt ursprungliga skick.
Steg 7 â försegling av systemet
Multikiosken fungerar, och sĂ„ Ă€r allt klart, eller hurâŠ
Om allt gÄr enligt plan, betyder det att du missar nÄgot.
Glöm inte att vi ocksÄ behöver vÀxla systemet frÄn audit-lÀget till vÀlkomst-lÀget. Men vi Àr redo för detta, kör "Sysprep.bat", vÀlj alternativ 2, systemet förseglas. SlÄ pÄ enheten, systemet startar, logga in pÄ anvÀndarkontot för vilket multikiosken har konfigurerats och vi kan inte logga in. Efter texten "VÀlkommen" visas meddelandet "Logga ut".
Först ville jag bara beskriva lösningen pÄ problemet, men senare beslöt jag mig för att Àven beskriva stegen för att identifiera problemet och hitta den enklaste lösningen, eftersom mÄnga av lÀsarna sannolikt kommer att plÄgas av osÀkerhet - "Vad om sÄ hÀr...". Jag tror att beskrivningen av olika experiment kommer att spara er mycket tid om ni vill hitta ett annat lösning. För att informationen ska vara sÄ exakt som möjligt, och för att ytterligare en gÄng sÀkerstÀlla att det inte finns nÄgra fel, kommer jag att dokumentera experimenten i formatet "gjorde - skrev ner". Det vill sÀga, jag kommer att genomföra de beskrivna experimenten en gÄng till.
Experiment
Vad har vi fÄtt fram? I systemet finns det tvÄ konton:
"Admin" â i gruppen "Administratörer"
"User" â i gruppen "AnvĂ€ndare"
I auditlĂ€ge fungerade multikiosken, vi kapslade in â det fungerar inte.
Experiment 1
Vi tar bort det installerade förberedelsepaketet, i verktyget "Datorhantering" tar vi bort anvĂ€ndaren "User" och skapar en ny anvĂ€ndare med namnet "User", tillĂ€mpar förberedelsepaketet, loggar in pĂ„ kontot "User" â det fungerar inte. Vi loggar in som "Admin", tar bort anvĂ€ndaren "User" frĂ„n gruppen "AnvĂ€ndare", lĂ€gger till den i gruppen "Administratörer", loggar in som "User" â det fungerar inte. Vi loggar in som "Admin", tar bort förberedelsepaketet med multikiosken, loggar in som "User" â det gick att logga in, men naturligtvis fungerar inte multikiosklĂ€get eftersom förberedelsepaketet har tagits bort.
Experiment 2
Vi laddar upp systemavbilden â lokaliserad i auditlĂ€ge.
Systemet har startats, tryck pĂ„ «Win+r», eftersom sysprep-fönstret stĂ€ngdes automatiskt. Utför kommandot «sysprep», i det öppna fönstret startar vi «sysprep». Sysprep-instĂ€llningarna i fönstret: «GĂ„ till systemets vĂ€lkomstfönster (OOBE)», «Förbered för anvĂ€ndning», «Omstart». Tryck pĂ„ «OK» och vĂ€nta pĂ„ systemets vĂ€lkomnande. Svara pĂ„ frĂ„gorna vid den första systemstarten: «FortsĂ€tta pĂ„ valt sprĂ„k?» â «svenska»; region â Sverige; tangentbordslayout â Svensk; lĂ€gga till andra tangentbordslayouter â hoppa över; «LĂ„t oss ansluta dig till nĂ€tverket» â «Hoppa över för tillfĂ€llet»; anslut till internet â nej; licensavtal â acceptera; «Vem kommer att anvĂ€nda den hĂ€r datorn» â «Test»; skapa lösenord â lĂ€mna fĂ€ltet tomt; bekvĂ€m anvĂ€ndning pĂ„ olika enheter â nej; sekretessinstĂ€llningar â acceptera. Systemet har startats, i verktyget «Datorhantering» skapar vi en anvĂ€ndare med namnet «User», lĂ€gger till förberedelsetyp. Resultat â fungerar inte.
Experiment 3
Vi laddar upp systemavbilden â lokaliserad i auditlĂ€ge.
Systemet har startats, anslut systemet till internet, utför kommandot «gpedit.msc» och i avsnittet «Windows Update Center» aktiverar vi alternativet «Aktivera rekommenderade uppdateringar via automatisk uppdatering», för sĂ€kerhets skull startar vi om. I uppdateringscentret trycker vi pĂ„ «Kontrollera efter uppdateringar» och startar om tills alla uppdateringar har installerats. Koppla bort systemet frĂ„n internet. Starta «sysprep» i grafiskt lĂ€ge och upprepa alla Ă„tgĂ€rder som beskrivs i föregĂ„ende steg med att starta verktyget «sysprep» fram till förberedelsetypens tillĂ€gg. Resultat â fungerar inte.
Experiment 4
Ladda upp systemavbilden â engelsksprĂ„kig i revisionslĂ€ge.
Starta «sysprep» i grafiskt lĂ€ge, förslut systemet med samma instĂ€llningar som under experiment 2. Vid den första systemstarten vĂ€ljer vi samma instĂ€llningar som i experiment 2, med undantag för de regionala och sprĂ„kliga instĂ€llningarna eftersom det inte finns nĂ„got ryskt sprĂ„k. Vi skapar ocksĂ„ anvĂ€ndaren «User» och lĂ€gger till förberedelsetyp. Resultat â fungerar. AlltsĂ„ Ă€r problemet relaterat till lokalisering.
Experiment 5
Vi laddar upp systemavbilden â lokaliserad i auditlĂ€ge.
I verktyget «Datorhantering» skapar vi anvÀndaren «User», lÀgger till förberedelsetyp, gÄr in i kontot «User», multikiosken fungerar.
Logga ut frÄn kontot och logga in med kontot "Admin". Starta PowerShell med administratörsrÀttigheter, kör kommandot "Dism /online /Get-Intl" och se "StandardanvÀndargrÀnssnittsprÄk: en-US".
Starta frÄn USB-enheten i WinPE, det installerade operativsystemet finns pÄ disk E. Kör kommandot "Dism /image:E: /Set-UILang:ru-ru". Kontrollera resultatet, kör "Dism /image:E: /Get-Intl" och se "Standard system UI language: ru-RU".
Logga in i systemet med kontot "User", multikiosken fungerar inte.
För att tydligt faststÀlla orsakssambandet till problemet ska vi försöka fÄ multikiosken att fungera och inte fungera igen.
Starta frÄn USB-enheten i WinPE, det installerade operativsystemet finns pÄ disk E. Kör kommandot "Dism /image:E: /Set-UILang:en-us". Kontrollera resultatet, kör "Dism /image:E: /Get-Intl" och se "Standard system UI language: en-US".
Logga in i systemet med kontot "User", multikiosken fungerar.
Starta frÄn USB-enheten i WinPE, det installerade operativsystemet finns pÄ disk E. Kör kommandot "Dism /image:E: /Set-UILang:ru-ru". Kontrollera resultatet, kör "Dism /image:E: /Get-Intl" och se "Standard system UI language: ru-RU".
Logga in i systemet med kontot "User", multikiosken fungerar inte.
Det vill sÀga att vi kan se ett klart samband mellan kioskarens funktionalitet och vÀrdet av standardanvÀndargrÀnssnittssprÄket. Finns det nÄgra andra faktorer som pÄverkar multikioskens funktionalitet?
Experiment 6
För att sĂ€kerstĂ€lla experimentets renhet installerar vi om systemet. Vi laddar upp systemavbildningen â lokaliserad i audit-lĂ€get.
Starta "sysprep" i grafiskt lĂ€ge, försegla operativsystemet med samma parametrar som under experiment 2. VĂ€nta pĂ„ operativsystemets hĂ€lsning och svara pĂ„ frĂ„gorna: "FortsĂ€tta pĂ„ valt sprĂ„k?" â "English (United States)"; region â Ryssland; tangentbordslayout â Ryska. Alla parametrar vĂ€ljs som i experiment 2.
Kontrollera vÀrdena för standardanvÀndargrÀnssnittssprÄket. Kör kommandot "Dism /online /Get-Intl" och se "Standard system UI language: en-US". I verktyget "Datorhantering" skapar vi anvÀndaren "User", lÀgger till förberedelsepaket, loggar in med kontot "User", multikiosken fungerar.
Försök att bryta kiosken genom att Àndra standardanvÀndargrÀnssnittssprÄket. Logga in med anvÀndaren "Test", som skapades vid första systemstarten och aktivera automatisk inloggning sÄ att systemet inte loggar in med kontot "User" direkt. Kör "netplwiz", vÀlj anvÀndaren "Test", ta bort markeringen av "KrÀva att anvÀndarnamn och lösenord anges" och tillÀmpa parametrarna.
Starta frÄn USB med WinPE. Kör kommandot «Dism /image:E: /Set-UILang:sv-se». Titta pÄ resultatet, kör «Dism /image:E: /Get-Intl» och se «Default system UI language: sv-SE».
Logga in i systemet, försök att logga in pÄ kontot «User», multimedia-kiosken fungerar. D.v.s. den gÄr inte att bryta. Men kan vi fÄ den att fungera pÄ detta sÀtt?
Experiment 7
Vi laddar upp systemavbilden â lokaliserad i auditlĂ€ge.
Kör «Sysprep.bat», vÀlj punkt 2. Logga in i systemet, i verktyget «Datorhantering» skapar vi anvÀndaren «User», lÀgger till förberedelsepaketet, loggar in pÄ konton «User», multimedia-kiosken fungerar inte.
Starta frÄn USB med WinPE. Kör kommandot «Dism /image:E: /Set-UILang:en-us». Titta pÄ resultatet, kör «Dism /image:E: /Get-Intl» och se «Default system UI language: en-US».
Logga in i systemet, försök att logga in pÄ kontot «User», multimedia-kiosken fungerar inte.
Det visar sig att genom att Àndra instÀllningen för standard anvÀndargrÀnssnittssprÄk kan man pÄverka multimedia-kioskens funktionalitet endast nÀr systemet Àr i auditlÀge eller vid första starten efter att systemet har förseglats. Detta innebÀr att man mÄste försegla systemet med en svarfil dÀr sprÄkvalet Àr engelska, och sedan Àndra systeminstÀllningarna för att grÀnssnittet ska vara pÄ ryska. Inte den bÀsta lösningen. Kanske kan man lösa problemet genom att installera sprÄkpaketet eller installera ytterligare sprÄkpaket?
Experiment 8
Ladda upp systemavbilden â engelsksprĂ„kig i revisionslĂ€ge.
Anslut till internet, gÄ till systeminstÀllningarna, vÀlj avsnittet «Language», vÀlj «Add language», vÀlj sprÄket «Svenska», klicka pÄ «Next», lÄt installationsalternativen vara som standard, klicka pÄ «Install», efter installationen av sprÄkpaketet startar vi om systemet, nu Àr den översatt till svenska. Koppla bort systemet frÄn internet, kör «Sysprep.bat», vÀlj punkt 2.
Efter att systemet har startat i verktyget «Datorhantering» skapar vi anvÀndaren «User», lÀgger till förberedelsepaketet, loggar in pÄ kontot «User», multimedia-kiosken fungerar inte.
Experiment 9
LÄt oss försöka översÀtta systemet före installation, i offline-lÀge. Samtidigt fÄr vi en kort introduktion till lokaliseringen av distributören.
Jag tar en USB-minne med den rena originaldistributionen â X21-96381. Den kommer att vara skivan "E". För att montera bilder skapar jag mappar: "c:MountInstall", "c:MountWinre", "c:MountBoot". Jag tar sprĂ„kpaketet â X21-87814. Och jag kopierar följande paket till mappen "c:Mount": "Microsoft-Windows-Client-Language-Pack_x86_sv-se.cab", "lp.cab", "WinPE-Setup_sv-se.cab". Jag öppnar konsolen med administratörsrĂ€ttigheter. Jag tror att de följande kommandona kommer att vara förstĂ„eliga utan kommentarer.
SprÄklokaliseringskommandon
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_sv-se.cabcode
dism /Image:Installcode /Set-AllIntl:sv-se
dism /Image:Install /Set-TimeZone:"Swedish Standard Time"code
dism /Mount-Wim /WimFile:InstallWindowsSystem32RecoveryWinre.wim /index:1 /MountDir:Winrecode
dism /Image:Winre /Add-Package /PackagePath:lp.cabcode
dism /Image:Winrecode /Set-AllIntl:sv-se
dism /Image:Winre /Set-TimeZone:"Swedish Standard Time"code
dism /Unmount-Image /MountDir:Winre /Commitcode
dism /Image:Install /Gen-LangINI /distribution:E: /Set-AllIntl:sv-SEcode
dism /image:Install /Set-SetupUILang:SV-se /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:sv-se
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_sv-se.cabcode
dism /Image:Bootcode /Set-AllIntl:sv-se
copy e:sourceslang.ini Bootsourceslang.ini /ycode
dism /Unmount-Image /MountDir:Boot /CommitVi startar frÄn USB-minnet, vÀljer svenska sprÄket och installerar systemet pÄ en ren disk. NÀr systemet ber om att vÀlja region trycker vi "Ctrl+Shift+F3". I verktyget "Datorhantering" skapar vi anvÀndaren "User", lÀgger till beredningspaket, loggar in pÄ kontot "User", multikiosk fungerar inte.
Vi startar frÄn USB-minnet i WinPE. Vi kör kommandot "Dism /image:E: /Set-UILang:en-us".
Vi startar i systemet, försöker logga in pÄ kontot "User", multikiosk fungerar.
Det verkar inte bero pÄ metoderna för att lÀgga till paketet, lÄt oss försöka lÀgga till ytterligare paket.
Experiment 10
Jag tar USB-minnet som vi förberedde i föregÄende steg.
Jag tar paketet "Feat on Demand" â X21-87815. Jag kopierar följande paket till mappen "c:Mount": "Microsoft-Windows-LanguageFeatures-Basic-sv-se-Package~31bf3856ad364e35~x86~~.cab", "Microsoft-Windows-LanguageFeatures-OCR-sv-se-Package~31bf3856ad364e35~x86~~.cab", "Microsoft-Windows-LanguageFeatures-Handwriting-sv-se-Package~31bf3856ad364e35~x86~~.cab", "Microsoft-Windows-LanguageFeatures-TextToSpeech-sv-se-Package~31bf3856ad364e35~x86~~.cab".
Vi tar paketet "Feat on Demand RDX Updt" â X21-99781. Jag kopierar paket frĂ„n det till mappen "c:Mount": "Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab", "Microsoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cab".
Ăppna konsolen med administratörsrĂ€ttigheter och kör kommandona:
Kommandon
cd c:mount
dism \/Mount-Wim \/WimFile:e:sourcesinstall.wim \/index:1 \/MountDir:Install
dism \/Add-Package \/Image:Install \/PackagePath:Microsoft-Windows-LanguageFeatures-Basic-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism \/Add-Package \/Image:Install \/PackagePath:Microsoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism \/Add-Package \/Image:Install \/PackagePath:Microsoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism \/Add-Package \/Image:Install \/PackagePath:Microsoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism \/Add-Package \/Image:Install \/PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab
dism \/Add-Package \/Image:Install \/PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism \/Unmount-Image \/MountDir:Install \/CommitVi startar upp frÄn USB-minnet, vÀljer ryska sprÄket och installerar systemet pÄ en ren disk. NÀr systemet ber oss att vÀlja region trycker vi "Ctrl+Shift+F3". I verktyget "Datorhantering" skapar vi anvÀndaren "User", lÀgger till förberedelsepaketet, gÄr in i anvÀndarkontot "User". Jag fick en svart skÀrm som hÀngde lÀnge, sÄ jag genomförde en varm omstart av systemet.
Vi tar bort förberedelsepaketet, loggar in som anvÀndaren "User", omstartar systemet, lÀgger till förberedelsepaketet, men mulit-kiosken fungerar inte.
Vi startar frÄn USB-minnet i WinPE. Vi kör kommandot "Dism /image:E: /Set-UILang:en-us".
Vi startar i systemet, försöker logga in pÄ kontot "User", multikiosk fungerar.
Lösning pÄ problemet
Riktiga hjÀltar. GÄr alltid runt problem!
Olika sÀtt att installera lokaliseringpaket löste inte problemet, sÄ vi mÄste vid första inloggningen efter förseglingen installera sprÄket "en-us", och efter första inloggningen Àndra sprÄkinstÀllningarna.
Vi laddar upp systemavbilden â lokaliserad i auditlĂ€ge.
I filen "Unattend.xml" anger vi "en-US" i parametern, kör "Sysprep.bat", vĂ€ljer punkt 2 och ser vad vi fick. VĂ€lkomstskĂ€rmen Ă€r pĂ„ engelska, multi-kiosken fungerar â bra. SĂ„ vi mĂ„ste lĂ€gga till kommandot för att Ă€ndra vĂ€lkomstsprĂ„ket i "Unattend.xml". För detta mĂ„ste vi köra kommandot "control intl.cpl,,\/f:" med angivande av konfigurationsfilen som kommer att ange kopiering av aktuella instĂ€llningar till vĂ€lkomstskĂ€rmen. InnehĂ„llet i konfigurationsfilen kommer att se ut sĂ„ hĂ€r.
Eftersom vi kommer att kopiera instĂ€llningarna för den nuvarande anvĂ€ndaren, mĂ„ste kommandot utföras efter att anvĂ€ndaren har loggat in. Det betyder att vi behöver nĂ„got. Det finns dock en liten 'men', utförandet kommer att ske efter inloggning av anvĂ€ndaren med administratörsrĂ€ttigheter. Jag skulle gĂ€rna vilja undvika att skapa en extra fil som krĂ€vs för att kommandot ska köras framgĂ„ngsrikt. Det Ă€r bĂ€ttre att genomföra hela lösningen i en enda fil â "Unattend.xml". För detta behöver du bara köra kommandot som skapar konfigurationsfilen. Jag tror att jag kommer att skapa konfigurationsfilen med kommandot "echo" i "cmd", men i det mĂ„ste man maskera vinklarna med cirkumflex. D.v.s. för att skapa konfigurationsfilen blir kommandot sĂ„ hĂ€r.
echo ^^^^^>Config.xmlMen vi mÄste placera det hÀr kommandot i XML, vilket har sina egna krav för anvÀndning av specialtecken:
Specialtecken
ErsÀttningsvÀrde
>
>
<
<
&
&
â
'
â
"
SÄ för att skapa konfigurationsfilen blev kommandot för "FirstLogonCommands" pÄ följande sÀtt.
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"DÀrefter kör vi kommandot med anvÀndning av konfigurationsfilen.
control intl.cpl,,/f:"%TMP%Config.xml"Sedan tar vi bort den tidigare skapade filen och startar om systemet eftersom Àndringarna trÀder i kraft efter omstart.
cmd.exe /c del "%TMP%Config.xml" /q&shutdown /r /f /t 00Som resultat har jag fÄtt en sÄdan svarfil för sysprep.
Unattend.xml
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
1
Visa inte sidvisning av produktnyckel
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f
2
Skapa inte konto
cmd.exe /c rd %systemdrive%Sysprep /s /q
3
Ta bort mapp
true
Admin
en-US; sv-SE
sv-SE
en-US
sv-SE
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"
SkapaConfig
1
control intl.cpl,,/f:"%TMP%Config.xml"
AnvÀndConfig
2
cmd.exe /c del "%TMP%Config.xml" /q&shutdown /r /f /t 00
Ta bortConfig
3KontrollerarâŠ
Vi laddar upp systemavbilden â lokaliserad i auditlĂ€ge.
Byt ut Unattend.xml-filen mot den nya, kör "Sysprep.bat", vÀlj punkt 2 och se vad vi har fÄtt. Vid första uppstart visas vÀlkomstskÀrmen pÄ engelska, systemet startar om. VÀlkomstskÀrmen pÄ ryska, multi-kiosk fungerar.
Om du har nÄgra frÄgor om konfiguration och licensiering av Windows 10 IoT Enterprise, vÀnligen kontakta eller pÄ webbsidan .
Svar pÄ nÄgra frÄgor kan du hitta i eller pÄ vÄr
Författare: Borisenkov Vladimir, teknisk expert pÄ Kvartha Technologies.
KĂ€lla: habr.com
