Windows 10 IOT Enterprise 2019 - multi-kiosk modus

introduction

Windows 10 IOT Enterprise 2019 Est nomen venalicium pro altera emissione Windows 10. Dimissio huius versionis mense Septembri 2018 nuntiata est, respective habet versionem 1809, 18 annus est, mensis est 09. Multi articuli in Fenestra 10 1809 nova emissione conscripti sunt, sed plerique variis "arcibus", "pulchris" et variis functionibus quae domi flagitant sunt deditae.
Articulus hic solum de functionality quae postulare potest inter fabricas technicarum fixarum. Nempe de novis facultatibus modi "Kiosk". Thema mutandi nomina technarum pro Fenestra editionum incepti segmenti operae etiam tangetur.

Vetus religio consilium cum novo nomine

Incipiamus brevi explicatione: in segmento corporato Fenestrarum editionum duae sunt machinae servitutis secundum quas Fenestra updates accipit. Servitii figuras litterae designationis habent. Nunc ministerium rami vocantur LTSC et SAC.

LTSC stands for Long Term Service Channel (Cum diu terminus sustentationem). Antea, talis alveus appellatus est LTSB - Long Term Servicing germen, Microsoft nomen servitutis canalis simpliciter mutatum, ipsum servitium manebat.

Microsoft etiam nomen servitutis mutavit CBB - germen in Negotia currente, nunc hoc munus ramus SAC vocatur - Semi-Genus Channel. Iterum solum nomen mutatum est.

Sed memorandum est quod LTSC et SAC rami servientes diversis Fenestra distributionibus utuntur.

Paulo de novo ac ante SAC . modus

Ut iam dixi, LTSC et SAC diversas habent distributiones. LTSC vexillum universale apporum vel apporum non habet, sed SAC facit. Proinde LTSC pasco marginem non habet, sed SAC facit. Si navigatrum eliges cum ac ante constituendum, tunc duo modi nunc in promptu sunt:

  1. Ut a digital signum seu interactive ostentationem
  2. Sicut pasco publico

Modis constituendis non moror, quia... Propositum est valde simplex et in graphice interface fit. Modo crea utentem qui non est membrum coetus Administratorum, da ac ante modum ei utendi ACIES et vide quomodo hi modi operantur.

Ac ante cum multis applications

Quidam putant quod usus licentiati Windows 10 IoT Enterprise operatio enim unius tantum applicationis in arte implicat, etenim hoc non ita est. Cogitatus designari debet ad negotium negotium faciendum et usor aditus ad escritorium non debet. Nunc Microsoft ipsum instrumentum ad multas applicationes utendum dedit. Hic modus “multi-app ac ante” appellatur, posthac, ut brevitatem dicam, “multikiosk”. In hoc articulo videbimus hunc modum instituere utendi sarcina software et nonnulla lineamenta huius modi.

Paulo de Multikiosk modus

Cum aperias rationem usoris ad quam multi-kiosk modus configuratur, ratio in tabulis modum operabitur. Satus menu expandet ad plenam velum, applicationes tegularum ostendens.

Index fundamentalis occasus et modus facultatum:

  1. Occasus sursum pro plures users vel coetus
  2. Quisque user vel coetus potest assignari singula occasus
  3. Facultatem ad applicationes universales et classic
  4. Facultas automatice unum ex applicationibus launch cum in usoris
  5. Whitelisted applications
  6. Accessing folder utens album album

Operae pretium est animadvertere 5. Defectu, iis tantummodo applicationibus quae ad rationem operandi necessariae sunt, ad operandum permittetur, aliae applicationes ad indicem permissarum adiciendae sunt. Illae. Nunc AppLocker separatim configurare non debes. Viam ad vitandum pugnas cum AppLocker occasus, in modo multi-kiosk, omnes regulae AppLocker conformatae non valent.

Punctum 6 indicat optio bona, sed in momento tantum potest licentiam dare scribendo ad folder "download". Modus permittit vos applicationibus universalibus et classicis uti. Omnes modi occasus in fasciculo XML specificati sunt, in quo etiam occasus specificare potes pro uno applicatione ac ante.

Nunc temptamus omnia proponere...

