Windows 10 IoT Enterprise 2019 — Բազմակի կրպակային ռեժիմ

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

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

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

Թույլ տվեք սկսել համառոտ բացատրությամբ՝ խմբագրական գրասենյակների կորպորատիվ հատվածում Windows Կան երկու սպասարկման սխեմաներ, որոնց համաձայն՝ Windows ստանում է թարմացումներ: Ծառայության պլանները նշված են տառերով: Ներկայումս ծառայության գծերը կոչվում են LTSC և SAC:

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

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

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

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

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

  1. Որպես թվային նշան կամ ինտերակտիվ էկրան
  2. Որպես հանրային դիտարկիչ

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

Կիոսկ՝ բազմաթիվ կիրառություններով

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

Մի փոքր «Բազմակի կրպակ» ռեժիմի մասին

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

Ռեժիմի հիմնական կարգավորումների և հնարավորությունների ցանկը՝

  1. Կարգավորում բազմաթիվ օգտատերերի կամ խմբերի համար
  2. Յուրաքանչյուր օգտատիրոջ կամ խմբի կարող են նշանակվել առանձին կարգավորումներ։
  3. Համընդհանուր և դասական կիրառությունների օգտագործման հնարավորությունը
  4. Մուտք գործելիս ծրագրերից մեկը ավտոմատ կերպով գործարկելու հնարավորություն
  5. Դիմումները աշխատում են սպիտակ ցուցակի համաձայն
  6. Թղթապանակների մուտքը սպիտակ ցուցակի միջոցով

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

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

Հիմա փորձենք ամեն ինչ դասավորել...

Այն, ինչ մեզ անհրաժեշտ կլինի…

  1. Նախևառաջ մեզ անհրաժեշտ է համակարգը, որը աջակցում է բազմակի կրպակի ռեժիմին։ Դուք կարող եք ներբեռնել այն այստեղ դեմո տարբերակ
  2. Բազմակի կրպակ տեղադրելու հրահանգներ
  3. Ցանկացած XML խմբագրիչ
  4. Բազմակի կրպակի կարգավորումները կիրառելու համար՝
    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

Գործարկման ժամանակ սկրիպտը կստուգի «Ադմինիստրատոր» հաշվի առկայությունը և կստեղծի այն, եթե այն գոյություն չունի։ Հաշիվը կավելացվի Ադմինիստրատորների խմբում։

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"-ը «Վերականգնում» թղթապանակի առաջին հատորի վրաWindowsRE" համակարգի տեղակայումից հետո։ Սա պետք է արվի օպերացիոն համակարգի բեռնվելուց առաջ, քանի որ օպերացիոն համակարգի բեռնվելուց հետո «WindowsSystem32Recovery» ֆայլն արդեն դատարկ կլինի։

Քայլ 3՝ համակարգի ռուսիֆիկացիա

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

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

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

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

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

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

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

Քայլ 4 – Անհրաժեշտ ծրագրերի տեղադրում

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

Ծրագիրը տեղադրելու համար ձեզ անհրաժեշտ կլինեն «Appx» և «AppxBundle» ընդլայնումներով ֆայլեր։ Ծրագիրը տեղադրելուց առաջ անհրաժեշտ է տեղադրել դրա բաղադրիչները։ Որպես կանոն, ծրագրի բաղադրիչները կարելի է ինտուիտիվորեն տարբերակել ֆայլի անունով։

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

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

Քայլ 5 – Բազմակի կրպակի համար կոնֆիգուրացիայի ֆայլի ստեղծում

Հիմա մենք հասել ենք ամենահետաքրքիր մասին՝ տաղավարի ռեժիմի կարգավորումը։ Եկեք նայենք հանձնարարություն Մենք կարող ենք տեսնել այն ըստ կարգավորումների։ Նախևառաջ, մենք պետք է ստեղծենք կարգավորման XML ֆայլ, որի ամբողջական օրինակը կարող եք գտնել այստեղ։ տես այստեղ.

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

Նախևառաջ, եկեք «Սկիզբ» ցանկում ավելացնենք մեզ անհրաժեշտ ծրագրերի սալիկներ։ Մենք որոնումը անվանում ենք «Win+s», գտնում ենք ցանկալի ծրագիրը, աջ սեղմում ենք դրա վրա և ընտրում «Pin to Start Screen» (Կապել մեկնարկային էկրանին):

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

  • Գրառման գրքույկ
  • Հաշվիչ
  • internet Explorer- ի
  • Նկարել
  • WordPad- ը
  • Պարամետրեր
  • Безопасность Windows

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

Քանի որ սալիկի վրա «Անվտանգություն» Windows«Վերնագիրը լիովին չի տեղավորվում, ուստի ես կփոխեմ դրա չափը «Լայն»-ի։ Սալիկի չափը փոխելու համար սեղմեք դրա վրա աջ կոճակով և ընտրեք «Չափափոխել»։»

