Ievads
– ir tirgus nosaukums jaunajai Windows 10 versijai. Šīs versijas iznākšana tika paziņota 2018. gada septembrī, un tai ir versija 1809: 18 – gads, 09 – mēnesis. Par jauno Windows 10 1809 ir uzrakstīts daudz rakstu, taču lielākā daļa no tiem veltīta dažādām "fīčām", "skaistumiem" un dažādiem funkcionāliem risinājumiem, kas ir pieprasīti mājas apstākļos.
Šajā rakstā tiks aplūkots tikai funkcionālais nodrošinājums, kas varētu interesēt ierīču ražotājus konkrētai lietošanai. Proti, par jauniem kioskveida režīma iespējām. Tāpat tiks skartas pārmaiņas Windows korporatīvo versiju apkalpošanas shēmu nosaukumos.
Vecā apkalpošanas shēma ar jauno nosaukumu
Sāksim ar nelielu skaidrojumu: Windows korporatīvajā segmentā pastāv divas apkalpošanas shēmas, saskaņā ar kurām Windows saņem atjauninājumus. Apkalpošanas shēmām ir alfabēta apzīmējumi. Šobrīd apkalpošanas filiāles sauc par LTSC un SAC.
LTSC – nozīmē (ar ilgtermiņa apkalpošanu). Agrāk šī kanāla nosaukums bija LTSB – Long Term Servicing Branch, Microsoft vienkārši mainīja apkalpošanas kanāla nosaukumu, pašas apkalpošanas būtība palika nemainīga.
Tāpat Microsoft mainīja apkalpošanas filiāles nosaukumu CBB – Current Branch for Business, tagad šī apkalpošanas filiāle saucas SAC – . Atkal, mainījās tikai nosaukums.
Tomēr jāatzīmē, ka LTSC un SAC apkalpošanas filiālēm tiek izmantoti dažādi Windows izplatījumi.
Mazliet par jauno kioskveida režīmu SAC
Kā jau minēju, LTSC un SAC ir dažādi izplatījumi. LTSC nav standarta universālo lietotņu un lietotņu veikala, bet SAC ir. Tātad, LTSC nav pārlūkprogrammas Edge, bet SAC ir. Ja kioskveida iestatīšanas laikā izvēlas pārlūkprogrammu Edge, tagad pieejami divi režīmi:
- Kā digitālais zīme vai interaktīvs ekrāns
- Kā publisks pārlūks
Neapstāšos pie šo režīmu iestatīšanas, jo tā ir ļoti vienkārša un tiek veikta grafiskajā saskarnē. Vienkārši izveidojiet lietotāju, kurš nepieder grupai "Administratori", aktivizējiet kioska režīmu, izmantojot EDGE, un novērojiet šo režīmu darbību.
Kiosks ar daudziem lietojumiem
Daži domā, ka licencēta izmantošana paredz, ka ierīcē darbosies tikai viena lietojumprogramma, bet patiesībā tā nav. Ierīcei jābūt paredzētai, lai veiktu vienu uzņēmējdarbības uzdevumu un lietotājam nedrīkst būt piekļuve darbvirsmai. Tagad Microsoft ir piedāvājusi rīku, lai izmantotu vairākas lietojumprogrammas. Šo režīmu sauc par "multi-app kiosk", turpmāk es to saukšu par "mūlti-kiosku". Šajā rakstā mēs aplūkosim, kā iestatīt šo režīmu, izmantojot nodrošināšanas paketi, un dažas šī režīma iezīmes.
Nedaudz par režīmu „Mūlti-kiosk”
Piesakoties lietotāja kontā, kuram ir iestatīts mūlti-kioska režīms, sistēma darbosies planšetdatora režīmā. Sāknēšanas izvēlne tiks attēlota visā ekrānā, kurā tiks parādīti lietojumprogrammu flīzes.
Galveno iestatījumu un iespēju saraksts:
- Iestatījumi daudziem lietotājiem vai grupām
- Katram lietotājam vai grupai var piešķirt individuālus iestatījumus
- Iespēja izmantot universālas un klasiskas lietojumprogrammas
- Iespēja automātiski palaist vienu no lietojumprogrammām, piesakoties lietotājam sistēmā
- Lietojumprogrammu darbība pēc balto sarakstu principa
- Piekļuve mapēm pēc balto sarakstu principa
Vērts pievērst uzmanību 5. punktam. Pēc noklusējuma tiks atļauta darbs tikai tām lietojumprogrammām, kas ir nepieciešamas sistēmas darbībai, pārējās lietojumprogrammas jāiekļauj atļauto sarakstā. T.i., tagad nav nepieciešams atsevišķi konfigurēt AppLocker. Starp citu, lai izvairītos no AppLocker iestatījumu konflikta, mūlti-kioska režīmā visi konfigurētie AppLocker noteikumi nedarbosies.
6. punktā norādīts labs iespēju, taču pašlaik var atļaut rakstīšanu tikai "Downloads" mapei. Režīms atļauj izmantot universālas un klasiskas lietojumprogrammas. Visus režīma iestatījumus norāda XML failā, kurā var norādīt arī iestatījumus kioskam ar vienu lietojumprogrammu.
Tagad izmēģināsim to visu iestatīt...
Ko mums vajag...
- Vispirms mums būs nepieciešama pati sistēma, kas atbalsta mūlti-kioska režīmu. demonstrācijas versiju
- Jebkurš XML redaktors
- Lai piemērotu mūlti-kioska iestatījumus:
- Pirmajā veidā — ICD, kas ietilpst ADK. ADK var
- Otrajā veidā – rīks PsExec. Rīku var
Viņš teica – «Dosimies!»
Visas eksperimentus es veicu uz Windows 10 IoT Enterprise 1809 LTSC x32 komerciālo versiju, nevis demonstrācijas. Sistēma būs bez aktivizācijas, jo aktivizācijas trūkums neietekmē sistēmas funkcionalitāti. Es izvēlējos 32 bitus tikai tāpēc, ka tā aizņem mazāk vietas un darbs ar sistēmas attēliem būs ātrāks.
1. solis – instalācija
Windows 10 IoT Enterprise uzstādīšana neatšķiras no Windows 10 Enterprise uzstādīšanas, tādēļ visu uzstādīšanas procesu es nesniegšu, tikai norādīšu uz dažām niansēm.
Uzmanības piesaistīšanai atgādinu, neinstalējiet sistēmu uz jau uzstādītas. Kad instalētājs jautās par sistēmas uzstādīšanas vietu, dzēsiet visas nodaļas nākamajā sistēmas diskā un norādiet neizmantotu disku.
Instalējam sistēmu bez interneta savienojuma, lai sistēma neielādētu neko lieku.
Tā kā mēs veidosim rezerves sistēmas attēlus, un šim nolūkam to iepriekš sagatavosim auditēšanas režīmā, varam nedaudz ietaupīt laiku, palaidot sistēmu auditēšanas režīmā uzreiz pēc uzstādīšanas. Tādēļ, kad sistēma jautās izvēlēties reģionu «Sāksim ar reģionu. Vai tas ir pareizi?» vienkārši nospiediet «Ctrl+Shift+F3».
2. solis – veidojam sistēmas attēlu
Tā kā mēs plānojam eksperimentēt ar sistēmu un izmēģināt dažādas jaunās iestatījumus, nav izslēgts, ka kaut kas var nenostrādāt un nepieciešams atgriezt sistēmu sākotnējā stāvoklī. Un, lai ātri atgrieztos sākotnējā stāvoklī, nepieciešams izveidot sistēmas attēlu. Vienīgais, ko es darīšu, ir kopēt «gentleman’s set» – skriptu un atbilžu failu. Visi faili atrodas mapē «Sysprep», ko es kopēšu uz sistēmas diska sakni. Un, protams, es ar jums dalīšos šajā «gentleman’s set».
Sysprep.bat – sistēmas sagatavošanai.
@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 "‡‡‡Kļūda, veidojot jaunu administratora kontu "minName%"‡‡Nospiediet jebkuru taustiņu, lai pabeigtu skriptu"&pause>nul&exit)
pushd "%~dp0"
cls
call :ShowMessage ‡‡‡‡‡‡‡‡‡‡
echo 1 - Sistēmas uzpildīšana audita režīmā
echo 2 - Sistēmas uzpildīšana uzņemšanas režīmā
:Select
set /p Choice="Ievadiet izvēles numuru: "
if "%Choice%"=="1" (goto Audit)
if "%Choice%"=="2" (goto OOBE)
echo.&echo Norādīta nederīga vērtība.&goto Select
exit
:Audit
call :ShowMessage "‡‡‡‡‡Sistēmas uzpildīšana audita režīmā"
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 "‡‡‡‡‡Sistēmas uzpildīšana uzņemšanas režīmā"
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 Lietotāja vārds nav norādīts&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 Grupas SID nav norādīts&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 Kļūda, nosakot grupas nosaukumu pēc 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 :eofSkripta palaišanai tiks pārbaudīts, vai ir lietotāja konts "Admin", un, ja tā nav, tas tiks izveidots. Lietotāja konts tiks pievienots "Administratoru" grupai.
Unattend.xml – atbildes fails sysprep’iem.
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
1
Nerādīt atslēgas lapu
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f
2
Nerādīt konta izveidi
cmd.exe /c rd %systemdrive%Sysprep /s /q
3
Dzēst mapi
true
Admin
en-US; ru-RU
ru-RU
ru-RU
ru-RU
true
true
true
true
true
1Izmantojot audita režīmu, skripts pievienos reģistrā komandu procesam «sysprep.exe», lai pašu Sysprep logu nevajadzētu aizvērt manuāli katru reizi. Izmantojot uzņemšanas režīmu, skripts izdzēsīs reģistrā komandu loga aizvēršanai un mainīs arhitektūras vērtību atbildes failā uz pašreizējo. Atbildes failā ir parametri, lai sistēma tiktu ielādēta bez lietotāja līdzdalības, kā arī komanda foldera «Sysprep» izdzēšanai no sistēmas diska saknes.
Tagad es sagatavošu sistēmu audita režīmā ar «Sysprep.bat» un uzņemšu sistēmas attēlu. Es uzņemšu sistēmas attēlu izmantojot DISM un tikai no sistēmas apjoma. Ja uzņemat tikai sistēmas apjoma attēlu, nevis visa diska, neaizmirstiet kopēt katalogu «WindowsSystem32Recovery» uz pirmā apjoma mapi «RecoveryWindowsRE» pēc sistēmas atjaunošanas. To jāizdara pirms operētājsistēmas ielādes, jo pēc operētājsistēmas ielādes katalogs «WindowsSystem32Recovery» jau būs tukšs.
Sol 3 – sistēmas lokalizācija
Valodu pakotni var instalēt bez interneta pieslēguma, ja jums šī pakotne ir. Ja nav, tad sistēma to automātiski lejupielādēs no interneta, kad pievienosit valodu iestatījumos. Tikai neaizmirstiet ņemt valodu pakotni no iepriekšējām operētājsistēmas versijām. Windows 10 1809 valodu pakotnei jābūt tieši Windows 10 1809.
Microsoft seko savai stratēģijai – pakāpeniskai iestatījumu pārvietošanai no klasiskā izvēlnes uz jauno, tādēļ klasiskajā vadības panelī vairs neatradīsit iestatījumus valodas maiņai un valodu pakotnes uzstādīšanai. Šie iestatījumi tagad ir tikai sistēmas iestatījumos.
Audita režīmā var rasties problēmas atvērt sistēmas iestatījumus no izvēlnes «Sākt», lai atvērtu sistēmas iestatījumus, izpildiet komandu – «ms-settings:», pievērsiet uzmanību kolonnai komandas beigās, bez tās komanda nedarbosies. Pēc vienreizējas sistēmas iestatījumu atvēršanas ar šo komandu, tos varēs atvērt ar grafisko izvēlni.
Tomēr sistēmas iestatījumos jūs varat instalēt valodu pakotni, ja sistēma ir pievienota internetam, tur nav iespējams izvēlēties instalēt valodu pakotni no lokālā faila.
Neaprakstīšu lokalizācijas sistēmas procesu, jo tas būtiski sarežģītu rakstu, turklāt procesa lokalizācija ir detalizēti . Taču vēlētos vērst jūsu uzmanību uz īpašību, kā pēc valodas pakotnes instalācijas mainīt sistēmas valodu, izmantojot konsoli. Šī īpašība ir aprakstīta tajā pašā vikijā, uz kuru es devu saiti iepriekš, apakšsadaļā .
Es instalēšu valodas pakotni bez piekļuves internetam.
Pēc pilnīgas sistēmas lokalizācijas obligāti izveidojiet sistēmas attēlu.
4. solis – nepieciešamo lietotņu instalācija
Tā kā LTSB un LTSC sistēmās nav lietotņu veikala, tad lietotņu instalācija no «Microsoft Store» rada dažas grūtības, proti – lietotņu lejupielādi. Lai lejupielādētu lietotnes, SIA «Adguard» izveidoja ļoti ērtu pakalpojumu – , ar kuru var iegūt pagaidu saites uz lietotņu un to komponentu lejupielādi.
Lai instalētu lietotni, jums būs nepieciešami faili ar paplašinājumiem «Appx» un «AppxBundle». Pirms pašas lietotnes instalācijas ir jānopērk tās komponenti. Parasti komponentus no lietotnēm var intuitīvi atšķirt pēc faila nosaukuma.
Lai rakstu nesavāktu pārāk garu, neaprakstīšu detalizēti lietotņu instalēšanas procesu, turklāt pie lietotņu instalācijas ir . Bet pievienošu vēl vienu veidu, kā instalēt lietotnes pašreizējā kontā. Lietotnes var instalēt, izmantojot programmu , taču lietotņu instalācijai būs nepieciešama piekļuve internetam, toties lietotnes varēsiet instalēt ar dubultklikšķi un jums nevajadzēs to komponentus, visus nepieciešamos komponentus lejupielādēs un instalēs .
Un neliels atgādinājums, instalējot lietotni pašreizējā kontā, sistēmu nevarēs iespējot. Kā uzstādīt lietotnes, lai būtu iespēja ieslēgt sistēmu, skatiet iepriekšminētajā instrukcijā. Bet, lai pārbaudītu darbību, multikioskā pavisam pietiks ar jau esošajām lietotnēm.
5. solis – konfigurācijas faila izveide multikioskam
Un nu mēs esam nonākuši pie interesantākā – pie kioska režīma konfigurācijas. Skatāmies uz konfigurāciju un redzam. Pirmkārt, mums būs nepieciešams izveidot konfigurācijas XML failu, pilnu piemēru var .
Sāksim ar flīžu novietojuma iestatīšanu. Visvienkāršākais veids, kā izveidot XML konfigurāciju flīžu iestatījumam, ir .
Vispirms pievienosim sākuma izvēlnē tās flīzes, kuras mums nepieciešamas. Izsaucam meklēšanu «Win+s», atrodam vajadzīgo lietojumprogrammu, ar peles labo pogu klikšķinām uz tās un izvēlamies opciju «Piestiprināt pie sākuma ekrāna».
Es esmu piesaistījis šādas lietojumprogrammas:
- Notepad
- Kalkulators
- Internet Explorer
- Krāsas
- WordPad
- Iestatījumi
- Windows drošība
Pēdējās divas lietojumprogrammas tika piesaistītas, jo standarta LTSC komplektā nav citu universālo lietojumprogrammu. Ņemiet vērā, ka klasisko lietojumprogrammu flīzes atsaucas uz īsceļiem. Tagad, pārvietojot flīzes tieši sākuma izvēlnē, es sadalīšu piesaistītās flīzes divās grupās. Lai izveidotu jaunu flīžu grupu, pārvietojiet flīzi būtiski augstāk vai zemāk par citām flīzēm, un parādīsies intuitīvi saprotams dalītājs. Jūs varat nosaukt grupas pēc saviem ieskatiem, tādējādi novietojot peles kursoru virs grupas, un kad parādīsies uzraksts «Nosaukt grupu», noklikšķiniet ar kreiso peli. Pirmo grupu es nosaukšu «Iestatījumi», tajā iekļausies flīzes «Iestatījumi» un «Windows drošība». Otru grupu es nosaukšu «Biroja lietojumprogrammas», kurā iekļūs visas pārējās flīzes. Starp citu, flīžu grupas var pārvietot pilnībā, velkot tās aiz divām svītrām, kas atrodas grupas nosaukuma augšējā labajā stūrī.
Tā kā flīzē «Windows drošība» nepietiek vietas nosaukumam, es mainīšu tās izmēru uz «Platu». Lai mainītu flīzes izmēru, jāuzspiež uz flīzes ar labo pele un jāizvēlas opcija «Mainīt izmēru».
Pēc iestatījumu veikšanas eksportējam pašreizējo stāvokli, izpildām komandu PowerShell vidē – «Export-StartLayout – path C:SysprepStartLayout.xml».
Tālāk visērtāk ir nevis pašam izveidot iestatījumu failu, bet Iestatījumus – nospiežam pogu «Copy», ievietojam saturu piezīmju grāmatā un saglabājam kā «MultiAppKiosk.xml». Tagad mainām iestatījumus pēc saviem ieskatiem. Lai mainītu pievienoto flīžu iestatījumus, kopējam visu bloku «StartLayoutCollection» no «StartLayout.xml» uz «MultiAppKiosk.xml». Lai pievienotu lietojumprogrammas atļauto sarakstam, ir nepieciešams ievietot universālo lietojumprogrammu identifikatorus sadaļā «AllowedApps» un tajā pašā blokā pievienot pilnu ceļu uz izpildāmajiem failiem klasiskajām lietojumprogrammām, kas ir norādīti īsceļu īpašībās, uz kurām atsaucas flīzes. Lai ātri pārietu uz īsceļu, ar peles labo taustiņu noklikšķiniet uz piespraustās flīzes un izpētiet izvēlni «Papildu > Pāriet uz failu atrašanās vietu». Ņemiet vērā, ka universālā lietojuma identifikatora norādīšanai tiek izmantots parametrs «AppUserModelId», bet pilna ceļa uz klasisko lietojumprogrammu norādīšanai tiek izmantots parametrs «DesktopAppPath». Un vēl viens sīks rūpinc, ja plānojat izmantot IE x64 sistēmā, ir jānorāda divi ceļi izpildāmā faila sarakstā «Program Files\
Es nepiešķiršu piekļuvi mapēm, tāpēc dzēšu sadaļu «FileExplorerNamespaceRestrictions».
Uzdevumu joslas attēlojums man netraucēs, tāpēc sadaļā «Taskbar» atstāšu visu kā ir.
Piemērā ir norādīti divi profili, bet man būs tikai viens profils, tāpēc sadaļu ar otro profilu var atiestatīt. Pirms dzēšanas, lūdzu, pievērsiet uzmanību piemēram, kā automātiski palaist lietojumprogrammu ar argumentiem.
Sadaļā «Configs» konti ir piesaistīti profiliem, ņemiet vērā, ka pie viena profila var piesaistīt daudzkārt īpašus kontus. Bet tā kā mani interesē tikai viens konts, es dzēšos visus piesaistes izņemto pirmo - blokus «Config». Atlikušajā piesaistē norādīšu lietotājvārdu «User».
Man ir šāds fails ar parametriem
MultiAppKiosk.xml
<![CDATA[
]]>
UserKad veidosiet savus XML iestatījumu failus, neaizmirstiet, ka katram profilam jābūt unikālam ID, turklāt ne tikai viena XML faila ietvaros, bet arī vienā operētājsistēmā. T.i., ideālā gadījumā, lai nesajuktu, katru reizi var izveidot jaunu identifikatoru, to var izdarīt PowerShell vidē, izmantojot komandu „[guid]::NewGuid()”. Un obligāti saglabājiet failu UTF-8 kodējumā; ja fails tiks saglabāts ANSI kodējumā, tad iepriekš sagatavošanas pakotnes veidošanas laikā radīsies kļūda, ja XML failā būs kirilica.
6. solis – multikioska iestatījumu pielietošana
Apskatīsim divus veidus, kā pielietot iestatījumus, kas aprakstīti konfigurācijas failā. Pirmais – ar sagatavošanas pakotnes palīdzību, kuru jārada ICD. Dažiem šo veidu iespējams būs vieglāk izmantot. Otrais – izmantojot „MDM Bridge WMI Provider”, šo veidu man šķita ērtāk.
Veids Nr. 1
Ja nav ICD, un instalējam. ADK instalācija ir ļoti vienkārša, komponentu komplektu var atstāt pēc noklusējuma.
Palaižam ICD, nospiežam uz flīzes „Papildu sagatavošana”, norādām projekta nosaukumu un mapi un nospiežam „Tālāk”. Nākamajā logā izvēlamies „Visas Windows versijas galddatoriem” un nospiežam „Tālāk”. Sagatavošanas pakotnes importu var izlaist, nospiežam „Gatavs”.
Atveram izpildes vides iestatījumu nolaižamo izvēlni, pēc tam atveram apakšizvēlni „AssignedAccess” un izvēlamies vienumu „MultiAppAssignedAccessSettings”. Loga ICD vidējās sekcijas augšdaļā nospiest pogu „Pārskatīt” un norādīt XML faila atrašanās vietu ar iestatījumiem. Uz veselību var saglabāt projektu, nospiežot „Ctrl+s”. Kreisajā augšējā daļā ICD izvēlamies „Eksportēt”, nolaižamajā izvēlnē izvēlamies „Sagatavošanas pakotne”. Kā īpašnieku izvēlamies „IT administrators”; uz visiem pārējiem jautājumiem var atbildēt, nospiežot „Tālāk”, un beigās nospiežam „Veidot” un „Gatavs”.
Uzstādītajā sistēmā neaizmirstiet izveidot lietotāju „User”, to nedrīkst pievienot grupai „Administratori”, citādi multikiosks nedarbosies. Es izveidoju lietotāju „Datora pārvaldē” ar neierobežotu paroles derīguma termiņu.
Tagad uzsākam sagatavošanas pakotnes palaišanu iepriekš instalētajā sistēmā. Pēc sagatavošanas pakotnes piemērošanas mainīsies sākuma izvēlne un administrators. Sākuma izvēlnē kreisajā kolonnā jāiznīcina pogas: „Dokumenti”, „Attēli”, „Iestatījumi”. Ja sākuma izvēlne nav mainījusies, tad kaut kas nav kārtībā. Uzstādīto pakotni var izdzēst, ja atver logu „Iestatījumi > Konti > Pieeja kontam no darba vai izglītības iestādes > Pievienot vai izdzēst sagatavošanas pakotni”.
Ja sākuma izvēlne ir mainījusies, tad iestatījumi ir piemēroti sistēmai, ievadiet lietotājā, kuram ir iestatīts Multikiosks, un pārbaudiet rezultātu.
Veids Nr.2
Iestatījumu piemērošana, izmantojot „MDM Bridge WMI Provider” . Šī veida ērtība ir fleksibilitāte un iespēja izvairīties no daudziem manuāliem darbiem, kas nepieciešami, lai izveidotu sagatavošanas pakotni. Šeit katrs var izveidot risinājumu, kas būs ērts tieši viņam. Es sev izveidoju šādus divus skriptus.
MiltiKiosk.bat – skripts palaišanai
@echo off
chcp 1251>nul
if not exist "%~dp0psexec.exe" call :ShowMessage "‡‡‡‡‡‡‡‡‡‡‡‡‡Lai skripts darbotos, nepieciešams fails psexec.exe‡‡Lai pabeigtu skripta izpildi, nospiediet jebkuru taustiņu"&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 Nav atrasti PS faili ar nosaukuma sākumu - "%~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 – galvenais skripts
Function ConvertEncoding ([string]$From, [string]$To) {
Begin{$encFrom = [System.Text.Encoding]::GetEncoding($From);$encTo = [System.Text.Encoding]::GetEncoding($To)}
Process{$bytes = $encTo.GetBytes($_);$bytes = [System.Text.Encoding]::Convert($encFrom, $encTo, $bytes);$encTo.GetString($bytes) -replace [char]0, ''}
}
Function ShowMessage ($Message='', $Align=0) {
Try {$Align = [decimal]$Align} Catch {Return 'Parametrs Align var tikai skaitlis' | ConvertEncoding 'windows-1251' -To 'UTF-16'}
if ($Message -is [int]) {for ($i=1; $i -le $Message; $i++) {Write-Host}; Return}
if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$Message = $Message | ConvertEncoding 'windows-1251' -To 'UTF-16'}
if ($Message -is [string]) {[array] $Message = $Message}
foreach ($String in $Message) {
Try {$String = [int]$String} Catch {}
if ($String -is [int]) {for ($i=1; $i -le $String; $i++) {Write-Host}; continue}
if ($Host.UI.RawUI.BufferSize.Width -gt $String.Length) {
if ($Align -eq 0) {Write-Host $String
} else {Write-Host ("{0}{1}" -f (' ' * (([Math]::Max(0, $Host.UI.RawUI.BufferSize.Width / $Align) - [Math]::Floor($String.Length / $Align)))), $String)}
} else {Write-Host $String}
}
}
$script:NameSpace="rootcimv2mdmdmmap"
$script:ClassName="MDM_AssignedAccess"
$script:MultiAppKiosk = Get-CimInstance -Namespace $NameSpace -ClassName $ClassName
if (-not $MultiAppKiosk) {ShowMessage -Message (3, 'Kļūda iegūstot iestatījumu objektu', 2, 'Nospiediet "Enter", lai pabeigtu skripta darbību') -Align 2; Read-Host; Exit}
Function MainMenu() {
ShowMessage (13, ' 0 - Iziet', ' 1 - Izvēlēties XML failu uzstādīšanai', ' 2 - Parādīt pašreizējo multikasīša konfigurāciju', ' 3 - Dzēst multikasīša iestatījumus', 1)
$local:PromptText = 'Izvēlieties darbību'
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, 'Konfigurācijas sākums') -Align 2; Write-Host $MultiAppKiosk.Configuration; ShowMessage -Message ('Konfigurācijas beigas', 1, 'Lai atgrieztos izvēlnē, nospiediet "Enter"', 1) -Align 2; Read-Host}
3 {$MultiAppKiosk.Configuration = $Null; Set-CimInstance -CimInstance $MultiAppKiosk; ShowMessage -Message (1, 'Dzēšanas komanda veikta', 1) -Align 2}
DEFAULT {ShowMessage 'Izvēlēta nederīga vērtība'}
}
if ($Selections -contains $Select) {Clear-Host; ShowMessage (15, ' 0 - Iziet', ' 1 - Izvēlēties XML failu uzstādīšanai', ' 2 - Parādīt pašreizējo multikasīša konfigurāciju', ' 3 - Dzēst multikasīša iestatījumus', 1)}
}
}
Function XMLSelection() {
Clear-Host
if (!(Test-Path -Path $PSScriptRoot'XML')) {ShowMessage -Message (13, 'Neatrasts katalogs', $('"'+$PSScriptRoot+'XML"'), 1, 'Nospiediet "Enter", lai atgrieztos iepriekšējā izvēlnē') -Align 2; Read-Host; Return}
$local:XMLList = @()
$XMLList += Get-ChildItem -Path $PSScriptRoot'XML' -name -filter '*.xml'
if ($XMLList.Count -eq 0) {ShowMessage -Message (13, 'XML faili katalogā neatrasti', $('"'+$PSScriptRoot+'XML"'), 1, 'Nospiediet "Enter", lai atgrieztos iepriekšējā izvēlnē') -Align 2; Read-Host; Return}
[int]$local:Indent = 13 - $XMLList.Count / 2; if ($Indent -lt 1) {$Indent = 1}
ShowMessage ($Indent, ' 0 - Atgriezties iepriekšējā izvēlnē')
for ($i=0; $i -le $XMLList.GetUpperBound(0); $i++) {Write-Host $(' '+($i+1)+' - '+$XMLList[$i])}
Write-Host
$local:PromptText = 'Izvēlieties failu uzstādīšanai'
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 $('Šī komanda tiek lietota iestatījumiem no faila '+$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 ('Izvēlēta nederīga vērtība')}
}
}
}
MainMenuJa, ja vēlaties izmantot manu risinājumu, saglabājiet augstāk minētos skriptus vienā mapē ar to oriģinālajiem nosaukumiem un šajā pašā mapē ievietojiet failu "PsExec.exe". Tajā pašā mapē izveidojiet mapi "XML" un kopējiet tajā XML failus, lai konfigurētu multipunkta kiosku. Es izmantosiu to pašu failu, ko izmantoju pirmajā veidā.
MultiAppKiosk.xml
<![CDATA[
]]>
UserMazliet par skripta īpašībām. Skripts ir paredzēts XML failu izmantošanai ar kodēšanu "UTF8"; ja vēlaties izmantot "ANSI" kodējumu, tad no faila lasīšanas parametra izņemiet parametru "encoding UTF8". Mapē "XML" jānovieto XML faili bez simbolu maiņas, skripts pats aizvietos speciālos simbolus ar atbilstošajām apzīmējumiem. Lai nesajauktu GUID lietotāju piesaistes ar profiliem, jūs varat vienkārši norādīt lietotāja numuru vai vārdu izsaukuma iekavās, viss saturs izsaukuma iekavās tiks aizvietots ar GUID.
Izmantot skriptu ir ļoti vienkārši, vienkārši palaidiet to un izvēlieties nepieciešamo punktu. Lai mainītu pašreizējo konfigurāciju uz jauno, nav obligāti jāizdzēš esošā, tā tiks pārrakstīta. Neaizmirstiet izveidot lietotājus, kas norādīti konfigurācijas failā.
Pārskatot pašreizējo multipunkta kioska konfigurāciju tajā pašā sesijā, kurā tā tika piemērota, speciālie simboli tiks attēloti kā aizvietojošu simbolu secība. Pēc sesijas maiņas (skripta pārstartēšanas) visi speciālie simboli tiks attēloti oriģinālajā izskatā.
7. solis – sistēmas aizvēršana
Multipunkta kiosks strādā, nu, it kā viss būtu kārtībā…
Ja viss notiek pēc plāna, tad jūs kaut ko nepamanāt.
Neaizmirstam, ka mums vēl jāmaina sistēmas režīms no audita uz sveiciena režīmu. Nu, mēs taču esam tam gatavi, palaidīsim "Sysprep.bat", izvēlamies punktu 2, sistēma tiek aizvērta. Ieslēdzam ierīci, sistēma ielādējas, ienākam lietotāja kontā, priekš kuras ir konfigurēts multipunkta kiosks, un nevaram piekļūt. Pēc uzraksta "Laipni lūdzam" parādās uzraksts "Iziet no sistēmas".
Pirmkārt, es gribēju aprakstīt tikai problēmu risinājumu, bet vēlāk nolēmu aprakstīt soļus problēmas identificēšanā un visvienkāršākā risinājuma meklēšanā, jo noteikti daudziem lasītājiem radīsies neskaidrības – „Bet, ja tā…”. Es domāju, ka dažādu eksperimentu apraksts ietaupīs jums ievērojamu laiku, ja vēlēsieties atrast citu risinājumu. Lai informācija būtu maksimāli precīza un lai vēlreiz pārliecinātos par kļūdu neesamību, eksperimentu aprakstus veidošu formātā „izdarīju – pierakstīju”. Proti, es veicu aprakstītās eksperimentus vēlreiz.
Eksperimenti
Ko mēs esam ieguvuši. Sistēmā ir divas lietotāja konti:
„Admin” – grupā „Administratori”
„User” – grupā „Lietotāji”
Auditā multikioskā strādāja, bet, kad to aizsargājām – nedarbojas.
Eksperiments 1
Izņemam instalēto sagatavošanas paketi, konsolē „Datora pārvaldība” izņemam lietotāju „User” un izveidojam jaunu lietotāju ar vārdu „User”, piemērojam sagatavošanas paketi, ieejam „User” kontā – nedarbojas. Ieejam ar „Admin” vārdu, izņemam lietotāju „User” no „Lietotājiem”, pievienojam to grupai „Administratori”, ieejam ar „User” vārdu – nedarbojas. Ieejam ar „Admin” vārdu, izņemam sagatavošanas paketi no multikiosk, ieejam ar „User” vārdu – izdevās iekļūt, bet, protams, multikiosk režīms nedarbojas, jo sagatavošanas pakete ir izņemta.
Eksperiments 2
Augšupielādējam sistēmas attēlu – rusificētu auditā.
Operētājsistēma ir ieslēgta, nospiežam «Win+r», jo sysprep logs automātiski aizvēra, izpildām komandu «sysprep», atvērtajā logā palaidīsim «sysprep». Sysprep iestatījumi logā: «Pāreja uz sistēmas sveiciena logu (OOBE)», «Sagatavot izmantošanai», «Restartēšana». Nospiediet «OK» un gaidiet operētājsistēmas sveicienu. Atbildiet uz jautājumiem, kad sistēma tiek pirmo reizi ielādēta: «Turpināt izvēlētajā valodā?» – «krievu»; reģions – Krievija; tastatūras izkārtojums – Krievu; pievienot otro tastatūras izkārtojumu – izlaižam; «Ļaujiet mums savienot jūs ar tīklu» – «Pagātnē izlaižam»; savienojieties ar internetu – nē; licences līgums – piekrist; «Kurš izmantos šo datoru» – «Test»; paroles izveide – atstāju lauku tukšu; ērta darbība dažādos ierīcēs – nē; privātuma iestatījumi – piekrist. Operētājsistēma ir ieslēgta, rīku «Datora pārvaldība» izveidojam lietotāju ar vārdu «User», pievienojam sagataves paketi. Rezultāts – nedarbojas.
Eksperiments 3
Augšupielādējam sistēmas attēlu – rusificētu auditā.
Operētājsistēma ir ieslēgta, pieslēdzam sistēmu internetam, izpildām komandu «gpedit.msc» un sadaļā «Windows atjauninājumu centrs» iestatām parametru «Ieslēgt ieteiktos atjauninājumus, izmantojot automātisko atjaunināšanu», gadījumam, ja nepieciešams, restartējam. Atjauninājumu centrā nospiežam «Pārbaudīt atjauninājumus» un restartējam, līdz visi atjauninājumi ir instalēti. Atvienojam sistēmu no interneta. Palaižam «sysprep» grafiskajā režīmā un atkārtojam visas darbības, kas aprakstītas iepriekšējā solī sākotno utilītu «sysprep» līdz sagataves paketes pievienošanai. Rezultāts – nedarbojas.
Eksperiments 4
Ielādējam sistēmas attēlu – angliski auditā.
Palaižam «sysprep» grafiskajā režīmā, noslēdzam OS ar tiem pašiem parametriem, kā eksperimentā 2. Pirmās ielādes laikā izvēlamies tos pašus parametrus, kā eksperimentā 2, izņemot reģionālās un valodas parametrus, jo krievu valoda nav pieejama. Tādā pašā veidā izveidojam lietotāju «User» un pievienojam sagataves paketi. Rezultāts – darbojas. T.i., problēma ir saistīta ar lokalizāciju.
Eksperiments 5
Augšupielādējam sistēmas attēlu – rusificētu auditā.
Rīkā «Datora pārvaldība» izveidojam lietotāju «User», pievienojam sagataves paketi, ieejam lietotāja «User» kontā, multibiļetes sistēma darbojas.
Iziet no konta, ieejam ar kontu «Admin». Palaižam PowerShell ar administratora tiesībām, izpildām komandu «Dism /online /Get-Intl» un redzam «Noklusētais lietotāja saskarnes valoda: en-US».
Ielādējamies no zibatmiņas WinPE, uz manas E diskā ir izvērsta OS. Izpildām komandu «Dism /image:E: /Set-UILang:ru-ru». Skatāmies rezultātu, izpildām «Dism /image:E: /Get-Intl» un redzam «Noklusētā sistēmas UI valoda: ru-RU».
Ielādējamies sistēmā, ieejam kontā «User», multikiosk nestrādā.
Lai precīzi fiksētu cēloņsakarību problēmas rašanās gadījumā, vēlreiz mēģināsim darboties ar multikiosk, padarot to strādājošu un nestrādājošu.
Ielādējamies no zibatmiņas WinPE, uz manas E diskā ir izvērsta OS. Izpildām komandu «Dism /image:E: /Set-UILang:en-us». Skatāmies rezultātu, izpildām «Dism /image:E: /Get-Intl» un redzam «Noklusētā sistēmas UI valoda: en-US».
Ielādējamies sistēmā, ieejam kontā «User», multikiosk strādā.
Ielādējamies no zibatmiņas WinPE, uz manas E diskā ir izvērsta OS. Izpildām komandu «Dism /image:E: /Set-UILang:ru-ru». Skatāmies rezultātu, izpildām «Dism /image:E: /Get-Intl» un redzam «Noklusētā sistēmas UI valoda: ru-RU».
Ielādējamies sistēmā, ieejam kontā «User», multikiosk nestrādā.
T.i., var redzēt skaidru atkarību starp kioska darbspēju un noklusētās lietotāja saskarnes valodas vērtību. Varbūt ir vēl citi faktori, kas ietekmē multikiosk darbspēju?
Eksperiments 6
Eksperimenta tīrības labad pārinstalējam sistēmu. Ielādējam sistēmas attēlu – krieviski lokalizētu auditora režīmā.
Palaižam «sysprep» grafiskajā režīmā, uzliekam OS ar tiem pašiem parametriem kā eksperimentā 2. Gaidām sistēmas sveicienu un atbildam uz jautājumiem: «Turpināt izvēlētajā valodā?» – «English (United States)»; reģions – Krievija; klaviatūras izkārtojums – Krievu. Pārējie parametri izvēlēti tāpat kā eksperimentā 2.
Skatāmies noklusētās lietotāja saskarnes valodas vērtību. Izpildām komandu «Dism /online /Get-Intl» un redzam «Noklusētā sistēmas UI valoda: en-US». Datoru pārvaldības rīkā izveidojam lietotāju «User», pievienojam sagataves paketi, ieejam kontā «User», multikiosk strādā.
Mēģinām sabojāt kiosk, mainot noklusētās lietotāja saskarnes valodu. Ieejam lietotājā «Test», kas tika izveidots pirmās sistēmas ielādes laikā, un ieslēdzam automātisko ielādēšanu, lai sistēma nekavējoties netiek ielādēta kontā «User». Izpildām «netplwiz», izvēlamies lietotāju «Test», noņemam atzīmi «Nepieciešams ievadīt lietotājvārdu un paroli» un piemērojam parametrus.
Booting from a flash drive into WinPE. Execute the command “Dism /image:E: /Set-UILang:lv-lv”. Check the result, run “Dism /image:E: /Get-Intl” and see “Default system UI language: lv-LV”.
Booting into the system, trying to log into the account “User”, the kiosk mode works. That is, it cannot be broken. But can it be made to work this way?
Experiment 7
Augšupielādējam sistēmas attēlu – rusificētu auditā.
Run “Sysprep.bat”, select option 2. Boot into the system, in the “Computer Management” snap-in create a user “User”, add a preparation package, log into the account “User”, the kiosk mode does not work.
Booting from a flash drive into WinPE. Execute the command “Dism /image:E: /Set-UILang:en-us”. Check the result, run “Dism /image:E: /Get-Intl” and see “Default system UI language: en-US”.
Booting into the system, trying to log into the account “User”, the kiosk mode does not work.
It turns out that by changing the default user interface language setting, we can influence the functionality of the kiosk mode only when the system is in audit mode or during the first boot after sealing the system. This means that we will have to seal the system with an answer file that will select English as the system language, and then change the system settings so that the interface is in Latvian. Not a very good solution. Perhaps the problem can be solved by installing a language pack or additional language packs?
Experiment 8
Ielādējam sistēmas attēlu – angliski auditā.
Connect to the internet, go to system settings in the “Language” section, select “Add language”, choose the language “Latvian”, click “Next”, leave the installation options as default, click “Install”, after the language pack installation, restart the system, now it is localized in Latvian. Disconnect the system from the internet, run “Sysprep.bat”, select option 2.
After loading the system in the “Computer Management” snap-in create a user “User”, add a preparation package, log into the account “User”, the kiosk mode does not work.
Experiment 9
Let's try to localize the system before installation, in offline mode. At the same time, there will be a short tutorial on localizing the distribution.
Paņemu zibatmiņu ar tīru oriģinālo izplatījumu – X21-96381. Tā būs disks «E». Lai montētu attēlus, izveidoju mapes: «c:MountInstall», «c:MountWinre», «c:MountBoot». Paņemu lokalizācijas pakotņu komplektu – X21-87814. Un mapē «c:Mount» kopēju no tā pakotnes: «Microsoft-Windows-Client-Language-Pack_x86_lv-lv.cab», «lp.cab», «WinPE-Setup_lv-lv.cab». Atveru konsoli ar administratora tiesībām. Domāju, ka turpmākās komandas būs saprotamas bez komentāriem.
Lokalizācijas komandas
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_lv-lv.cabcode
dism /Image:Installcode /Set-AllIntl:lv-lv
dism /Image:Install /Set-TimeZone:"Latvia 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:lv-lv
dism /Image:Winre /Set-TimeZone:"Latvia Standard Time"code
dism /Unmount-Image /MountDir:Winre /Commitcode
dism /Image:Install /Gen-LangINI /distribution:E: /Set-AllIntl:lv-LVcode
dism /image:Install /Set-SetupUILang:LV-lv /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:lv-lv
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_lv-lv.cabcode
dism /Image:Bootcode /Set-AllIntl:lv-lv
copy e:sourceslang.ini Bootsourceslang.ini /ycode
dism /Unmount-Image /MountDir:Boot /CommitIelādējaties no zibatmiņas, izvēlaties latviešu valodu un instalējat sistēmu uz tukša diska. Kad sistēma prasa izvēlēties reģionu, nospiediet «Ctrl+Shift+F3». ‘Datoru pārvaldības’ rīkā izveidojiet lietotāju «User», pievienojiet sagatavošanas pakotni, ieejiet kontā «User», multikioskums nedarbojas.
Ielādējaties no zibatmiņas WinPE. Izpildiet komandu «Dism /image:E: /Set-UILang:en-us».
Ielādējaties sistēmā, mēģinot ieiet kontā «User», multikioskums darbojas.
Iespējams, ka problēma nav pakotņu pievienošanas metodēs, mēģināsim pievienot papildu pakotnes.
Eksperiments 10
Paņemu zibatmiņu, kuru sagatavojām iepriekšējā solī.
Paņemu pakotni «Feat on Demand» – X21-87815. Mapē «c:Mount» kopēju no tā pakotnes: «Microsoft-Windows-LanguageFeatures-Basic-lv-lv-Package~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-LanguageFeatures-OCR-lv-lv-Package~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-LanguageFeatures-Handwriting-lv-lv-Package~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-LanguageFeatures-TextToSpeech-lv-lv-Package~31bf3856ad364e35~x86~~.cab».
Izvēlamies paketi «Feat on Demand RDX Updt» – X21-99781. Mapē «c:Mount» kopējam no tās paketes: «Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-RetailDemo-OfflineContent-Content-lv-lv-Package~31bf3856ad364e35~x86~~.cab».
Palaidiet konsoli ar administratora tiesībām un izpildiet komandas:
Komandas
cd c:mount
dism /Mount-Wim /WimFile:e:sourcesinstall.wim /index:1 /MountDir:Install
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Basic-lv-lv-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-OCR-lv-lv-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Handwriting-lv-lv-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-TextToSpeech-lv-lv-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-lv-lv-Package~31bf3856ad364e35~x86~~.cab
dism /Unmount-Image /MountDir:Install /CommitPalaidām no USB, izvēlamies latviešu valodu un instalējam sistēmu uz tīra diska. Kad sistēma prasa izvēlēties reģionu, nospiežam «Ctrl+Shift+F3». Izmantojam rīku «Datora pārvaldība», lai izveidotu lietotāju «User», pievienojam sagatavošanas paketi un ieejam lietotāja «User» kontā. Saņēmu melnu ekrānu, kurš ilgi karājās, tāpēc veicu karsto restartēšanu.
Noņemam sagatavošanas paketi, ieejam zem lietotāja «User», restartējam sistēmu, pievienojam sagatavošanas paketi, multimediju kiosks nedarbojas.
Ielādējaties no zibatmiņas WinPE. Izpildiet komandu «Dism /image:E: /Set-UILang:en-us».
Ielādējaties sistēmā, mēģinot ieiet kontā «User», multikioskums darbojas.
Problēmas apiet.
Normāli varoņi. Vienmēr iet apkārt!
Dažādi lokalizācijas pakotņu uzstādīšanas veidi nerisināja problēmu, tāpēc būs jāsāk pirmās ielādes laikā pēc iepakošanas, izvēloties valodu «en-us», un pēc pirmās ielādes jāmaina valodas iestatījumi.
Augšupielādējam sistēmas attēlu – rusificētu auditā.
Failā «Unattend.xml» parametru ierakstām «en-US», palaidām «Sysprep.bat», izvēlamies 2. punktu un skatāmies, kas mums ir iznācis. Laipnā ekrāns angļu valodā, multimediju kiosks strādā. Tātad nepieciešams pievienot «Unattend.xml» komandu ekrāna valodas maiņai. Lai to izdarītu, jāveic komanda «control intl.cpl,,/f:» ar konfigurācijas faila norādīšanu, kurā tiks ierakstīti pašreizējo iestatījumu kopēšana laipnā ekrānā. Konfigurācijas faila saturs izskatīsies šādi.
Tā kā tiks dublētas pašreizējā lietotāja iestatījumi, komanda jāizpilda pēc lietotāja pieslēgšanās sistēmai, kas nozīmē, ka mums tās nepieciešamas. Ir viena neliela „bet”: izpilde notiks pēc administratora tiesību ieguvšanas. Man negribētos izveidot papildu failu, kas būs nepieciešams komandas veikšanai. Labāk visu risinājumu realizēt vienā failā — „Unattend.xml”. Tāpēc vienkārši jāizpilda komanda, kas izveido konfigurācijas failu. Domāju, ka izveidošu konfigurācijas failu, izmantojot komandu „echo” vidē „cmd”, bet šajā vidē ir jāizvērtē leņķiskās ķemmītes ar cirkumfleksu. T.i., lai izveidotu konfigurācijas failu, būs šāda komanda.
echo ^^^^^>Config.xmlTomēr šo komandu nepieciešams iekļaut XML, kuram ir savas prasības attiecībā uz speciālajiem simboliem:
Speciālsimbols
Aizvietojošā vērtība
>
>
<
<
&
&
‘
'
“
"
Tāpēc, lai izveidotu konfigurācijas failu, šāda komanda iznāca „FirstLogonCommands”.
cmd.exe /c echo ^^^^^^>"%TMP%Config.xml"Pēc tam izpildām komandu, izmantojot konfigurācijas failu.
control intl.cpl,,/f:"%TMP%Config.xml"Pēc tam dzēšam iepriekš izveidoto failu un pārstartējam sistēmu, jo izmaiņas stāsies spēkā pēc pārstartēšanas.
cmd.exe /c del "%TMP%Config.xml" /q&shutdown /r /f /t 00Tādējādi man izveidojās šāds atbilžu fails sysprep’ā.
Unattend.xml
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f
1
Nepareiz pārādīt atslēgas lapu
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f
2
Nepareiz veidot kontu
cmd.exe /c rd %systemdrive%Sysprep /s /q
3
Dzēst mapi
true
Admin
en-US; lv-LV
lv-LV
en-US
lv-LV
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"
IzveidotKonfigurāciju
1
control intl.cpl,,/f:"%TMP%Config.xml"
IzmantotKonfigurāciju
2
cmd.exe /c del "%TMP%Config.xml" /q&shutdown /r /f /t 00
DzēstKonfigurāciju
3Pārbaudām…
Augšupielādējam sistēmas attēlu – rusificētu auditā.
Mainām failu Unattend.xml uz jauno, palaidām «Sysprep.bat», izvēlamies 2. punktu un skatāmies, ko esam ieguvuši. Pirmajā ielādēšanas reizē sveiciena ekrāns ir angļu valodā, sistēma restartējas. Sveiciena ekrāns krievu valodā, multikiosk darbojas.
Ja jums ir jautājumi par Windows 10 IoT Enterprise iestatīšanu un licenci, lūdzu, sazinieties ar vai mājaslapu .
Atbildes uz dažiem jautājumiem varat atrast vai mūsu
Raksta autors: Borisenkov Vladimirs, tehniskais eksperts uzņēmumā Kvarta Tehnoloģijas.
Avots: habr.com