Quid opus est...

  1. Imprimis ratio ipsa opus est, quae modum multikiosk sustinet. Hic potes download demo versio
  2. Instructiones ad constituendum multikiosk
  3. Quisquis XML editor
  4. Multikiosk adhibere occasus:
    1. Pro methodo N. 1 - ICD, quae pars est ADK. ADK potest hic download
    2. Pro methodo N. 2 - ad PsExec utilitatem. Utilitas potest esse hic download

Dixit, "Eamus."

Omnia experimenta in Windows 10 IoT Enterprise 1809 LTSC x32 versionem commercialem ducam, non versionem demo. Systema non activated quia defectus activationis non afficit functionem systematis. 32 minutas tantum cepi quia minus spatii sumit et velocius cum systematis imaginibus laborare erit.

Gradus I - institutionem

Inaugurare Vincere 10 IoT Inceptum non diversum est ab inauguratione Vincere 10 Inceptum, ergo totam institutionem processum non describo, de aliquibus nuances tantum loqui.

Modo in casu, te admonebo, ne systema institutum in capite instituas. Cum inauguratus quaerit de institutione loci systematis, omnes partitiones in futuro orbe systematis delere et disci divisum designare.

Systema sine connexione interretiali instituimus ut ratio nihil superfluum non evellere possit.

Quod Imagines systematis tergum creabimus et ob hoc in computo modum signabimus, deinde aliquo tempore conservare potes rationem in computo modo statim post institutionem oneratisque. Ad hoc fac, cum ratio te rogat ut regionem "Incipiamus cum regione. Hoc est ius "modo torcular "Ctrl+Shift+F3".

Gradus II - creare systema imaginem

Quod nos systema illudere et varias novas condiciones experiri, fieri potest ut aliquid errabit et nos ad pristinum statum redire debebimus. Et ut cito ad pristinum statum revertaris, ratio imaginis creare debes. Restat ut faciam exemplum "ornamentum generosi" - scripturae et tabellae responsionis. Omnia documenta mea in folder "Sysprep" sita sunt, quae ad radicem orbis systematis effingo. Et naturaliter huius "viri propositi" tecum communicabo.

Sysprep.bat - ratio signandi.

@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

Cum launched, scriptum reprehendo propter rationem "Admin" et unum si desit crea. Rationem adicietur sodalitati Magistratus.

Unattend.xml - responsio lima pro 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>

Cum obsignandi modum in computo, scriptura mandatum subcriptio adiciet ut processum "sysprep.exe" finiat, ne fenestra sysprep manually singulis diebus claudat. Cum in salve modo signatus est, scriptum imperium ex registro claudere fenestram removebit et ipsum valorem architecturae in tabella responsionis currenti mutabit. Responsum fasciculus ambitus continet ad systema tabernus sine commercio usoris et mandatum ad delendo "Sysprep" folder in radice systematis coegi.

Nunc systema signabo in modo audito utendi "Sysprep.bat" et imaginem systematis capiam. DisM systema utens imaginem dabo et solum volumen systematis imaginabo. Si volumen solum systematis imaginis et non totius orbis volueris, tunc noli oblivisci contenta "WindowsSystem32Recovery" indicis primi voluminis in "RecoveryWindowsRE" effingere postquam systema explicando. Hoc opus erit ante oneratisque OS. post OS plenis, directorium "WindowsSystem32Recovery" iam vacuum erit.

Gradus III - Russification systematis

Sarcina lingua sine nexu interretiali institui potest si hanc sarcinam habes. Sin minus, ratio ipsa eam ex Interrete accipiet cum linguam in uncinis addideris. Modo non opus est ut linguam sarcinam ex priorum versionibus OS capere. Pro Windows 10 1809 Linguam sarcinam speciatim pro Fenestra 10 1809 esse debet.

Microsoft suum consilium secutus est ut occasus e tabula classica ad novum paulatim transferat, ita in tabula dicione classica non iam invenies occasus ad linguam mutandam et ad linguam sarcinam instituendam. Hae occasus nunc tantum in parametris systematis sunt.

In computo modo, problema aperiendi ratio uncinis ab initio tabulae incidas, ut ratio aperiatur, mandatum curras - "ms-occasus:", attende ad colonum in fine praecepti, sine ea voluntas imperandi. non operatur. Cum systema parametri aperire semel hoc iubente utens, aperiri potest utens tabula graphica.

Sed in uncinis systematis linguam sarcinam instituere potes si systema Interreti iungitur, optio elige non est ut linguam sarcinam ex file locali instituat.

Processum localisandi systematis non describere, quia... hoc signanter inpediunt articulum, praesertim cum processus localizationis explicatur hic descriptus. Sed vellem animum advertere ad proprietatem mutandi systematis linguae, inaugurari linguam sarcinam consolandi utendi. Pluma haec in eadem pagina describitur cui nexum antea dedi, in ordine "Addens linguam ad indicem linguarum".

Linguam sarcinam sine conexio interretialem instituam.

Post completam localizationem systematis, fac imaginem systematis creare.

Gradus IV - Install necessariis applicationibus

Quod Cum LTSB et LTSC systemata applicationem copiae non habent, applicationes e Microsoft Store insertas causant aliquas difficultates, scilicet applicationem deprimendo. Ad applicationes download, societas Adguard admodum commodam servitium fecit. "Adguard Store", cum quibus extrahere potes nexus temporales pro applicationibus earumque componentibus.

Ad applicationem installare, lima per extensiones "Appx" et "AppxBundle" opus erit. Priusquam ipsam applicationem inauguraris, elementa eius instituere debes. Pro regula, partes ab applicatione intuitive distingui possunt tabella nominis.

Ut articulum nimis longum non faciamus, processum applicationum insertarum singillatim describam, praesertim cum notitia de institutione adsit. instructiones detailed. Sed unum plus adjiciam modo applicationes in ratione currenti instituendi. Applications possunt installed per programmata "App Installer"sed ut applicationes instituas, nexu interreti indigebis, applicationes autem duplici clica inaugurari possunt et eius componentibus non indigebis, omnia elementa necessaria extrahent et instituent. "App Installer".

Et parva admonitio, cum applicationem in ratione currenti inauguraris, systema signare non poteris. Quomodo applicationes instituendi ut systema signare possis, superius mandata vide. Et ad reprimendam operationem multikiosk, applicationes exsistentes satis sufficiunt.

Step 5 - creans configurationem lima pro multikiosk

Nunc ad rem maxime interesting - constituendum kiosk modum constituendum est. Intueamur instructiones iuxta occasus videmus. Ante omnia opus est limam XML configurationis creare, cuius exemplum plenum hic inveniri potest. hic.

Initium ponendo tegulam at arcu. Facillime via ad creandum XML tegulam customizationem configurationem est export current status.

Imprimis addamus tegulas applicationum quas in menu Satus Satus nobis opus est. Evoca inquisitionem "Win+s", applicationem desideratam inveni, dextram-click in ea et lego "Acus ad Committitur Screen".

Ego haec apps confixi:

  • ullamcorper
  • calculator
  • Penitus Rimor
  • Aliquam
  • Vox
  • parametri
  • Fenestra Securitatis

Duo postrema medicamenta confixi sunt quia... Simpliciter nullae aliae applicationes universales in sarcina vexillum LTSC sunt. Nota tegulas escriticas cum brevibus coniungas. Nunc tegulas directe movendo in tabula Satus initio, tegulas tignatas in duos circulos separabo. Ad novum tegularum coetum creandum, tegulam insigniter altiorem vel inferiorem quam aliis tegulis trahunt, quae intuitivam divisorem illustrabunt. Circulos pro arbitrio tuo nominare potes, hoc facere, cursorem murem supra coetum pone, et cum inscriptio "Nomen coetus" apparet, deprime puga murem sinistrum. Primum coetus "Optiones" appellabo, tegulas "Optiones" et "Fenestras Securitatis" comprehendet. Secundam "officium Applications" appellabo, quae omnes alias tegulas complectetur. Viam tegularum integras partes movere potes, eas trahendo utens duobus plagis quae in summo iure coetus nominis sita sunt.

Quod In "Fenestra Securitatis" nomen omnino non convenit, magnitudinem suam ad "Latam" mutabo. Mutare magnitudinem tegularum, cliccum in tegulae dextra ac "Resize".

Post configurationem, praesentem statum exportamus et mandatum exequimur in environment PowerShell - "Export-StartLayout - iter C:SysprepStartLayout.xml".

Deinde, via facillima non est teipsum creare uncinis limare, sed Exemplum accipe hinc file occasus - preme in "Copy" puga, crustulum contenta in nota et salva ut "MultiAppKiosk.xml". Nunc mutamus occasus nostro. Mutare uncinis tegulis appositis, totam "StartLayoutCollection" scandalum ex "StartLayout.xml" ad "MultiAppKiosk.xml" effingo. Ad applicationes ad permissas adde, debes applicationem universalem identificantium in sectionem "Permissae Apps" inserere et in eodem stipite plenam viam applicationibus exsecutabilium applicationum classicarum addere, quae in proprietatibus brevium quibus specificatur. tegulas refer. Ut celeriter ad brevem, dextram click in tegulam tigillum et ad More > Vade ad locum fasciculi. Nota parametrum "AppUserModelId" adhibitum ad App ID universalem specificandum, ac "DesktopAppPath" parametrum ad plenam semitam applicandi escritorio. Et unum minutum maius, si IE in systemate x64 uti cogitas, tum in indice applicationum permissorum debes duas vias designare ad documentum exsecutabile "Programma FilesInternet Exploreriexplore.exe" et "Programma Files (x86) Internet Exploreri. exe".

Accessum ad folder non dabo, ideo sectionem "FileExplorerNamespaceRestrictionum" deleto.

Negotium exhibens mihi molestus non est, ideo omnia relinquo sicut in sectione "Taskbar" est.

In exemplo duae figurae specificatae sunt, sed ego tantum unam figuram habeo, sic sectio cum secunda profile deleri potest. Priusquam uninstaller, exemplum attende statim incipiendi a applicatione cum argumentis.

In sectione "Mandi" rationes cum profiles coniunguntur, note quaeso rationes multiplices cum uno profano coniungi posse. Sed quia Tantum interest in una ratione, omnes ligaturas delebo praeter primam - "Mando" cuneos. In reliqua obligatione scribemus nomen usoris "Usoris".

Ego got hoc file parametri

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>

Cum tabellas conformationes tuas XML facis, noli oblivisci singula profile id unicum habere debere, et non solum intra unum XML fasciculum, sed intra unum OS. Illae. Specimen, ad evitandam confusionem, novum identificatorem singulis diebus creare potes, id fieri potest in ambitu PowerShell utens mandatum "[Guid]:: NewGuid()". Et fac ut tabellam in "UTF-8" descriptam serves, si tabella in "ANSI" descriptam servata est, tunc in sarcina praeparationis fabricandae errorem recipies si XML fasciculus cyrillicum contineat.

Gradus VI - applicans multikiosk occasus

Duobus modis inspiciamus ut uncinis in lima configuration descriptis adhibeantur. Primum est per sarcinam cibariam, quae in ICD creari debet. Quibusdam fortasse notior erit haec methodus. Alter utens "MDM Bridge WMI Providentem", haec methodus mihi commodior visa est.

modum №1

Quis ICD non habet? download ADK et instituere. Installing ADK valde simplex est, partium copia defaltam relinqui potest.

Duc ICD, preme in tegulam "praeparationis provectae", nomen denota et folder incepti et deprime "Next". In altera fenestra, elige "Omnes editiones Windows desktop" et deprime "Next". In sarcina praeparationis skip importare potes: preme "Finish".

Dilata "Runtime Optiones" gutta-down menu, tunc expand "AssignedAccess" submenu et eligere "MultiAppAssignedAccessSettings". In summitate mediae sectionis fenestrae ICD, preme "Browse" puga et indica locum tabellae XML cum uncinis. Iustus in casu, consilium servare potes premendo "Ctrl+s". In superiore parte sinistra ICD, elige "Exporta" et lego "Provisioning Package" ex tabula gutta-down. Ut dominus, elige "IT administrator", omnes aliae quaestiones omitti possunt strepitando "Next" et in fine preme "Aedificare" et "Perficere".

In systemate inaugurato noli oblivisci utentem "usorem" creare, "administratores" coetus addi non potest, aliter multikioscus non laborabit. Usorem in Computer Management cum tessera creavi quae numquam exspirat.

Nunc currimus sarcinam praeparationem in systemate prius inaugurato. Post involucrum praeparationis applicatum, initium tabulae et tabula administratoris mutabunt. In sinistra columna initio globuli evanescant: "Documenta", "Imago", "Optiones". Si initium menu non mutatur, aliquid erravit. Inauguratum involucrum tolli potest aperiendo Occasus > Rationes > Laboris vel scholae ratio accessus > sarcina fenestra cibaria addere vel removere.

Si initium menu mutatur, uncinis ad systema applicantur, aperi in utentis utentis pro quo multikiosk configuratur et eventum specta.

modum №2

Applicando occasus utens "MDM Bridge WMI Providentem" hic descriptus. Commodum huius methodi est eius flexibilitas usus et facultas ad tollendum multas operationes manuales, quae ad sarcinam praeparandam necessariae sunt. Hic quisque statuere sibi potest quod illis commodum erit. Ego feci in duobus scriptoribus pro me.

MiltiKiosk.bat - Lorem script

@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 - principalis scriptor

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

Si solutionem meam uti voles, servata supra scripta cum originibus suis nominibus in uno folder et "PsExec.exe" lima in eodem folder pone. In eodem folder, crea folder "XML" et effingo lima XML multikioscum in eam configurare. Utar eodem fasciculo ac primo modo.

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>

Pauca de liniamenta script. Scriptum ordinatur ad XML fasciculos cum "UTF8" descriptam, si vis "ANSI" descriptam uti, tunc "UTF8" modulum e tabella lectionis optionis removere. Documenta XML in "XML" folder pone debes sine characteribus substituendis, ipsa scriptura notas speciales substituet cum congruis vocabulis. Ne confundantur in GUIDs conjunctionis usorum cum profiles, simpliciter indicare potes numerum usoris vel nomen in bracteatis crispis, omnia contenta in capreolis crispis cum GUIDs restituentur.

Scriptum utens valde simplex est, iustus currit et requiritur item lego. Praesens configurationem ad novam mutandam, hodiernam delere necesse non est, sed overscripte erit. Noli oblivisci utentes creare qui in lima configurationis sunt.

Cum inspiceret configurationem multikiosk hodiernam in eodem sessione, in quo applicabatur, loco specialium notarum, combinationes characterum substitutionis ostendentur. Post sessionem mutato (restituendo scripturam) omnes characteres speciales in forma originali ostendentur.

Step VII - signantes Ratio

Opera multikiosk, bene, omnia, videtur...

Si omnia secundum consilium se habent, non aliquid advertis.

Noli oblivisci nos adhuc opus esse systema mutandi modus ab audito ad modum excipiendi. Bene ad hoc parati sumus, "Sysprep.bat", punctum electum 2, ratio obsignata est. Vertamus in fabrica, caligae systematis, aperimus rationem usoris ob quam multikiosk configuratur, sed inire non possumus. Post nuntium "Welcome", nuntius "logout" apparet.

Primum problema solutionem tantum describere volui, sed postea gradus ad quaestionem cognoscendam et solutionem simplicissimam describere decrevi, quia... Multi legentibus dubiis dubiis cruciabuntur - "Quid si ita est...". Puto te descripsisse varia experimenta notabile temporis spatium servaturum, si aliam solutionem invenire vis. Ut notitias quam diligentissime pateat, iterumque fac ut errores non sint, experimenta in "factis" et "exposita" forma describendis. Illae. Experimenta iterum faciam descripta.

Experimenta

Quid fecimus? Duae rationes sunt in systemate:

"Admin" - in "Administratores" coetus
"User" - in "Users" coetus
In computo multikiosk laboravit, sed signatus non laboravit.

Experimentum 1

Inauguratum sarcinam praeparationis delemus, in "Computer Management" disrumpam in usorem "Usoris" delemus et novum usorem nomine "Usoris" creamus, sarcinam praeparationem adhibemus, ad "User" rationem - facit non operatur. Sub nomine "Admin" imus, usorem "Usoris" a "Users" coetu removemus, illud coetus "Administratores" adiungimus, sub nomine "Usoris" - non fungitur. Sub nomine "Admin" aperi, praeparationem sarcinam cum multikiosk dele, sub nomine "Usoris" - inire potuimus, sed sane modus multikiosci non operatur quia In sarcina commeatus remotus est.

Experimentum 2

Imaginem systematis imaginamur - Russified in computo modo.

In OS oneravit, torcular "Win + r", quia Fenestra sysprep nostra sponte occlusa est, mandatum "sssprep" currite, "sysprep" in fenestra aperiente currite. Sysprep occasus in fenestra: “Ite ad rationem fenestram gratissimam (OOBE)”, “Praeparans ad usum”, “Reboot”. Click "OK" et exspecta OS salutem. Respondemus interrogationibus cum primum tabernus ratio: "Perge in lingua selecta?" - "Russian"; region - Russia; keyboard layout - Russian; claviaturae secundae adde layout - omit; "Sit te coniungere ad reticulum" - "Ski nunc"; connect to Internet - no; licentia pactum - accept; “Qui hoc computatorio utetur” – “Test”; tesseram creando - campum vacuum relinquere; Opportuna operatio in diversis machinis – non; Secreti occasus - accept. OS oneravit, in "Computer Management" disrumpam-in user nomen "Usoris" creamus, sarcinam praeparationem addimus. Ita fit ut non operetur.

Experimentum 3

Imaginem systematis imaginamur - Russified in computo modo.

OS oneravit, systema interreti connectit, mandatum "gpedit.msc" currite et in sectione "Fenestra Update" potest "Admitte suadeo updates per automataria" optionis, reboot modo in casu. In centro renovationis, preme "reprehendo pro updates" et reboot donec omnes updates installantur. Disiungo systema a Internet. "sysprep" in graphice modo deprimimus et omnes gradus superiores gradus descriptos repetimus, ne utilitatem "sysprep" currendo ad sarcinam praeparationis addendo. Ita fit ut non operetur.

Experimentum 4

Imaginem systematis imaginamur - Anglice in computo modo.

"sysprep" in graphice modo deprimimus, signamus OS iisdem parametris ac in experimentis 2. Cum systema primum ocrearum, parametros eosdem eligimus ac in experimento 2, exceptis parametris regionalibus et linguae ob. Nulla lingua Russica est. Eodem modo, "usorem" crea et sarcinam cibariam adde. Ita efficitur ut opera. Illae. Problema localizationi comparatur.

Experimentum 5

Imaginem systematis imaginamur - Russified in computo modo.

In "Computer Management" disrumpam in, crea user "User", sarcinam praeparationem adde, ad "User" rationem, multi-kiosk opera.

Log ex ratione tua et ini sub "Admin" rationem. PowerShell cum iuribus administratoribus demittimus, mandatum "Dism/online/Get-Intl" exsequuntur et vide "Default usoris linguae interfaciei: en-US".

Tabernus e mico in WinPE impellimus, OS in meum E pellunt explicant. Mandatum "Dism /image:E: /Set-UILang:ru-ru" exequimur. Eventum spectamus, "Dism /image:E: /Get-Intl" et vide "Default system UI linguae: ru-RU".

Nos in systematis tabernus, stipes in ratione "Usoris", multikioscum non fungitur.

Ad causam-et-effectum relationis problematis clare confirmandum, iterum conabimur multi-kiosk operari et non-operante.

Tabernus e mico in WinPE impellimus, OS in meum E pellunt explicant. Mandatum "Dism /image:E: /Set-UILang:en-us" exequimur. Eventum spectamus, "Dism /image: E: /Ge-Intl" et "Default system UI linguae: en-US" videmus.

Nos in systematis tabernus, stipes in ad "User" rationem, opera multikiosk.

Tabernus e mico in WinPE impellimus, OS in meum E pellunt explicant. Mandatum "Dism /image:E: /Set-UILang:ru-ru" exequimur. Eventum spectamus, "Dism /image:E: /Get-Intl" et vide "Default system UI linguae: ru-RU".

Nos in systematis tabernus, stipes in ratione "Usoris", multikioscum non fungitur.

Illae. claram dependentiam kiosk perficiendi per default user interfaciei linguae videre potes. Forsitan quaedam sunt alia quae multikiosk exercendo afficiunt?

Experimentum 6

Puritatis experimentum nos replemus ratio. Imaginem systematis imaginamur - Russified in computo modo.

"sysprep" modo graphice deprimimus, OS signamus iisdem parametris ac in experimentis 2. Exspectamus OS ut nos salutamus et respondemus quaestionibus: "Perge in lingua electa?" - "Latina"; region - Russia; Compendia layout – Russian. Praeterea omnes parametri sicut in experimentis 2 delecti sunt.

Inspice default usoris interfaciei linguae occasus. Mandatum "Dism / online / Get-Intl" exequimur et "Default system UI linguae: en-US". In "Computer Management" disrumpam in, crea user "User", sarcinam praeparationem adde, ad "User" rationem, multi-kiosk opera.

Conamur kiosk rumpere mutando defaltam usoris interfaciei linguam. Imus in user "Test", qui cum systema primum sarcinata est creatum est et aperiens aperiens aperiens conventum emittit ei ut ratio in "User" rationem statim non tabernus. Executio "netplwiz", elige "teste" usorem, notam "usoris et tesseram require" reprehendo et parametros applica.

Tabernus e mico coegi in WinPE. Exequi mandatum "Dism /image:E: /Set-UILang:ru-ru". Eventum spectamus, "Dism /image:E: /Get-Intl" et vide "Default system UI linguae: ru-RU".

Nos in systematis tabernus, conantur "User" rationem, multikiosk opera aperi. Illae. frangi non potest. Licetne hoc modo operari?

Experimentum 7

Imaginem systematis imaginamur - Russified in computo modo.

Dedimus "Sysprep.bat", punctum electum 2. Nos in systematis tabernus, usorem "Usoris" in "Computer Management" disrumpam creamus, sarcinam praeparationem addimus, ad "User" rationem, multi- ac ante non operatur.

Tabernus e mico coegi in WinPE. Exequi mandatum "Dism /image:E: /Set-UILang:en-us". Eventum spectamus, "Dism /image: E: /Get-Intl" et vide "Default systematis UI linguae: en-US".

Nos in systematis tabernus, conantur log in rationem "Usoris", multikioscum non fungitur.

Evenit ut mutando default user instrumenti linguae occasus, multikiosk modo affici potest, cum ratio in modo audito vel in prima caliga systema signans. Hoc significat quod rationi obsignare debebis cum tabella responsionis in qua lingua systematis Anglice eligetur, et tunc mutatur ratio uncinorum ita ut interface Russian sit. Non optima solutio. Forsitan problema solvi potest inserendo sarcinam linguam vel linguam addito inaugurando sarcinas?

Experimentum 8

Imaginem systematis imaginamur - Anglice in computo modo.

Coniungimus interreti in parametri systematis sectionem "Language" ire, eligere "linguam addere", linguam "Russicam" eligere, preme "Next", institutionem parametri ut defaltam relinquas, preme "Install", insertis inauguratis lingua sarcina nos systema reboet, nunc in Russified. Disiunge systema a Interrete, currite "Sysprep.bat", punctum electum 2 .

Plenique rationem, in "Computer Management" disrumpam in, fac "User" user, sarcinam praeparandi adde, ad rationem "Usoris", multi-kiosk non operatur.

Experimentum 9

Conemur Russify systema ante institutionem, in modo offline. Eodem tempore breve erit institutionis progressio in localizationis distributione.

Tollo mico coegi cum distributione munda originali - X21-96381. Eiciam erit "E". Imagines conscendere, folders creo: "c:MontesInstall", "c:MountWinre", "c:MountBoot". Locum fasciculorum localizationis constituo - X21-87814. Et in "c:Monte" folder exscribo fasciculos ex eo: "Microsoft-Fenestra-Client-Language-Pack_x86_ru-ru.cab", "lp.cab", "WinPE-Setup_ru-ru.cab". Solarium cum administratoribus iuribus deduco. Plura mandata sine commento patebit.

Localization imperium

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

Nos tabernus e mico coegi, linguam Russicam elige et systema in blank disco instituunt. Cum ratio te rogat ut regionem deligeas, preme "Ctrl+Shift+F3". In "Computer Management" disrumpam, user creare "User", sarcinam praeparationem addas, ad rationem "Usoris", multi-kiosk non operatur.