Կարգավորելուց հետո մենք արտահանում ենք ընթացիկ վիճակը, կատարում ենք PowerShell միջավայրում հրամանը՝ «Export-StartLayout – path C:SysprepStartLayout.xml»:

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

Ես չեմ տրամադրի թղթապանակներին մուտք գործելու հնարավորություն, ուստի ջնջում եմ «FileExplorerNamespaceRestrictions» բաժինը։

Ես դեմ չեմ, որ առաջադրանքների վահանակը ցուցադրվի, այնպես որ ամեն ինչ թողնում եմ այնպես, ինչպես կա «Առաջադրանքների վահանակ» բաժնում։

Օրինակում նշված են երկու պրոֆիլներ, բայց ես կունենամ միայն մեկ պրոֆիլ, ուստի երկրորդ պրոֆիլով բաժինը կարող է ջնջվել։ Ջնջելուց առաջ, խնդրում ենք նայել ավտոմատ ծրագրի գործարկման օրինակին՝ արգումենտներով։

«Կարգավորումներ» բաժնում հաշիվները կապված են պրոֆիլների հետ, խնդրում ենք նկատի ունենալ, որ մեկ պրոֆիլին կարող են կապված լինել մի քանի հաշիվներ։ Բայց քանի որ ես հետաքրքրված եմ միայն մեկ հաշվով, ես կջնջեմ բոլոր կապերը, բացի առաջինից՝ «Կարգավորել» բլոկներից։ Մնացած կապման մեջ ես կգրեմ «Օգտատեր» օգտատիրոջ անունը։

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

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 – Multikiosk կարգավորումների կիրառում

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

# 1 մեթոդ

Նրանց համար, ովքեր չունեն ICD, ներբեռնել ADK-ն և տեղադրել։ ADK-ի տեղադրումը շատ պարզ է, բաղադրիչների հավաքածուն կարող է մնալ լռելյայն։

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

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

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

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

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

# 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>

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

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

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

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

Բազմաֆունկցիոնալ կրպակն աշխատում է, լավ, թվում է, թե այդքանը…

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

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

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

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

Այսպիսով, ի՞նչ ստացանք։ Համակարգում կա երկու հաշիվ՝

«Ադմինիստրատոր» - «Ադմինիստրատորներ» խմբում
«Օգտատեր» - «Օգտատերեր» խմբում
Աուդիտի ռեժիմում բազմա-կրպակը աշխատեց, կնքված էր՝ չի աշխատում։

Փորձ 1

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

Փորձ 2

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

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

Փորձ 3

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

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

Փորձ 4

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

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

Փորձ 5

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

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

Դուրս եկեք ձեր հաշվից և մուտք գործեք «Ադմինիստրատոր» հաշվի միջոցով։ Գործարկեք PowerShell-ը ադմինիստրատորի իրավունքներով, գործարկեք «Dism /online /Get-Intl» հրամանը և տե՛ս «Default user interface language: 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» (համակարգի ինտերֆեյսի լռելյայն լեզուն՝ en-US) հրամանը։ Համակարգչային կառավարման լրացուցիչ ծրագրի մեջ ստեղծեք «Օգտատեր» անունով օգտատեր, ավելացրեք նախապատրաստման փաթեթ, մուտք գործեք «Օգտատեր» հաշիվ, և բազմա-կրպակը կաշխատի։

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

Բեռնեք ֆլեշ կրիչից 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

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

Միացեք ինտերնետին, համակարգի կարգավորումներում անցեք «Լեզու» բաժին, ընտրեք «Ավելացնել լեզու», ընտրեք «Ռուսերեն» լեզուն, սեղմեք «Հաջորդը», թողեք տեղադրման պարամետրերը լռելյայն, սեղմեք «Տեղադրել», լեզվական փաթեթը տեղադրելուց հետո վերագործարկեք համակարգը, այժմ այն ​​ռուսիֆիկացված է: Անջատեք համակարգը ինտերնետից, գործարկեք «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»: «Համակարգչային կառավարում» snap-in-ում ստեղծեք «Օգտատեր» օգտատեր, ավելացրեք ուսումնական փաթեթ, մուտք գործեք «Օգտատեր» հաշիվ, բազմա-կրպակը չի աշխատում:

Բեռնեք ֆլեշ կրիչից 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-րդ կետը և տեսեք, թե ինչ ենք ստանում։ Անգլերեն լեզվով ողջույնի էկրան, multikiosk – աշխատում է։ Սա նշանակում է, որ դուք պետք է հրաման ավելացնեք «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-րդ կետը և տեսնում ենք, թե ինչ ենք ստանում։ Առաջին բեռնման ժամանակ ողջույնի էկրանը անգլերեն լեզվով է, համակարգը վերագործարկվում է։ Ողջույնի էկրան ռուսերենով, multikiosk-ը աշխատում է։

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

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

Source: www.habr.com

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster