Windows 10 IoT Enterprise 2019 - բազմաբնակարան կրպակի ռեժիմ

Ներածություն

Windows 10 IoT Enterprise 2019 թ Windows 10-ի հաջորդ թողարկման մարքեթինգային անվանումն է: Այս տարբերակի թողարկման մասին հայտարարվել է 2018 թվականի սեպտեմբերին, համապատասխանաբար, այն ունի 1809 տարբերակ, 18-ը տարին է, 09-ը՝ ամիսը: Windows 10 1809-ի նոր թողարկման մասին շատ հոդվածներ են գրվել, սակայն դրանց մեծ մասը նվիրված է տարբեր «աղեղների», «գեղեցկների» և տարբեր ֆունկցիոնալությունների, որոնք պահանջված են տանը:
Այս հոդվածը կքննարկի միայն ֆունկցիոնալությունը, որը կարող է պահանջարկ ունենալ ֆիքսված նշանակության սարքերի արտադրողների շրջանում: Մասնավորապես՝ «Կրպակ» ռեժիմի նոր հնարավորությունների մասին։ Կանդրադառնա նաև ձեռնարկության հատվածի Windows հրատարակությունների սպասարկման սխեմաների անվանումների փոփոխման թեմային։

Հին սպասարկման սխեման նոր անունով

Սկսեմ կարճ բացատրությունից. Windows-ի խմբագրությունների կորպորատիվ հատվածում կան սպասարկման երկու սխեմաներ, որոնց համաձայն Windows-ը թարմացումներ է ստանում։ Սպասարկման գծապատկերներն ունեն տառային նշում: Ներկայումս սպասարկման մասնաճյուղերը կոչվում են LTSC և SAC:

LTSC-ն նշանակում է Երկարաժամկետ սպասարկման ալիք (երկարատև սպասարկմամբ): Նախկինում նման ալիքը կոչվում էր LTSB - Long Term Servicing Branch, Microsoft-ը պարզապես փոխեց սպասարկման ալիքի անունը, ծառայությունն ինքը մնաց նույնը:

Microsoft-ը փոխել է նաև սպասարկման մասնաճյուղի անվանումը CBB - Current Branch for Business, այժմ ծառայության այս մասնաճյուղը կոչվում է SAC - Կիսամյակային ալիք. Կրկին փոխվել է միայն անունը։

Բայց պետք է նշել, որ LTSC և SAC սպասարկման մասնաճյուղերն օգտագործում են Windows-ի տարբեր բաշխումներ։

Մի փոքր SAC-ի նոր կրպակի ռեժիմի մասին

Ինչպես արդեն ասացի, LTSC-ն և SAC-ն ունեն տարբեր բաշխումներ: LTSC-ն չունի ստանդարտ ունիվերսալ հավելվածներ կամ հավելվածների խանութ, բայց SAC-ն ունի: Համապատասխանաբար, LTSC-ն չունի Edge բրաուզեր, բայց SAC-ն ունի: Եթե ​​կրպակ տեղադրելիս ընտրեք Edge դիտարկիչը, ապա այժմ հասանելի է երկու ռեժիմ.

  1. Որպես թվային նշան կամ ինտերակտիվ ցուցադրություն
  2. Հանրային բրաուզերի նման

Ես չեմ անդրադառնա այս ռեժիմների տեղադրման վրա, քանի որ... Կարգավորումը շատ պարզ է և կատարվում է գրաֆիկական ինտերֆեյսի միջոցով: Պարզապես ստեղծեք օգտատեր, որը Ադմինիստրատորների խմբի անդամ չէ, միացրեք նրա համար կրպակի ռեժիմը՝ օգտագործելով EDGE և տեսեք, թե ինչպես են աշխատում այս ռեժիմները:

Կրպակ՝ բազմաթիվ հավելվածներով

Որոշ մարդիկ կարծում են, որ լիցենզավորված օգտագործումը Windows 10 IoT ձեռնարկություն ենթադրում է սարքի վրա միայն մեկ հավելվածի գործարկում, իրականում դա այդպես չէ։ Սարքը պետք է նախագծված լինի մեկ բիզնես առաջադրանք կատարելու համար, և օգտագործողը չպետք է մուտք ունենա աշխատասեղան: Այժմ Microsoft-ն ինքը գործիք է տվել բազմաթիվ հավելվածներ օգտագործելու համար։ Այս ռեժիմը կոչվում է «մուլտի-հավելված կրպակ», այսուհետ, հակիրճ լինելու համար, ես այն կանվանեմ «մուլտիկիոսկ»: Այս հոդվածում մենք կքննարկենք այս ռեժիմի կարգավորումը՝ օգտագործելով ծրագրային փաթեթը և այս ռեժիմի որոշ առանձնահատկություններ:

Մի փոքր Multikiosk ռեժիմի մասին

Երբ մուտք եք գործում օգտվողի հաշիվ, որի համար կազմաձևված է բազմակի կրպակային ռեժիմ, համակարգը կաշխատի պլանշետային ռեժիմում: «Սկսել» ընտրացանկը կընդլայնվի մինչև ամբողջական էկրան՝ ցուցադրելով հավելվածի սալիկները:

Հիմնական պարամետրերի և ռեժիմի հնարավորությունների ցանկը.

  1. Կարգավորում մի քանի օգտվողների կամ խմբերի համար
  2. Յուրաքանչյուր օգտագործողի կամ խմբի կարող է նշանակվել անհատական ​​կարգավորումներ
  3. Ունիվերսալ և դասական հավելվածներ օգտագործելու ունակություն
  4. Ծրագրերից մեկը ավտոմատ կերպով գործարկելու ունակություն, երբ օգտվողը մուտք է գործում
  5. Սպիտակ ցուցակում նշված հավելվածները
  6. Թղթապանակներ մուտք գործել՝ օգտագործելով սպիտակ ցուցակը

Արժե ուշադրություն դարձնել 5-րդ կետին: Լռելյայն, միայն այն հավելվածները, որոնք անհրաժեշտ են համակարգի գործարկման համար, կթույլատրվեն աշխատել, այլ հավելվածներ պետք է ավելացվեն թույլատրվածների ցանկին: Նրանք. Այժմ ձեզ հարկավոր չէ առանձին կարգավորել AppLocker-ը: Ի դեպ, AppLocker-ի կարգավորումների հետ կոնֆլիկտներից խուսափելու համար բազմակրպակի ռեժիմում AppLocker-ի բոլոր կազմաձևված կանոնները չեն գործի:

6-րդ կետը ցույց է տալիս լավ տարբերակ, բայց այս պահին հնարավոր է միայն «Ներբեռնումներ» թղթապանակին գրելու թույլտվություն տալ: Ռեժիմը թույլ է տալիս օգտագործել ունիվերսալ և դասական հավելվածներ: Բոլոր ռեժիմի կարգավորումները նշված են XML ֆայլում, որում կարող եք նաև նշել մեկ հավելվածի կրպակի կարգավորումները:

Հիմա փորձենք ամեն ինչ կարգավորել...

Մեզ ինչ է պետք...

  1. Նախևառաջ մեզ անհրաժեշտ է ինքնին համակարգը, որն աջակցում է մուլտիկիոսկի ռեժիմին: Այստեղ կարող եք ներբեռնել դեմո տարբերակ
  2. Multikiosk տեղադրելու ցուցումներ
  3. Ցանկացած XML խմբագիր
  4. Multikiosk-ի կարգավորումները կիրառելու համար՝
    1. Թիվ 1 մեթոդի համար - ICD, որը ADK-ի մաս է կազմում: ADK հնարավոր է բեռնել այստեղ
    2. Թիվ 2 մեթոդի համար՝ PsExec կոմունալը: Կոմունալը կարող է լինել բեռնել այստեղ

Նա ասաց. «Գնանք»:

Ես բոլոր փորձերը կանցկացնեմ Windows 10 IoT Enterprise 1809 LTSC x32 կոմերցիոն տարբերակի վրա, ոչ թե ցուցադրական տարբերակի: Համակարգը չի ակտիվանա, քանի որ ակտիվացման բացակայությունը չի ազդում համակարգի ֆունկցիոնալության վրա: Ես վերցրեցի 32 բիթ միայն այն պատճառով, որ այն ավելի քիչ տեղ է զբաղեցնում և ավելի արագ կլինի աշխատել համակարգի պատկերների հետ:

Քայլ 1 - տեղադրում

Win 10 IoT Enterprise-ի տեղադրումը ոչնչով չի տարբերվում Win 10 Enterprise-ի տեղադրումից, այնպես որ ես չեմ նկարագրի տեղադրման ամբողջ գործընթացը, ես կխոսեմ միայն որոշ նրբերանգների մասին:

Համենայն դեպս, հիշեցնեմ, համակարգը մի տեղադրեք տեղադրվածի վրա։ Երբ տեղադրողը հարցնում է համակարգի տեղադրման վայրի մասին, ջնջեք բոլոր բաժանմունքները ապագա համակարգի սկավառակի վրա և նշեք չբաժանված սկավառակ:

Մենք համակարգը տեղադրում ենք առանց ինտերնետ կապի, որպեսզի համակարգը ավելորդ բան չհանի:

Որովհետեւ Մենք կստեղծենք համակարգի կրկնօրինակ պատկերները, և դրա համար մենք այն կկնքենք աուդիտի ռեժիմում, այնուհետև կարող եք խնայել որոշ ժամանակ՝ տեղադրվելուց անմիջապես հետո համակարգը բեռնելով աուդիտի ռեժիմում: Դա անելու համար, երբ համակարգը ձեզ խնդրում է ընտրել տարածաշրջան «Սկսենք տարածաշրջանից: Արդյո՞ք դա ճիշտ է», պարզապես սեղմեք «Ctrl+Shift+F3»:

Քայլ 2 - ստեղծել համակարգի պատկեր

Որովհետեւ մենք կծաղրենք համակարգը և կփորձենք տարբեր նոր կարգավորումներ, հնարավոր է, որ ինչ-որ բան սխալ լինի, և մեզ անհրաժեշտ լինի համակարգը վերադարձնել իր սկզբնական վիճակին: Իսկ սկզբնական վիճակին արագ վերադառնալու համար անհրաժեշտ է ստեղծել համակարգի պատկեր: Միակ բանը, որ ես կանեմ, պատճենել «ջենթլմենի հանդերձանքը»՝ սցենարը և պատասխանի ֆայլը: Իմ բոլոր ֆայլերը գտնվում են «Sysprep» պանակում, որը ես պատճենում եմ համակարգի սկավառակի արմատին: Եվ բնականաբար, ես ձեզ հետ կկիսվեմ այս «ջենթլմենների հավաքածուով»:

Sysprep.bat – համակարգը կնքելու համար:

@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 :eof

Երբ գործարկվի, սցենարը կստուգի «Admin» հաշվի առկայությունը և կստեղծի այն, եթե այն բացակայում է: Հաշիվը կավելացվի Ադմինիստրատորների խմբին:

Unattend.xml – պատասխան ֆայլ sysprep-ի համար:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="specialize">
        <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Path>reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f</Path>
                    <Order>1</Order>
                    <Description>Dont show key page</Description>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Path>reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
                    <Order>2</Order>
                    <Description>Dont make account</Description>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Path>cmd.exe /c rd %systemdrive%Sysprep /s /q</Path>
                    <Order>3</Order>
                    <Description>Del Folder</Description>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <AutoLogon>
                <Enabled>true</Enabled>
                <Username>Admin</Username>
            </AutoLogon>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>en-US; ru-RU</InputLocale>
            <SystemLocale>ru-RU</SystemLocale>
            <UILanguage>ru-RU</UILanguage>
            <UILanguageFallback></UILanguageFallback>
            <UserLocale>ru-RU</UserLocale>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <ProtectYourPC>1</ProtectYourPC>
            </OOBE>
        </component>
    </settings>
</unattend>

Աուդիտի ռեժիմում կնքելիս սկրիպտը կավելացնի հրաման գրանցամատյանում «sysprep.exe» գործընթացն ավարտելու համար, որպեսզի ամեն անգամ ձեռքով չփակվի sysprep պատուհանը: Բարև ռեժիմում կնքվելիս սկրիպտը կհեռացնի պատուհանը փակելու հրամանը ռեեստրից և ինքն իրեն կփոխի պատասխանի ֆայլի ճարտարապետության արժեքը ներկայիս արժեքին: Պատասխանների ֆայլը պարունակում է պարամետրեր՝ համակարգը բեռնելու համար՝ առանց օգտվողի փոխազդեցության, և հրաման՝ «Sysprep» թղթապանակը համակարգի սկավառակի արմատից ջնջելու համար:

Այժմ ես կկնքեմ համակարգը աուդիտի ռեժիմում՝ օգտագործելով «Sysprep.bat» և կնկարահանեմ համակարգի պատկերը: Ես կպատկերեմ համակարգը՝ օգտագործելով DISM և կպատկերեմ միայն համակարգի ծավալը: Եթե ​​դուք պատկերում եք միայն համակարգի ծավալը, և ոչ ամբողջ սկավառակը, ապա մի մոռացեք պատճենել «WindowsSystem32Recovery» գրացուցակի բովանդակությունը առաջին հատորում «RecoveryWindowsRE» թղթապանակում՝ համակարգը տեղակայելուց հետո: Դա պետք է արվի նախքան ՕՀ-ը բեռնելը: ՕՀ-ը բեռնելուց հետո «WindowsSystem32Recovery» գրացուցակը արդեն դատարկ կլինի:

Քայլ 3 – Համակարգի ռուսացում

Լեզվի փաթեթը կարող է տեղադրվել առանց ինտերնետ կապի, եթե ունեք այս փաթեթը: Եթե ​​ոչ, ապա համակարգն ինքը կներբեռնի այն ինտերնետից, երբ լեզուն ավելացնեք կարգավորումներում: Պարզապես պետք չէ վերցնել լեզվական փաթեթը ՕՀ-ի նախորդ տարբերակներից: Windows 10 1809-ի համար պետք է լինի լեզվական փաթեթ հատուկ Windows 10 1809-ի համար:

Microsoft-ը հետևում է կարգավորումները դասական ընտրացանկից նորին աստիճանաբար փոխանցելու իր ծրագրին, ուստի դասական կառավարման վահանակում այլևս չեք գտնի լեզուն փոխելու և լեզվական փաթեթ տեղադրելու կարգավորումներ: Այս կարգավորումներն այժմ միայն համակարգի պարամետրերում են:

Աուդիտի ռեժիմում դուք կարող եք բախվել «Սկսել» ընտրացանկից համակարգի կարգավորումները բացելու հետ կապված խնդրի հետ; համակարգի կարգավորումները բացելու համար գործարկեք «ms-settings:» հրամանը, ուշադրություն դարձրեք հրամանի վերջում գտնվող երկու կետին, առանց դրա հրամանը կկատարվի: չի աշխատում. Համակարգի պարամետրերը մեկ անգամ օգտագործելով այս հրամանը բացելուց հետո այն կարելի է բացել գրաֆիկական մենյուի միջոցով:

Բայց համակարգի կարգավորումներում դուք կարող եք տեղադրել լեզվական փաթեթ, եթե համակարգը միացված է ինտերնետին, տեղական ֆայլից լեզվի փաթեթ տեղադրելու տարբերակ չկա:

Չեմ նկարագրի համակարգի տեղայնացման գործընթացը, քանի որ... դա զգալիորեն կբարդացնի հոդվածը, հատկապես, որ տեղայնացման գործընթացը մանրամասն է նկարագրված է այստեղ. Բայց ես կցանկանայի ձեր ուշադրությունը հրավիրել համակարգի լեզվի փոփոխման առանձնահատկությունին վահանակի միջոցով լեզվի փաթեթ տեղադրելուց հետո: Այս հատկությունը նկարագրված է նույն վիքիում, որին ես ավելի վաղ հղում էի տվել՝ ենթաբաժնում «Լեզուների ցանկին լեզու ավելացնելը».

Ես կտեղադրեմ լեզվի փաթեթը առանց ինտերնետ կապի:

Համակարգի ամբողջական տեղայնացումից հետո համոզվեք, որ ստեղծեք համակարգի պատկերը:

Քայլ 4 - Տեղադրեք անհրաժեշտ հավելվածները

Որովհետեւ Քանի որ LTSB և LTSC համակարգերը չունեն հավելվածների խանութ, Microsoft Store-ից հավելվածների տեղադրումը որոշակի դժվարություններ է առաջացնում, մասնավորապես՝ հավելվածը ներբեռնելու համար: Հավելվածներ ներբեռնելու համար Adguard ընկերությունը ստեղծել է շատ հարմար ծառայություն. «Adguard Store», որի միջոցով կարող եք ստանալ հավելվածների և դրանց բաղադրիչների ներբեռնման ժամանակավոր հղումներ։

Հավելվածը տեղադրելու համար ձեզ հարկավոր են «Appx» և «AppxBundle» ընդլայնումներով ֆայլեր: Նախքան հավելվածն ինքնին տեղադրելը, դուք պետք է տեղադրեք դրա բաղադրիչները: Որպես կանոն, հավելվածի բաղադրիչները կարող են ինտուիտիվ կերպով տարբերվել ֆայլի անունով:

Հոդվածը շատ չերկարացնելու համար ես մանրամասն չեմ նկարագրի հավելվածների տեղադրման գործընթացը, մանավանդ որ տեղադրման մասին տեղեկություններ կան. մանրամասն հրահանգներ. Բայց ես կավելացնեմ ևս մեկ միջոց՝ հավելվածները ձեր ընթացիկ հաշվի մեջ տեղադրելու համար: Ծրագրերը կարող են տեղադրվել ծրագրի միջոցով «Հավելվածի տեղադրող», բայց հավելվածներ տեղադրելու համար ձեզ հարկավոր է ինտերնետ կապ, բայց հավելվածները կարող են տեղադրվել կրկնակի սեղմումով, և դրա բաղադրիչները ձեզ պետք չեն, բոլոր անհրաժեշտ բաղադրիչները կներբեռնվեն և կտեղադրվեն։ «Հավելվածի տեղադրող».

Եվ մի փոքրիկ հիշեցում, երբ հավելվածը ընթացիկ հաշվի մեջ տեղադրեք, դուք չեք կարողանա կնքել համակարգը: Ինչպես տեղադրել հավելվածները, որպեսզի կարողանաք կնքել համակարգը, տես վերը նշված հրահանգները: Իսկ multikiosk-ի աշխատանքը ստուգելու համար գոյություն ունեցող հավելվածները միանգամայն բավարար են։

Քայլ 5 – ստեղծել կազմաձևման ֆայլ multikiosk-ի համար

Այժմ մենք հասնում ենք ամենահետաքրքիր մասին՝ կրպակի ռեժիմի կարգավորում: Եկեք նայենք հանձնարարություն ըստ մեր տեսած պարամետրերի: Առաջին հերթին մեզ անհրաժեշտ կլինի ստեղծել XML կազմաձևման ֆայլ, որի ամբողջական օրինակը կարող եք գտնել այստեղ: տես այստեղ.

Սկսենք սալիկի դասավորությունը կարգավորելուց: XML սալիկի հարմարեցման կոնֆիգուրացիա ստեղծելու ամենահեշտ ձևն է արտահանել իրենց ներկա վիճակը.

Նախ, եկեք Start ցանկում ավելացնենք մեզ անհրաժեշտ հավելվածների սալիկները: Զանգահարեք «Win+s» որոնումը, գտեք ցանկալի հավելվածը, աջ սեղմեք դրա վրա և ընտրեք «Pin to Start Screen»:

Ես ամրացրել եմ հետևյալ հավելվածները.

  • Գրառման գրքույկ
  • Հաշվիչ
  • internet Explorer- ի
  • Նկարել
  • WordPad- ը
  • Պարամետրեր
  • Windows- ի անվտանգություն

Վերջին երկու հավելվածները ամրացվել են, քանի որ... Ստանդարտ LTSC փաթեթում այլ ունիվերսալ հավելվածներ պարզապես չկան: Նկատի ունեցեք, որ աշխատասեղանի սալիկները կապվում են դյուրանցումների հետ: Այժմ, ուղղակիորեն «Սկսել» ընտրացանկից տեղափոխելով սալիկները, ես կառանձնացնեմ ամրացված սալիկները երկու խմբի: Սալիկների նոր խումբ ստեղծելու համար սալիկն ավելի բարձր կամ ավելի ցածր քաշեք, քան մյուս սալիկները, ինչը կընդգծի ինտուիտիվ բաժանարարը: Դուք կարող եք խմբերը անվանել ձեր հայեցողությամբ, դա անելու համար մկնիկի կուրսորը դրեք խմբի վերևում, և երբ հայտնվի «Անվանեք խմբին» մակագրությունը, սեղմեք մկնիկի ձախ կոճակը: Առաջին խումբը ես կանվանեմ «Կարգավորումներ», այն կներառի «Կարգավորումներ» և «Windows Security» սալիկները: Երկրորդ խումբը ես կանվանեմ «Գրասենյակային հավելվածներ», որը կներառի մնացած բոլոր սալիկները: Ի դեպ, դուք կարող եք տեղափոխել սալիկների ամբողջ խմբեր՝ դրանք քաշելով՝ օգտագործելով խմբի անվան վերևի աջ կողմում գտնվող երկու գծերը:

Որովհետեւ «Windows Security» սալիկի վրա անունը լիովին չի տեղավորվում, ես դրա չափը կփոխեմ «Wide»-ի: Սալիկի չափը փոխելու համար սալիկի վրա աջ սեղմեք և ընտրեք «Չափափոխել»:

Կազմաձևումից հետո մենք արտահանում ենք ընթացիկ վիճակը և կատարում հրամանը PowerShell միջավայրում – «Export-StartLayout – ուղի C: SysprepStartLayout.xml»:

Հաջորդը, ամենադյուրին ճանապարհը ոչ թե ինքներդ ստեղծեք պարամետրերի ֆայլը, այլ վերցնել օրինակ ֆայլ այստեղից կարգավորումներ – սեղմեք «Պատճենել» կոճակը, տեղադրեք բովանդակությունը նոթատետրում և պահեք որպես «MultiAppKiosk.xml»: Այժմ մենք փոխում ենք կարգավորումները մեր սեփականին: Կցված սալիկների կարգավորումները փոխելու համար պատճենեք «StartLayoutCollection» ամբողջ բլոկը «StartLayout.xml»-ից «MultiAppKiosk.xml»: Հավելվածներ թույլատրվածներին ավելացնելու համար անհրաժեշտ է «AllowedApps» բաժնում տեղադրել հավելվածի ունիվերսալ նույնացուցիչներ և նույն բլոկում ավելացնել դասական հավելվածների գործարկվող ֆայլերի ամբողջական ուղին, որը նշված է դյուրանցումների հատկություններում, որոնց համար սալիկները վերաբերում են. Դյուրանցումին արագ հասնելու համար սեղմեք աջը ամրացված սալիկի վրա և անցեք ավելին > Գնալ դեպի Ֆայլի տեղադրություն: Նկատի ունեցեք, որ «AppUserModelId» պարամետրն օգտագործվում է Համընդհանուր հավելվածի ID-ն նշելու համար, իսկ «DesktopAppPath» պարամետրը՝ աշխատասեղանի հավելվածի ամբողջական ուղին նշելու համար: Եվ ևս մեկ փոքր նրբերանգ, եթե նախատեսում եք օգտագործել IE x64 համակարգում, ապա թույլատրված հավելվածների ցանկում պետք է նշեք գործարկվող ֆայլի երկու ճանապարհ՝ «Program FilesInternet Exploreriexplore.exe» և «Program Files (x86)Internet Exploreriexplore: exe»:

Ես թղթապանակների մուտք չեմ տա, ուստի ջնջում եմ «FileExplorerNamespaceRestrictions» բաժինը:

Առաջադրանքների տողի ցուցադրումն ինձ չի անհանգստացնում, ուստի ես ամեն ինչ թողնում եմ այնպես, ինչպես կա «Առաջադրանքների տող» բաժնում:

Օրինակում նշված է երկու պրոֆիլ, բայց ես կունենամ միայն մեկ պրոֆիլ, այնպես որ երկրորդ պրոֆիլով հատվածը կարող է ջնջվել: Նախքան տեղահանելը, ուշադրություն դարձրեք արգումենտներով հավելվածը ավտոմատ կերպով սկսելու օրինակին։

«Կարգավորումներ» բաժնում հաշիվները կապված են պրոֆիլների հետ: Խնդրում ենք նկատի ունենալ, որ մի քանի հաշիվներ կարող են կապված լինել մեկ պրոֆիլի հետ: Բայց քանի որ Ինձ հետաքրքրում է միայն մեկ հաշիվ, այնուհետև ես կջնջեմ բոլոր կապերը, բացի առաջինից՝ «Կոնֆիգուր» բլոկներից: Մնացած ամրագրման մեջ ես կգրեմ օգտվողի անունը «User»:

Ես ստացել եմ այս ֆայլը պարամետրերով

MultiAppKiosk.xml

<?xml version="1.0" encoding="utf-8" ?>
<AssignedAccessConfiguration 
  xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
  xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config"
  >
  <Profiles>
      <Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
          <AllAppsList>
              <AllowedApps>
                  <App AppUserModelId="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
                  <App AppUserModelId="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
                  <App DesktopAppPath="%windir%system32notepad.exe" />
                  <App DesktopAppPath="C:Program FilesInternet Exploreriexplore.exe" />
                  <App DesktopAppPath="%windir%system32win32calc.exe" />
                  <App DesktopAppPath="%windir%system32mspaint.exe" />
                  <App DesktopAppPath="%ProgramFiles%Windows NTAccessorieswordpad.exe" />
              </AllowedApps>
          </AllAppsList>
          <StartLayout>
              <![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
                    <LayoutOptions StartTileGroupCellWidth="6" />
                    <DefaultLayoutOverride>
                      <StartLayoutCollection>
                        <defaultlayout:StartLayout GroupCellWidth="6">
                          <start:Group Name="Настройки">
                            <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
                            <start:Tile Size="4x2" Column="2" Row="0" AppUserModelID="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
                          </start:Group>
                          <start:Group Name="Офисные приложения">
                            <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesWordpad.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%MicrosoftWindowsStart MenuProgramsAccessoriesNotepad.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesCalculator.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesPaint.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%APPDATA%MicrosoftWindowsStart MenuProgramsAccessoriesInternet Explorer.lnk" />
                          </start:Group>
                        </defaultlayout:StartLayout>
                      </StartLayoutCollection>
                    </DefaultLayoutOverride>
                  </LayoutModificationTemplate>
              ]]>
          </StartLayout>
          <Taskbar ShowTaskbar="true"/>
      </Profile>
  </Profiles>
  <Configs>
      <Config>
          <Account>User</Account>
          <DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
      </Config>
  </Configs>
</AssignedAccessConfiguration>

Երբ պատրաստում եք ձեր XML կազմաձևման ֆայլերը, մի մոռացեք, որ յուրաքանչյուր պրոֆիլ պետք է ունենա յուրահատուկ ID և ոչ միայն մեկ XML ֆայլի, այլ մեկ ՕՀ-ի ներսում: Նրանք. Իդեալում, խառնաշփոթությունից խուսափելու համար դուք կարող եք ամեն անգամ ստեղծել նոր նույնացուցիչ, դա կարելի է անել PowerShell միջավայրում՝ օգտագործելով «[guid]::NewGuid()» հրամանը: Եվ համոզվեք, որ ֆայլը պահեք «UTF-8» կոդավորման մեջ, եթե ֆայլը պահված է «ANSI» կոդավորման մեջ, ապա նախապատրաստական ​​փաթեթը կառուցելիս սխալ կստանաք, եթե XML ֆայլը պարունակում է կիրիլիցա:

Քայլ 6 – կիրառեք բազմակրիոսկի կարգավորումները

Եկեք դիտարկենք կազմաձևման ֆայլում նկարագրված պարամետրերը կիրառելու երկու եղանակ: Առաջինը տրամադրման փաթեթի միջոցով է, որը պետք է ստեղծվի ICD-ում: Ոմանց համար, թերեւս, այս մեթոդը ավելի ծանոթ կլինի: Երկրորդը «MDM Bridge WMI Provider»-ի օգտագործումն է, այս մեթոդն ինձ ավելի հարմար թվաց:

# 1 մեթոդ

Ո՞վ չունի ICD: բեռնել ADK և տեղադրել: ADK-ի տեղադրումը շատ պարզ է, բաղադրիչների հավաքածուն կարելի է թողնել որպես լռելյայն:

Գործարկեք ICD-ն, կտտացրեք «Ընդլայնված պատրաստում» սալիկի վրա, նշեք նախագծի անունը և թղթապանակը և սեղմեք «Հաջորդ»: Հաջորդ պատուհանում ընտրեք «Windows աշխատասեղանի բոլոր հրատարակությունները» և սեղմեք «Հաջորդ»: Դուք կարող եք բաց թողնել պատրաստման փաթեթի ներմուծումը, սեղմեք «Ավարտել»:

Ընդարձակեք «Runtime Settings» բացվող ընտրացանկը, ապա ընդլայնեք «AssignedAccess» ենթամենյուն և ընտրեք «MultiAppAssignedAccessSettings»: ICD պատուհանի միջին հատվածի վերևում կտտացրեք «Թերթել» կոճակը և պարամետրերով նշեք XML ֆայլի գտնվելու վայրը: Ամեն դեպքում, դուք կարող եք պահպանել նախագիծը՝ սեղմելով «Ctrl+s»: ICD-ի վերին ձախ մասում ընտրեք «Արտահանում» և բացվող ընտրացանկից ընտրեք «Տրամադրման փաթեթ»: Որպես սեփականատեր ընտրեք «ՏՏ ադմինիստրատոր», մնացած բոլոր հարցերը կարելի է բաց թողնել՝ սեղմելով «Հաջորդ» և վերջում սեղմել «Կառուցել» և «Ավարտել»:

Տեղադրված համակարգում մի մոռացեք ստեղծել «Օգտատեր» օգտվող, նա չի կարող ավելացվել «Ադմինիստրատորներ» խմբում, հակառակ դեպքում բազմակրիոսկը չի աշխատի: Ես ստեղծեցի օգտատեր Computer Management-ում գաղտնաբառով, որը երբեք չի սպառվում:

Այժմ մենք գործարկում ենք նախապատրաստական ​​փաթեթը նախկինում տեղադրված համակարգի վրա: Նախապատրաստական ​​փաթեթը կիրառելուց հետո «Սկսել» ընտրացանկը և ադմինիստրատորի ընտրացանկը կփոխվեն: Ձախ մեկնարկի սյունակում կոճակները պետք է անհետանան՝ «Փաստաթղթեր», «Պատկեր», «Ընտրանքներ»: Եթե ​​մեկնարկային ընտրացանկը չի փոխվել, ուրեմն ինչ-որ բան սխալ է տեղի ունեցել: Տեղադրված փաթեթը կարող է հեռացվել՝ բացելով Կարգավորումներ > Հաշիվներ > Աշխատանքային կամ դպրոցական հաշվի մուտք > Ավելացնել կամ հեռացնել տրամադրման փաթեթի պատուհանը:

Եթե ​​մեկնարկի ընտրացանկը փոխվել է, ապա կարգավորումները կիրառվում են համակարգի վրա, մուտք գործեք որպես օգտվող, ում համար կազմաձևված է բազմակրիոսկը և դիտեք արդյունքը:

# 2 մեթոդ

Կարգավորումների կիրառում «MDM Bridge WMI Provider»-ի միջոցով նկարագրված է այստեղ. Այս մեթոդի հարմարությունը նրա օգտագործման ճկունությունն է և բազմաթիվ ձեռքով գործողություններից ազատվելու ունակությունը, որոնք անհրաժեշտ են նախապատրաստական ​​փաթեթ ստեղծելու համար: Այստեղ յուրաքանչյուրը կարող է իր համար այնպիսի որոշում կայացնել, որն իրեն հարմար կլինի։ Ինձ համար մի երկու սցենար եմ արել.

MiltiKiosk.bat – գործարկման սցենար

@echo off
chcp 1251>nul

if not exist "%~dp0psexec.exe" call :ShowMessage "‡‡‡‡‡‡‡‡‡‡‡‡‡Для работы скрипта необходим файл psexec.exe‡‡Для завершения работы скрипта нажмите любую клавишу"&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 файлов с началом названия - "%~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 – հիմնական սցենար

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 'Для параметра Align может быть указано только число' | 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, 'Ошибка получения объекта настроек', 2, 'Нажмите "Enter" для завершения рабты скрипта') -Align 2; Read-Host; Exit}

Function MainMenu() {
    ShowMessage (13, ' 0 - Выход', ' 1 - Выбрать XML-файл для установки', ' 2 - Показать текущую конфигурацию мультикиоска', ' 3 - Удалить настройки мультикиоска', 1)
    $local:PromptText = 'Выберите действие'
    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, 'Начало конфигурации') -Align 2; Write-Host $MultiAppKiosk.Configuration; ShowMessage -Message ('Конец конфигурации', 1, 'Для возврата в меню нажмите "Enter"', 1) -Align 2; Read-Host}
            3 {$MultiAppKiosk.Configuration = $Null; Set-CimInstance -CimInstance $MultiAppKiosk; ShowMessage -Message (1, 'Выполнена команда удаления настроек', 1) -Align 2}
            DEFAULT {ShowMessage 'Выбрано недопустимое значение'}
        }
        if ($Selections -contains $Select) {Clear-Host; ShowMessage (15, ' 0 - Выход', ' 1 - Выбрать XML-файл для установки', ' 2 - Показать текущую конфигурацию мультикиоска', ' 3 - Удалить настройки мультикиоска', 1)}
    }
}

Function XMLSelection() {
    Clear-Host

    if (!(Test-Path -Path $PSScriptRoot'XML')) {ShowMessage -Message (13, 'Не найден каталог', $('"'+$PSScriptRoot+'XML"'), 1, 'Нажмите "Enter" для возврвта в предыдущее меню') -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-файлов в каталоге', $('"'+$PSScriptRoot+'XML"'), 1, 'Нажмите "Enter" для возврвта в предыдущее меню') -Align 2; Read-Host; Return}

    [int]$local:Indent = 13 - $XMLList.Count / 2; if ($Indent -lt 1) {$Indent = 1}
    ShowMessage ($Indent, ' 0 - Вернуться в предыдущее меню')
    for ($i=0; $i -le $XMLList.GetUpperBound(0); $i++) {Write-Host $(' '+($i+1)+' - '+$XMLList[$i])}
    Write-Host
    $local:PromptText = 'Выберите файл для установки'
    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 $('Дана команда на применение настроек из файла '+$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 ('Выбрано недопустимое значение')} 
        }
    }
}

MainMenu

Եթե ​​ցանկանում եք օգտագործել իմ լուծումը, ապա պահպանեք վերը նշված սկրիպտներն իրենց սկզբնական անուններով մեկ թղթապանակում և դրեք «PsExec.exe» ֆայլը նույն թղթապանակում: Նույն թղթապանակում ստեղծեք «XML» թղթապանակ և պատճենեք XML ֆայլերը՝ բազմակրիոսկը դրա մեջ կարգավորելու համար: Ես կօգտագործեմ նույն ֆայլը, ինչ առաջին մեթոդով:

MultiAppKiosk.xml

<?xml version="1.0" encoding="utf-8" ?>
<AssignedAccessConfiguration 
  xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"
  xmlns:rs5="http://schemas.microsoft.com/AssignedAccess/201810/config"
  >
  <Profiles>
      <Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}">
          <AllAppsList>
              <AllowedApps>
                  <App AppUserModelId="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
                  <App AppUserModelId="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
                  <App DesktopAppPath="%windir%system32notepad.exe" />
                  <App DesktopAppPath="C:Program FilesInternet Exploreriexplore.exe" />
                  <App DesktopAppPath="%windir%system32win32calc.exe" />
                  <App DesktopAppPath="%windir%system32mspaint.exe" />
                  <App DesktopAppPath="%ProgramFiles%Windows NTAccessorieswordpad.exe" />
              </AllowedApps>
          </AllAppsList>
          <StartLayout>
              <![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
                    <LayoutOptions StartTileGroupCellWidth="6" />
                    <DefaultLayoutOverride>
                      <StartLayoutCollection>
                        <defaultlayout:StartLayout GroupCellWidth="6">
                          <start:Group Name="Настройки">
                            <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="WINDOWS.IMMERSIVECONTROLPANEL_CW5N1H2TXYEWY!MICROSOFT.WINDOWS.IMMERSIVECONTROLPANEL" />
                            <start:Tile Size="4x2" Column="2" Row="0" AppUserModelID="Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI" />
                          </start:Group>
                          <start:Group Name="Офисные приложения">
                            <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesWordpad.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%MicrosoftWindowsStart MenuProgramsAccessoriesNotepad.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesCalculator.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%MicrosoftWindowsStart MenuProgramsAccessoriesPaint.lnk" />
                            <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%APPDATA%MicrosoftWindowsStart MenuProgramsAccessoriesInternet Explorer.lnk" />
                          </start:Group>
                        </defaultlayout:StartLayout>
                      </StartLayoutCollection>
                    </DefaultLayoutOverride>
                  </LayoutModificationTemplate>
              ]]>
          </StartLayout>
          <Taskbar ShowTaskbar="true"/>
      </Profile>
  </Profiles>
  <Configs>
      <Config>
          <Account>User</Account>
          <DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/>
      </Config>
  </Configs>
</AssignedAccessConfiguration>

Մի փոքր սցենարի առանձնահատկությունների մասին. Սցենարը նախատեսված է «UTF8» կոդավորմամբ XML ֆայլեր օգտագործելու համար, եթե ցանկանում եք օգտագործել «ANSI» կոդավորումը, ապա ֆայլի ընթերցման տարբերակից հեռացրեք «կոդավորում UTF8» պարամետրը: Դուք պետք է XML ֆայլերը տեղադրեք «XML» թղթապանակում՝ առանց նիշերի փոխարինման, սկրիպտն ինքնին կփոխարինի հատուկ նիշերը համապատասխան նշումներով: Օգտատերերին պրոֆիլներին կապելու GUID-ներում չշփոթվելու համար կարող եք պարզապես նշել օգտատիրոջ համարը կամ անունը գանգուր փակագծերում, գանգուր փակագծերի ամբողջ բովանդակությունը կփոխարինվի GUID-ներով:

Սցենարն օգտագործելը շատ պարզ է, պարզապես գործարկեք այն և ընտրեք անհրաժեշտ տարրը: Ընթացիկ կոնֆիգուրացիան նորի փոխելու համար անհրաժեշտ չէ ջնջել ընթացիկը, այն կվերագրվի: Մի մոռացեք ստեղծել օգտվողներ, որոնք նշված են կազմաձևման ֆայլում:

Ընթացիկ մուլտիկրպակի կոնֆիգուրացիան դիտելիս նույն նիստում, որում այն ​​կիրառվել է, հատուկ նիշերի փոխարեն կցուցադրվեն փոխարինող նիշերի համակցություններ: Նիստը փոխելուց հետո (սկրիպտը վերագործարկելուց հետո) բոլոր հատուկ նիշերը կցուցադրվեն իրենց սկզբնական տեսքով:

Քայլ 7 - Համակարգի կնքումը

Մուլտիկրպակն աշխատում է, լավ, այսքանն է, թվում է...

Եթե ​​ամեն ինչ ընթանում է ըստ պլանի, ուրեմն դուք ինչ-որ բան չեք նկատում։

Մի մոռացեք, որ մենք դեռ պետք է համակարգը անցնենք աուդիտի ռեժիմից ողջույնի ռեժիմի: Դե, մենք պատրաստ ենք դրան, մենք գործարկում ենք «Sysprep.bat», ընտրում ենք 2-րդ կետը, համակարգը կնքված է: Մենք միացնում ենք սարքը, համակարգը բեռնաթափվում է, մենք մուտք ենք գործում օգտվողի հաշիվ, որի համար կազմաձևված է multikiosk-ը, բայց մենք չենք կարող մուտք գործել: «Ողջույն» հաղորդագրությունից հետո հայտնվում է «Դուրս գալ» հաղորդագրությունը:

Սկզբում ես ուզում էի նկարագրել միայն խնդրի լուծումը, բայց ավելի ուշ որոշեցի նկարագրել խնդիրը բացահայտելու և ամենապարզ լուծումը գտնելու քայլերը, քանի որ... Անշուշտ շատ ընթերցողներ տանջվելու են անորոշ կասկածներով. «Իսկ եթե այսպես…»: Կարծում եմ, որ տարբեր փորձերի նկարագրությունը ձեզ զգալի ժամանակ կխնայի, եթե ցանկանում եք այլ լուծում գտնել: Տեղեկատվությունը հնարավորինս ճշգրիտ դարձնելու և ևս մեկ անգամ համոզվելու համար, որ սխալներ չկան, ես կնկարագրեմ փորձերը «կատարված և գրանցված» ձևաչափով: Նրանք. Ես նորից կանեմ նկարագրված փորձերը։

փորձարկումները

Ի՞նչ արեցինք։ Համակարգում կա երկու հաշիվ.

«Ադմին» – «Ադմինիստրատորներ» խմբում
«Օգտվող» – «Օգտագործողներ» խմբում
Աուդիտի ռեժիմում բազմակրիոսկն աշխատում էր, բայց երբ կնքվում էր, այն չէր աշխատում:

Փորձ 1

Մենք ջնջում ենք տեղադրված նախապատրաստական ​​փաթեթը, «Համակարգչային կառավարում» snap-in-ում մենք ջնջում ենք «Օգտատեր» օգտվողին և ստեղծում ենք նոր օգտվող «Օգտվող» անունով, կիրառում ենք պատրաստման փաթեթը, գնում ենք «Օգտատեր» հաշիվ. չի աշխատում. Մենք գնում ենք «Ադմինիստրատոր» անունով, «Օգտատեր» օգտատիրոջը հանում ենք «Օգտատեր» խմբից, ավելացնում ենք «Ադմինիստրատորներ» խմբին, գնում ենք «Օգտատեր» անվան տակ՝ այն չի աշխատում: Մենք մուտք ենք գործում «Ադմին» անունով, ջնջում ենք պատրաստման փաթեթը բազմակրպակով, մուտք ենք գործում «Օգտվող» անունով. մեզ հաջողվել է մուտք գործել, բայց, իհարկե, բազմակրպակի ռեժիմը չի աշխատում, քանի որ. Մատակարարման փաթեթը հանվել է։