Tabernus e mico coegi in WinPE. Exequi mandatum "Dism /image:E: /Set-UILang:en-us".

Nos in systematis tabernus, conantur "User" rationem, multikiosk opera aperi.

Quaestio videtur in modis addendi sarcinam non esse, temptamus additis fasciculis addere.

Experimentum 10

Coegi mico accipimus quod in priore passu paravimus.

"Feat on Demand" sarcina - X21-87815. Exscribo fasciculos ab eo ad "c:Monte" folder: «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».

Consolamini deducite cum administratoribus iura et mandata exequenda;

imperium

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

Nos tabernus e mico coegi, linguam Russicam elige et systema in blank disco instituunt. Cum ratio te rogat ut regionem deligeas, preme "Ctrl+Shift+F3". In "Computer Management" disrumpam in usorem crea, sarcinam cibariam adde, et in rationem "Usoris" aperi. Tentorium nigrum accepi, quod diu suspensum est, ut systema calidum profuerit.

Praeparationem sarcinam delemus, stipes ut "User", systema reboot, sarcinam praeparationem addas, multikioscum non operatur.

Tabernus e mico coegi in WinPE. Exequi mandatum "Dism /image:E: /Set-UILang:en-us".

Nos in systematis tabernus, conantur "User" rationem, multikiosk opera aperi.

Workaround

Solitis heroibus. Semper ambages accipiant!

Varii modi institutionis localizationis sarcinas solvendi non sunt problema, quod significat quod debebis linguam "en-us" instituere in prima tabernus obsignata et linguae occasus post primam tabernus mutationem.

Imaginem systematis imaginamur - Russified in computo modo.

In fasciculo "Unattend.xml", in parametro intra "en-US", "Sysprep.bat", currite, punctum electum 2 et vide quid cepimus. Gratum tegumentum Anglice est, opera multi-kiosk. Hoc modo debes mandatum addere ut "Unattend.xml" ad linguam salutantem mutandam. Quod ut facias, mandatum "imperium intl.cpl,, /f:" currere debes, indicans fasciculi configurationem, qui exemplarem hodiernam parametri ad acceptum tentorium designabit. Contenta configurationis fasciculi sic videbunt.

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

Quod hodiernae usoris occasus imitabitur, tum mandatum exsecutioni mandari debet postquam usor initium fecit, quod significat quod opus erit. Una parva "sed", exsecutio fiet post utentis cum iura administratorum tigna in. Nolo autem fasciculum additicium creare quod opus esset ad imperium feliciter currendum. Melius est totam solutionem in uno fasciculo efficere - "Unattend.xml". Ad hoc faciendum, simpliciter egere debes mandatum ut limam configurationem creat. Puto me limam configurationem creaturum utentem "echo" imperium in ambitu "cmd", sed brackets circumflexo angulum effugere oportet. Illae. Ad limam configurationem faciendam, hoc mandatum obtinetur.

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

Sed necesse est hoc praeceptum in XML collocare, quod proprias requisita ad speciales notas adhibet;

Proprium characterem
replacement valorem

>
&gt;

<
&lt;

&
&amp;

'
&apos;

"
&quot;

Quam ob rem, ut limam configurationem crearemus, hoc mandatum cepimus pro "PrimoLogonia Mandatorum".

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;

Deinceps mandatum exequimur utendo schemate de configuratione.

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

Deinde dele lima antea creata et systema reboot. mutationes tollet effectum post reboot.

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

Quam ob rem cum tabella responsionis sequentis finivi pro 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>

Sit scriptor reprehendo...

Imaginem systematis imaginamur - Russified in computo modo.

Unattend.xml tabellam novam mutamus, "Sysprep.bat", currite punctum 2 et vide quid cepimus. Cum primum tabernus, receptorium screen Anglice est et ratio reboots. Gratum tegumentum in Russian, opera multikiosk est.

Si quaestiones habes de constituenda ac licentiae Fenestras 10 IoT Inceptum, pete contactum: [Inscriptio protected] aut in website quarta-embedded.ru.
Potes invenire responsa ad aliquas quaestiones in nos wiki aut nobis YouTube channel

Auctor articuli: Vladimir Borisenkov, peritus technicorum in Quarta technologiarum.

Source: www.habr.com