Փորձ 2

Մենք վերբեռնում ենք համակարգի պատկերը՝ ռուսացված աուդիտի ռեժիմում:

ՕՀ-ն բեռնված է, սեղմեք «Win+r», քանի որ Մեր sysprep պատուհանը ավտոմատ կերպով փակվել է, գործարկեք «sysprep» հրամանը և գործարկեք «sysprep» բացվող պատուհանում: Sysprep-ի կարգավորումները պատուհանում. «Գնալ դեպի համակարգի ողջույնի պատուհան (OOBE)», «Պատրաստվում է օգտագործմանը», «Վերագործարկում»: Կտտացրեք «OK» և սպասեք ՕՀ-ի ողջույնին: Մենք պատասխանում ենք հարցերին, երբ համակարգը առաջին անգամ բեռնվում է. «Շարունակե՞լ ընտրված լեզվով»: - «ռուսերեն»; տարածաշրջան - Ռուսաստան; ստեղնաշարի դասավորություն – ռուսերեն; ավելացնել ստեղնաշարի երկրորդ դասավորությունը - բաց թողնել; «Եկեք միացնենք ձեզ ցանցին» – «Առայժմ բաց թողնել»; միանալ ինտերնետին - ոչ; լիցենզային պայմանագիր - ընդունել; «Ո՞վ կօգտագործի այս համակարգիչը» – «Թեստ»; գաղտնաբառի ստեղծում - դաշտը դատարկ թողնել; Հարմարավետ շահագործում տարբեր սարքերի վրա – ոչ; Գաղտնիության կարգավորումներ – ընդունեք: ՕՀ-ն բեռնված է, «Համակարգչային կառավարում» ներդիրում մենք ստեղծում ենք «Օգտատեր» անունով օգտատեր, ավելացնում ենք պատրաստման փաթեթը: Արդյունքն այն է, որ այն չի աշխատում:

Փորձ 3

Մենք վերբեռնում ենք համակարգի պատկերը՝ ռուսացված աուդիտի ռեժիմում:

ՕՀ-ն բեռնված է, միացրեք համակարգը ինտերնետին, գործարկեք «gpedit.msc» հրամանը և «Windows Update» բաժնում միացրեք «Միացնել առաջարկվող թարմացումները ավտոմատ թարմացումների միջոցով» տարբերակը, ամեն դեպքում վերագործարկեք: Թարմացման կենտրոնում կտտացրեք «Ստուգեք թարմացումները» և վերագործարկեք մինչև բոլոր թարմացումները տեղադրվեն: Անջատեք համակարգը ինտերնետից: Մենք գործարկում ենք «sysprep»-ը գրաֆիկական ռեժիմով և կրկնում ենք նախորդ քայլում նկարագրված բոլոր քայլերը՝ սկսած «sysprep» հավելվածի գործարկումից մինչև նախապատրաստական ​​փաթեթի ավելացում: Արդյունքն այն է, որ այն չի աշխատում:

Փորձ 4

Մենք վերբեռնում ենք համակարգի պատկերը՝ անգլերեն աուդիտի ռեժիմում:

Մենք գործարկում ենք «sysprep»-ը գրաֆիկական ռեժիմով, կնքում ենք ՕՀ-ն նույն պարամետրերով, ինչ 2-րդ փորձի ժամանակ: Երբ համակարգը առաջին անգամ բեռնաթափվում է, մենք ընտրում ենք նույն պարամետրերը, ինչ փորձ 2-ում, բացառությամբ տարածաշրջանային և լեզվական պարամետրերի, քանի որ Ռուսաց լեզու չկա։ Նույն կերպ ստեղծեք օգտվողի «Օգտատեր» և ավելացրեք տրամադրման փաթեթ: Արդյունքն այն է, որ այն աշխատում է: Նրանք. Խնդիրը կապված է տեղայնացման հետ։

Փորձ 5

Մենք վերբեռնում ենք համակարգի պատկերը՝ ռուսացված աուդիտի ռեժիմում:

«Համակարգչային կառավարում» snap-in-ում ստեղծեք «Օգտատեր» օգտվող, ավելացրեք նախապատրաստական ​​փաթեթ, անցեք «Օգտատեր» հաշիվ, բազմաբնակարան կրպակն աշխատում է:

Դուրս եկեք ձեր հաշվից և մուտք գործեք «Admin» հաշվի տակ: Մենք գործարկում ենք PowerShell-ը ադմինիստրատորի իրավունքներով, կատարում ենք «Dism /online /Get-Intl» հրամանը և տեսնում «Օգտվողի լռելյայն ինտերֆեյսի լեզուն՝ en-US»:

Մենք բեռնում ենք ֆլեշ կրիչից WinPE, տեղակայված ՕՀ-ն իմ E կրիչի վրա է: Մենք կատարում ենք «Dism /image:E: /Set-UILang:ru-ru» հրամանը: Մենք նայում ենք արդյունքին, կատարում ենք «Dism /image:E: /Get-Intl» և տեսնում «Default system UI language. ru-RU»:

Մենք բեռնում ենք համակարգ, մուտք ենք գործում «Օգտատեր» հաշիվ, բազմակրիոսկը չի աշխատում:

Խնդրի պատճառահետևանքային կապը հստակ հաստատելու համար եկեք նորից փորձենք բազմակրպակը դարձնել աշխատող և չաշխատող:

Մենք բեռնում ենք ֆլեշ կրիչից WinPE-ի մեջ, տեղակայված ՕՀ-ն իմ E կրիչի վրա է: Մենք կատարում ենք «Dism /image:E: /Set-UILang:en-us» հրամանը: Մենք նայում ենք արդյունքին, կատարում ենք «Dism /image:E: /Get-Intl» և տեսնում ենք «Default system UI language. en-US»:

Մենք բեռնում ենք համակարգ, մուտք ենք գործում «Օգտատեր» հաշիվ, բազմակրիոսկն աշխատում է:

Մենք բեռնում ենք ֆլեշ կրիչից WinPE, տեղակայված ՕՀ-ն իմ E կրիչի վրա է: Մենք կատարում ենք «Dism /image:E: /Set-UILang:ru-ru» հրամանը: Մենք նայում ենք արդյունքին, կատարում ենք «Dism /image:E: /Get-Intl» և տեսնում «Default system UI language. ru-RU»:

Մենք բեռնում ենք համակարգ, մուտք ենք գործում «Օգտատեր» հաշիվ, բազմակրիոսկը չի աշխատում:

Նրանք. դուք կարող եք տեսնել կրպակի աշխատանքի հստակ կախվածությունը լռելյայն ինտերֆեյսի լեզվից: Միգուցե կան նաև այլ գործոններ, որոնք ազդում են մուլտիկրպակի աշխատանքի վրա:

Փորձ 6

Փորձի մաքրության համար մենք լիցքավորում ենք համակարգը: Մենք վերբեռնում ենք համակարգի պատկերը՝ ռուսացված աուդիտի ռեժիմում:

Մենք գործարկում ենք «sysprep»-ը գրաֆիկական ռեժիմով, փակում ՕՀ-ն նույն պարամետրերով, ինչ 2-րդ փորձի ժամանակ: Սպասում ենք, որ ՕՀ-ն մեզ ողջունի և պատասխանի «Շարունակե՞լ ընտրված լեզվով» հարցերին: – «Անգլերեն (Միացյալ Նահանգներ)»; տարածաշրջան - Ռուսաստան; Ստեղնաշարի դասավորությունը՝ ռուսերեն: Ավելին, բոլոր պարամետրերը ընտրվել են, ինչպես փորձ 2-ում:

Եկեք նայենք օգտատիրոջ ինտերֆեյսի լեզվի լռելյայն կարգավորումներին: Մենք կատարում ենք «Dism /online /Get-Intl» հրամանը և տեսնում «Default system UI language. en-US»: «Համակարգչային կառավարում» snap-in-ում ստեղծեք «Օգտատեր» օգտվող, ավելացրեք նախապատրաստական ​​փաթեթ, անցեք «Օգտատեր» հաշիվ, բազմաբնակարան կրպակն աշխատում է:

Մենք փորձում ենք կոտրել կրպակը` փոխելով օգտատիրոջ լռելյայն ինտերֆեյսի լեզուն: Մենք մտնում ենք «Թեստ» օգտվող, որը ստեղծվել է, երբ համակարգը առաջին անգամ բեռնվել է և միացնում ենք դրա ավտոմատ մուտքը, որպեսզի համակարգը անմիջապես չբեռնվի «Օգտատեր» հաշիվ: Գործարկեք «netplwiz»-ը, ընտրեք «Test» օգտվողին, հանեք «Պահանջել օգտվողի անուն և գաղտնաբառ» վանդակը և կիրառեք պարամետրերը:

Բեռնեք ֆլեշ կրիչից WinPE-ի մեջ: Կատարեք «Dism /image:E: /Set-UILang:ru-ru» հրամանը: Մենք նայում ենք արդյունքին, կատարում ենք «Dism /image:E: /Get-Intl» և տեսնում «Default system UI language. ru-RU»:

Մենք բեռնում ենք համակարգ, փորձում ենք մուտք գործել «Օգտատեր» հաշիվ, բազմակրիոսկն աշխատում է: Նրանք. այն չի կարող կոտրվել: Հնարավո՞ր է այնպես անել, որ դա աշխատի:

Փորձ 7

Մենք վերբեռնում ենք համակարգի պատկերը՝ ռուսացված աուդիտի ռեժիմում:

Մենք գործարկում ենք «Sysprep.bat», ընտրում ենք 2-րդ կետը: Մենք բեռնում ենք համակարգ, «Համակարգչային կառավարում» հավելվածում ստեղծում ենք «Օգտվող» օգտվողը, ավելացնում ենք պատրաստման փաթեթը, գնում ենք «Օգտատեր» հաշիվ, բազմաբնակարան. կրպակը չի աշխատում.

Բեռնեք ֆլեշ կրիչից WinPE-ի մեջ: Կատարեք «Dism /image:E: /Set-UILang:en-us» հրամանը: Մենք նայում ենք արդյունքին, կատարում ենք «Dism /image:E: /Get-Intl» և տեսնում ենք «Default system UI language. en-US»:

Մենք բեռնում ենք համակարգ, փորձում ենք մուտք գործել «Օգտատեր» հաշիվ, բազմակրիոսկը չի աշխատում:

Պարզվում է, որ փոխելով օգտատիրոջ միջերեսի լեզվի լռելյայն կարգավորումը, դուք կարող եք ազդել բազմաբնակարան կրպակի աշխատանքի վրա միայն այն ժամանակ, երբ համակարգը գտնվում է աուդիտի ռեժիմում կամ համակարգը կնքելուց հետո առաջին բեռնման ժամանակ: Սա նշանակում է, որ դուք պետք է կնքեք համակարգը պատասխան ֆայլով, որում համակարգի լեզուն կընտրվի անգլերենով, այնուհետև փոխեք համակարգի կարգավորումները, որպեսզի միջերեսը լինի ռուսերեն: Ոչ այնքան լավ լուծում: Միգուցե խնդիրը կարող է լուծվել լեզվի փաթեթ տեղադրելով կամ լրացուցիչ լեզուների փաթեթներ տեղադրելով:

Փորձ 8

Մենք վերբեռնում ենք համակարգի պատկերը՝ անգլերեն աուդիտի ռեժիմում:

Մենք միանում ենք ինտերնետին, համակարգի պարամետրերում գնում ենք «Լեզու» բաժին, ընտրում «Ավելացնել լեզու», ընտրում ենք «ռուսերեն» լեզուն, կտտացնում ենք «Հաջորդ», տեղադրման պարամետրերը թողնում ենք որպես լռելյայն, կտտացնում ենք «Տեղադրում», տեղադրելուց հետո: լեզվական փաթեթը մենք վերաբեռնում ենք համակարգը, այժմ՝ Russified: Անջատեք համակարգը ինտերնետից, գործարկեք «Sysprep.bat», ընտրեք կետ 2:

Համակարգը բեռնելուց հետո «Համակարգչային կառավարում» snap-in-ում ստեղծեք «Օգտվող» օգտատերը, ավելացրեք պատրաստման փաթեթը, անցեք «Օգտատեր» հաշիվ, բազմակրպակը չի աշխատում։

Փորձ 9

Փորձենք ռուսաֆիկացնել համակարգը նախքան տեղադրումը, օֆլայն ռեժիմում։ Միաժամանակ կլինի կարճ կրթական ծրագիր բաշխման տեղայնացման վերաբերյալ։

Ես վերցնում եմ ֆլեշ կրիչ մաքուր օրիգինալ բաշխմամբ՝ X21-96381: Դա կլինի «E» շարժիչ: Պատկերները տեղադրելու համար ես ստեղծում եմ թղթապանակներ՝ «c:MountInstall», «c:MountWinre», «c:MountBoot»: Ես վերցնում եմ տեղայնացման փաթեթների հավաքածու՝ X21-87814: Եվ «c:Mount» պանակում ես պատճենում եմ փաթեթները դրանից՝ «Microsoft-Windows-Client-Language-Pack_x86_ru-ru.cab», «lp.cab», «WinPE-Setup_ru-ru.cab»: Ես գործարկում եմ վահանակը ադմինիստրատորի իրավունքներով: Կարծում եմ, որ հետագա հրամանները պարզ կլինեն առանց մեկնաբանության։

Տեղայնացման հրամաններ

cd c:mount
dism /Mount-Wim /WimFile:e:sourcesinstall.wim /index:1 /MountDir:Installcode
dism /Image:Install /Add-Package /PackagePath:Microsoft-Windows-Client-Language-Pack_x86_ru-ru.cabcode
dism /Image:Installcode /Set-AllIntl:ru-ru
dism /Image:Install /Set-TimeZone:"Russian Standard Time"code

dism /Mount-Wim /WimFile:InstallWindowsSystem32RecoveryWinre.wim /index:1 /MountDir:Winrecode
dism /Image:Winre /Add-Package /PackagePath:lp.cabcode
dism /Image:Winrecode /Set-AllIntl:ru-ru
dism /Image:Winre /Set-TimeZone:"Russian Standard Time"code
dism /Unmount-Image /MountDir:Winre /Commitcode

dism /Image:Install /Gen-LangINI /distribution:E: /Set-AllIntl:ru-RUcode
dism /image:Install /Set-SetupUILang:RU-ru /distribution:E:code
dism /Unmount-Image /MountDir:Install /Commitcode

dism /mount-wim /wimfile:e:sourcesboot.wim /index:1 /mountdir:Bootcode
dism /Image:Boot /Add-Package /PackagePath:lp.cabcode
dism /Image:Bootcode /Set-AllIntl:ru-ru
copy e:sourceslang.ini Bootsourceslang.inicode
dism /Unmount-Image /MountDir:Boot /Commitcode

dism /mount-wim /wimfile:e:sourcesboot.wim /index:2 /mountdir:Bootcode
dism /Image:Boot /Add-Package /PackagePath:lp.cabcode
dism /Image:Boot /Add-Package /PackagePath:WinPE-Setup_ru-ru.cabcode
dism /Image:Bootcode /Set-AllIntl:ru-ru
copy e:sourceslang.ini Bootsourceslang.ini /ycode
dism /Unmount-Image /MountDir:Boot /Commit

Մենք բեռնում ենք ֆլեշ կրիչից, ընտրում ենք ռուսաց լեզուն և տեղադրում համակարգը դատարկ սկավառակի վրա: Երբ համակարգը ձեզ խնդրում է ընտրել տարածաշրջան, սեղմեք «Ctrl+Shift+F3»: «Համակարգչային կառավարում» ներդիրում ստեղծեք «Օգտատեր» օգտվող, ավելացրեք նախապատրաստական ​​փաթեթ, անցեք «Օգտատեր» հաշիվ, բազմաբնակարան կրպակը չի աշխատում:

Բեռնեք ֆլեշ կրիչից WinPE-ի մեջ: Կատարեք «Dism /image:E: /Set-UILang:en-us» հրամանը:

Մենք բեռնում ենք համակարգ, փորձում ենք մուտք գործել «Օգտատեր» հաշիվ, բազմակրիոսկն աշխատում է:

Ըստ երևույթին, խնդիրը փաթեթ ավելացնելու մեթոդների մեջ չէ, փորձենք լրացուցիչ փաթեթներ ավելացնել։

Փորձ 10

Մենք վերցնում ենք ֆլեշ կրիչը, որը պատրաստել ենք նախորդ քայլում:

Մենք վերցնում ենք «Feat on Demand» փաթեթը՝ X21-87815: Ես դրանից փաթեթները պատճենում եմ «c:Mount» թղթապանակում՝ «Microsoft-Windows-LanguageFeatures-Basic-ru-ru-Package~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~ ~.cab», «Microsoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cab».

Берем пакет «Feat on Demand RDX Updt» – X21-99781. В папку «c:Mount» копирую из него пакеты: «Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab», « Microsoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cab».

Գործարկեք վահանակը ադմինիստրատորի իրավունքներով և կատարեք հրամանները.

Հրամաններ

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 /Commit

Մենք բեռնում ենք ֆլեշ կրիչից, ընտրում ենք ռուսաց լեզուն և տեղադրում համակարգը դատարկ սկավառակի վրա: Երբ համակարգը ձեզ խնդրում է ընտրել տարածաշրջան, սեղմեք «Ctrl+Shift+F3»: «Համակարգչային կառավարում» ներդիրում ստեղծեք «Օգտատեր» օգտատերը, ավելացրեք տրամադրման փաթեթը և մուտք գործեք «Օգտատեր» հաշիվ: Ես ստացա սև էկրան, որը երկար ժամանակ կախված էր, այնպես որ ես տաք բեռնեցի համակարգը:

Մենք ջնջում ենք նախապատրաստական ​​փաթեթը, մուտք ենք գործում որպես «Օգտատեր», վերագործարկում ենք համակարգը, ավելացնում ենք պատրաստման փաթեթը, բազմակրպակը չի աշխատում:

Բեռնեք ֆլեշ կրիչից WinPE-ի մեջ: Կատարեք «Dism /image:E: /Set-UILang:en-us» հրամանը:

Մենք բեռնում ենք համակարգ, փորձում ենք մուտք գործել «Օգտատեր» հաշիվ, բազմակրիոսկն աշխատում է:

Լուծում

Սովորական հերոսներ. Նրանք միշտ շեղում են!

Տեղայնացման փաթեթների տեղադրման տարբեր մեթոդներ չլուծեցին խնդիրը, ինչը նշանակում է, որ դուք պետք է առաջին բեռնախցիկի վրա տեղադրեք «en-us» լեզուն կնքումից հետո, իսկ լեզվի կարգավորումները փոխեք առաջին բեռնումից հետո:

Մենք վերբեռնում ենք համակարգի պատկերը՝ ռուսացված աուդիտի ռեժիմում:

«Unattend.xml» ֆայլում մուտքագրեք «en-US» պարամետրում, գործարկեք «Sysprep.bat», ընտրեք կետ 2 և տեսեք, թե ինչ ենք ստացել: Ողջույնի էկրանը անգլերեն է, բազմակրպակն աշխատում է։ Սա նշանակում է, որ դուք պետք է հրաման ավելացնեք «Unattend.xml»՝ ողջույնի լեզուն փոխելու համար: Եվ դա անելու համար հարկավոր է գործարկել «control intl.cpl,, /f:» հրամանը՝ նշելով կազմաձևման ֆայլը, որը կսահմանի ընթացիկ պարամետրերի պատճենումը ողջույնի էկրանին: Կազմաձևման ֆայլի բովանդակությունը այսպիսի տեսք կունենա.

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
      <gs:UserList>
        <gs:User UserID="Current" CopySettingsToSystemAcct="true"/> 
    </gs:UserList>
</gs:GlobalizationServices>

Որովհետեւ կպատճենի ընթացիկ օգտատիրոջ կարգավորումները, ապա հրամանը պետք է կատարվի այն բանից հետո, երբ օգտագործողը մուտք գործի, ինչը նշանակում է, որ մեզ անհրաժեշտ կլինի: Կա մեկ փոքր «բայց», կատարումը տեղի կունենա այն բանից հետո, երբ ադմինիստրատորի իրավունքներով օգտվողը մուտք գործի: Եվ ես չէի ցանկանա ստեղծել լրացուցիչ ֆայլ, որն անհրաժեշտ կլինի հրամանի հաջող աշխատանքի համար: Ավելի լավ է ամբողջ լուծումն իրականացնել մեկ ֆայլում՝ «Unattend.xml»: Դա անելու համար ձեզ պարզապես անհրաժեշտ կլինի գործարկել հրաման, որը ստեղծում է կազմաձևման ֆայլ: Կարծում եմ՝ կստեղծեմ կազմաձևման ֆայլ՝ օգտագործելով «echo» հրամանը «cmd» միջավայրում, բայց այն պետք է շրջանցվի անկյունային փակագծերից՝ շրջագծով: Նրանք. Կազմաձևման ֆայլ ստեղծելու համար ստացվում է հետևյալ հրամանը.

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

Բայց մենք պետք է տեղադրենք այս հրամանը XML-ում, որն ունի իր պահանջները հատուկ նիշերի օգտագործման համար.

Հատուկ կերպար
Փոխարինման արժեքը

>
&gt;

<
&lt;

&
&amp;

'
&apos;

"
&quot;

Արդյունքում, կազմաձևման ֆայլ ստեղծելու համար մենք ստացանք հետևյալ հրամանը «FirstLogonCommands»-ի համար:

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;

Հաջորդը, մենք կատարում ենք հրամանը, օգտագործելով կազմաձևման ֆայլը:

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

Հաջորդը, ջնջեք նախկինում ստեղծված ֆայլը և վերագործարկեք համակարգը: փոփոխություններն ուժի մեջ կմտնեն վերաբեռնումից հետո:

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

Արդյունքում ես ստացա հետևյալ պատասխան ֆայլը sysprep-ի համար.

Unattend.xml

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="specialize">
        <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Path>reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v SetupDisplayedProductKey /t REG_DWORD /d 1 /f</Path>
                    <Order>1</Order>
                    <Description>Dont show key page</Description>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Path>reg add HKLMSoftwareMicrosoftWindowsCurrentVersionSetupOOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
                    <Order>2</Order>
                    <Description>Dont make account</Description>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Path>cmd.exe /c rd %systemdrive%Sysprep /s /q</Path>
                    <Order>3</Order>
                    <Description>Del Folder</Description>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <AutoLogon>
                <Enabled>true</Enabled>
                <Username>Admin</Username>
            </AutoLogon>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>en-US; ru-RU</InputLocale>
            <SystemLocale>ru-RU</SystemLocale>
            <UILanguage>en-US</UILanguage>
            <UILanguageFallback></UILanguageFallback>
            <UserLocale>ru-RU</UserLocale>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <ProtectYourPC>1</ProtectYourPC>
            </OOBE>
            <FirstLogonCommands>
                <SynchronousCommand wcm:action="add">
                    <CommandLine>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;</CommandLine>
                    <Description>CreateConfig</Description>
                    <Order>1</Order>
                </SynchronousCommand>
                <SynchronousCommand wcm:action="add">
                    <CommandLine>control intl.cpl,,/f:&quot;%TMP%Config.xml&quot;</CommandLine>
                    <Description>UseConfig</Description>
                    <Order>2</Order>
                </SynchronousCommand>
                <SynchronousCommand wcm:action="add">
                    <CommandLine>cmd.exe /c del &quot;%TMP%Config.xml&quot; /q&amp;shutdown /r /f /t 00</CommandLine>
                    <Description>DelConfig</Description>
                    <Order>3</Order>
                </SynchronousCommand>
            </FirstLogonCommands>
        </component>
    </settings>

Եկեք ստուգենք...

Մենք վերբեռնում ենք համակարգի պատկերը՝ ռուսացված աուդիտի ռեժիմում:

Մենք Unattend.xml ֆայլը փոխում ենք նորով, գործարկում ենք «Sysprep.bat», ընտրում ենք 2-րդ կետը և տեսնում, թե ինչ ենք ստացել: Երբ առաջին անգամ եք բեռնում, ողջույնի էկրանը անգլերեն է, և համակարգը վերաբեռնվում է: Ողջույնի էկրանը ռուսերեն է, մուլտիկիոսկն աշխատում է։

Եթե ​​հարցեր ունեք Windows 10 IoT Enterprise-ի ստեղծման և լիցենզավորման վերաբերյալ, խնդրում ենք կապվել՝ [էլեկտրոնային փոստով պաշտպանված] կամ կայքէջին quarta-embedded.ru.
Որոշ հարցերի պատասխաններ կարող եք գտնել այստեղ մեր վիքի կամ մեր վրա YouTube ալիք

Հոդվածի հեղինակ՝ Վլադիմիր Բորիսենկով, Quarta Technologies-ի տեխնիկական փորձագետ։

Source: www.habr.com