Sissejuhatus
– järgmise numbri turunduspealkiri Windows 10Selle versiooni väljaandmine kuulutati välja 2018. aasta septembris, seega on sellel versiooninumber 1809, kus 18 on aasta ja 09 on kuu. Uue versiooni kohaselt Windows 10 1809. aastal on kirjutatud palju artikleid, kuid enamik neist on pühendatud erinevatele "vibudele", "iludustele" ja mitmesugustele funktsioonidele, mis on kodus nõutud.
See artikkel keskendub ainult funktsionaalsusele, mille järele võib olla nõudlust statsionaarsete seadmete tootjate seas, täpsemalt kioskirežiimi uutele võimalustele. Samuti käsitletakse väljaannete teenusepakettide nimede muutmise teemat. Windows ettevõtte segment.
Vana teenindusskeem uue nimega
Lubage mul alustada lühikese selgitusega toimetuste ärisegmendis. Windows Teenuse osutamise skeemi on kaks, mille kohaselt Windows saab värskendusi. Teenusepaketid on tähistatud tähtedega. Praegu kannavad teenindusliinid nime LTSC ja SAC.
LTSC tähistab (pikaajalise hooldusega). Varem kandis sellist kanalit LTSB - Long Term Service Branch, Microsoft muutis lihtsalt teeninduskanali nime, teenus ise jäi samaks.
Microsoft muutis ka teenindusharu nime CBB - Current Branch for Business, nüüd kannab see teenindusharu nime SAC - . Jällegi on muutunud ainult nimi.
Kuid tuleb mainida, et LTSC ja SAC hooldusharud kasutavad erinevaid jaotusi. Windows.
Natuke SAC-i uuest kioskirežiimist
Nagu ma juba ütlesin, on LTSC ja SAC distributsioonid erinevad. LTSC-l pole standardseid universaalseid rakendusi ega rakendustepoodi, kuid SAC-il on. Vastavalt sellele pole LTSC-l Edge'i brauserit, kuid SAC-il on. Kui valite kioski seadistamisel brauseri Edge, on nüüd saadaval kaks režiimi:
- Digitaalmärgina või interaktiivse kuvarina
- Nagu avalik brauser
Nende režiimide seadistamisel ma pikemalt ei peatu, sest... Seadistamine on väga lihtne ja seda tehakse graafilise liidese kaudu. Lihtsalt looge kasutaja, kes ei ole administraatorite grupi liige, lubage tema jaoks EDGE-i abil kioskirežiim ja vaadake, kuidas need režiimid töötavad.
Kiosk paljude rakendustega
Mõned inimesed arvavad, et litsentsitud kasutamine tähendab, et seadmes töötab ainult üks rakendus, tegelikult see nii ei ole. Seade peab olema konstrueeritud ühe äriülesande täitmiseks ja kasutajal ei tohi olla juurdepääsu töölauale. Nüüd on Microsoft ise andnud tööriista paljude rakenduste kasutamiseks. Seda režiimi nimetatakse mitme rakenduse kioskiks; edaspidi nimetan seda lühiduse huvides mitme rakenduse kioskiks. Selles artiklis vaatleme selle režiimi seadistamist tarkvarapaketi ja selle režiimi mõningate funktsioonide abil.
Natuke multikioski režiimist
Kui logite sisse kasutajakontole, mille jaoks on konfigureeritud mitme kioski režiim, töötab süsteem tahvelarvuti režiimis. Menüü Start laieneb täisekraanile, kuvades rakenduse paanid.
Põhiseadete ja režiimi võimaluste loend:
- Seadistamine mitme kasutaja või rühma jaoks
- Igale kasutajale või rühmale saab määrata individuaalsed sätted
- Võimalus kasutada universaalseid ja klassikalisi rakendusi
- Võimalus automaatselt käivitada üks rakendustest, kui kasutaja sisse logib
- Lubatud nimekirjas olevad rakendused
- Juurdepääs kaustadele valge nimekirja abil
Tähelepanu tasub pöörata punktile 5. Vaikimisi lubatakse tööle vaid need rakendused, mis on süsteemi tööks vajalikud, muud rakendused tuleb lisada lubatud nimekirja. Need. Nüüd ei pea te AppLockerit eraldi konfigureerima. Muide, konfliktide vältimiseks AppLockeri sätetega ei kehti mitme kioski režiimis kõik konfigureeritud AppLockeri reeglid.
Punkt 6 viitab heale võimalusele, kuid hetkel on võimalik anda kirjutamisluba vaid kausta “Allalaadimised”. Režiim võimaldab kasutada universaalseid ja klassikalisi rakendusi. Kõik režiimi sätted on määratud XML-failis, milles saate määrata ka ühe rakenduse kioski sätteid.
Proovime nüüd kõik paika panna...
Mida me vajame...
- Kõigepealt vajame süsteemi ennast, mis toetab multikioski režiimi. demo versioon
- Mis tahes XML-redaktor
- Multikioski seadete rakendamiseks tehke järgmist.
- Meetodi nr 1 jaoks – ICD, mis on osa ADK-st. ADK on võimalik
- Meetodi nr 2 jaoks – utiliit PsExec. Kasulikkus võib olla
Ta ütles: "Lähme!"
Ma teen kõik katsed läbi Windows 10 IoT Enterprise 1809 LTSC x32 on kommertsversioon, mitte demo. Süsteem installitakse ilma aktiveerimiseta, kuna aktiveerimise puudumine ei mõjuta süsteemi funktsionaalsust. Valisin 32-bitise versiooni ainult seetõttu, et see võtab vähem ruumi ja töötab süsteemitõmmistega kiiremini.
1. samm – paigaldamine
Win 10 IoT Enterprise'i installimine ei erine Win 10 Enterprise'i installimisest, seega ma ei kirjelda kogu installiprotsessi, räägin vaid mõnest nüansist.
Tuletan igaks juhuks meelde, ärge paigaldage süsteemi installitud süsteemi peale. Kui installija küsib süsteemi paigalduskoha kohta, kustutage tulevasel süsteemikettal kõik partitsioonid ja määrake sektsioonideta ketas.
Installime süsteemi ilma internetiühenduseta, et süsteem midagi ebavajalikku üles ei tõmbaks.
Sest Loome süsteemist varupildid ja selleks pitseerime selle auditi režiimis, siis saad veidi aega kokku hoida laadides süsteemi kohe peale paigaldamist auditirežiimi. Selleks, kui süsteem palub teil valida piirkonna “Alustame piirkonnast. Kas see on õige" vajutage lihtsalt "Ctrl + Shift + F3".
2. samm - looge süsteemi pilt
Sest pilkame süsteemi ja proovime erinevaid uusi seadistusi, on võimalik, et midagi läheb valesti ja peame süsteemi algsesse olekusse tagasi viima. Ja algsesse olekusse kiireks naasmiseks peate looma süsteemipildi. Ainus, mida ma teen, on "härrasmeeste komplekti" - skripti ja vastuse faili kopeerimine. Kõik minu failid asuvad kaustas "Sysprep", mille ma kopeerin süsteemiketta juure. Ja loomulikult jagan seda "härrasmeeste komplekti" teiega.
Sysprep.bat – süsteemi tihendamiseks.
@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
Käivitamisel kontrollib skript „Admin” konto olemasolu ja loob selle, kui see puudub. Konto lisatakse administraatorite gruppi.
Unattend.xml – sysprepi vastusefail.
<?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>
Auditeerimisrežiimis sulgemisel lisab skript registrile käsu, et lõpetada protsess "sysprep.exe", et mitte sulgeda sysprep akent iga kord käsitsi. Tere režiimis sulgemisel eemaldab skript registrist akna sulgemise käsu ja ise muudab vastusefaili arhitektuuriväärtuse praeguseks. Vastusfail sisaldab parameetreid süsteemi käivitamiseks ilma kasutaja sekkumiseta ja käsku süsteemidraivi juurkausta Sysprep kustutamiseks.
Nüüd sulgen süsteemi auditirežiimis, kasutades faili "Sysprep.bat", ja teen süsteemitõmmise. Süsteemitõmmise tegemiseks kasutan DISM-i ja jäädvustan ainult süsteemiketta. Kui jäädvustate ainult süsteemiketta, mitte kogu ketast, ärge unustage kopeerida kausta "WindowsSystem32Recovery" esimesel köitel kaustas "Recovery"WindowsRE" pärast süsteemi juurutamist. Seda tuleb teha enne operatsioonisüsteemi laadimist, sest pärast operatsioonisüsteemi laadimist "WindowsSystem32Recovery" on juba tühi.
3. samm – süsteemi venestamine
Keelepaketi saab installida ka ilma internetiühenduseta, kui see on olemas. Kui seda pole, laadib süsteem selle automaatselt internetist alla, kui keele seadetesse lisate. Lihtsalt ärge kasutage eelmise operatsioonisüsteemi versiooni keelepaketti. Windows 10 1809 peaks olema spetsiaalselt keelepakett Windows 10 1809.
Microsoft järgib plaani viia sätted klassikalisest menüüst järk-järgult üle uude, nii et klassikaliselt juhtpaneelilt ei leia enam keele muutmise ja keelepaketi installimise sätteid. Need sätted on nüüd ainult süsteemi parameetrites.
Auditirežiimis võib tekkida probleem süsteemiseadete avamisel menüüst Start; süsteemiseadete avamiseks käivitage käsk - "ms-settings:", pöörake tähelepanu käsu lõpus olevale koolonile, ilma selleta käivitatakse käsk. ei tööta. Pärast süsteemi parameetrite ühekordset avamist selle käsuga saab selle avada graafilise menüü abil.
Kuid süsteemi seadetes saate installida keelepaketi, kui süsteem on Internetiga ühendatud, pole võimalust valida keelepaketi installimist kohalikust failist.
Ma ei kirjelda süsteemi lokaliseerimise protsessi, sest... see muudab artikli oluliselt keerulisemaks, eriti kuna lokaliseerimisprotsess on üksikasjalik . Kuid tahaksin juhtida teie tähelepanu süsteemi keele muutmise eripärale pärast keelepaketi installimist konsooli abil. Seda funktsiooni on kirjeldatud samas vikis, mille alajaotises ma lingi andsin .
Installin keelepaketi ilma Interneti-ühenduseta.
Pärast süsteemi täielikku lokaliseerimist looge kindlasti süsteemi pilt.
4. samm – installige vajalikud rakendused
Sest Kuna LTSB ja LTSC süsteemidel pole rakenduste poodi, põhjustab rakenduste installimine Microsoft Store'ist mõningaid raskusi, nimelt rakenduse allalaadimine. Rakenduste allalaadimiseks on Adguardi ettevõte teinud väga mugava teenuse - , mille abil saate rakenduste ja nende komponentide jaoks ajutisi allalaadimislinke.
Rakenduse installimiseks vajate faile laienditega "Appx" ja "AppxBundle". Enne rakenduse enda installimist peate installima selle komponendid. Rakenduse komponente saab reeglina failinime järgi intuitiivselt eristada.
Et artikkel mitte liiga pikk, ei kirjelda ma rakenduste installimise protsessi üksikasjalikult, eriti kuna installimise kohta on teavet . Kuid lisan veel ühe viisi rakenduste installimiseks teie praegusele kontole. Programmi abil saab rakendusi installida , kuid rakenduste installimiseks vajate Interneti-ühendust, kuid rakendusi saab installida topeltklõpsuga ja te ei vaja selle komponente, kõik vajalikud komponendid laaditakse alla ja installitakse .
Ja väike meeldetuletus, et rakendust arvelduskontole installides ei saa te süsteemi pitseerida. Kuidas installida rakendusi süsteemi tihendamiseks, vaadake ülaltoodud juhiseid. Ja multikioski töö kontrollimiseks piisab olemasolevatest rakendustest.
5. samm – multikioski konfiguratsioonifaili loomine
Nüüd jõuame kõige huvitavama osani - kioskirežiimi seadistamine. Vaatame edasi vastavalt seadetele, mida me näeme. Kõigepealt peame looma XML-i konfiguratsioonifaili, mille täieliku näite leiate siit. .
Alustame plaatide paigutuse seadistamisega. Lihtsaim viis XML-plaatide kohandamise konfiguratsiooni loomiseks on .
Kõigepealt lisame menüüsse Start vajalike rakenduste paanid. Avage otsing "Win+s", leidke soovitud rakendus, paremklõpsake seda ja valige "Pin to Start Screen".
Olen kinnitanud järgmised rakendused:
- Notepad
- Kalkulaator
- Internet Explorer
- maalima
- WordPad
- Parameetrid
- turvalisus Windows
Kaks viimast rakendust kinnitati, kuna LTSC standardinstallatsioonis pole teisi universaalseid rakendusi. Pange tähele, et klassikalised rakenduste paanid on lingitud otseteedega. Nüüd, lohistades paane otse menüüs Start, jagan kinnitatud paanid kahte rühma. Uue paanirühma loomiseks lohistage paan teistest paanidest oluliselt üles- või allapoole; ilmub intuitiivne eraldaja. Saate rühmi nimetada mis tahes nime järgi, hõljutades hiirekursorit rühma kohal ja klõpsates hiire vasaku nupuga, kui kuvatakse viip „Pane rühmale nimi“. Panen esimesele rühmale nimeks „Seaded“, mis sisaldab paane „Seaded“ ja „Turvalisus“. WindowsTeise rühma nimetan ma „Office’i rakendusteks”, mis hõlmab kõiki teisi paane. Muide, terveid paanirühmi saab teisaldada, lohistades neid rühma nime paremas ülanurgas asuvate kahe riba abil.
Sest plaadil "Turvalisus" Windows"Pealkiri ei mahu täielikult, seega muudan selle suuruseks „Lai“. Plaadi suuruse muutmiseks paremklõpsake sellel ja valige „Suuruse muutmine“.
Pärast konfigureerimist ekspordime praeguse oleku ja käivitame PowerShelli keskkonnas käsu – „Export-StartLayout – path C:SysprepStartLayout.xml“.
Järgmiseks ei ole kõige lihtsam seadistusfaili ise luua, vaid seaded – klõpsake nuppu "Kopeeri", kleepige sisu märkmikusse ja salvestage kui "MultiAppKiosk.xml". Nüüd muudame seaded enda jaoks. Manustatud paanide sätete muutmiseks kopeerige kogu "StartLayoutCollection" plokk "StartLayout.xml" failist "MultiAppKiosk.xml". Lubatud rakenduste lisamiseks peate jaotisesse „AllowedApps“ sisestama universaalsed rakenduse identifikaatorid ja samasse plokki lisama klassikaliste rakenduste käivitatavate failide täieliku tee, mis on määratud nende otseteede atribuutides, millele plaadid viitavad. Kiireks otsetee juurde pääsemiseks paremklõpsake kinnitatud paani ja valige Rohkem > Ava faili asukoht. Pange tähele, et parameetrit "AppUserModelId" kasutatakse universaalse rakenduse ID määramiseks ja parameetrit "DesktopAppPath" kasutatakse töölauarakenduse täieliku tee määramiseks. Ja veel üks väike nüanss, kui plaanite kasutada IE-d x64 süsteemis, siis peate lubatud rakenduste loendis määrama käivitatava faili jaoks kaks teed “Program FilesInternet Exploreriexplore.exe” ja “Program Files (x86)Internet Exploreriexplore. exe”.
Ma ei anna juurdepääsu kaustadele, seetõttu kustutan jaotise „FileExplorerNamespaceRestrictions”.
Tegumiriba kuvamine mind ei häiri, nii et jätan jaotises "Tegumiriba" kõik nii, nagu see on.
Näites on määratud kaks profiili, kuid mul on ainult üks profiil, seega saab teise profiiliga jaotise kustutada. Enne desinstallimist pöörake tähelepanu näitele rakenduse automaatse käivitamise kohta argumentidega.
Jaotises Konfiguratsioonid on kontod lingitud profiilidega; pange tähele, et ühe profiiliga saab linkida mitu kontot. Aga sest Olen huvitatud ainult ühest kontost, siis kustutan kõik sidumised, välja arvatud esimene - "Config" plokid. Ülejäänud köitmisse kirjutan kasutajanime “Kasutaja”.
Sain selle faili parameetritega
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-konfiguratsioonifailide loomisel ärge unustage, et igal profiilil peab olema kordumatu ID ja mitte ainult ühes XML-failis, vaid ka ühes OS-is. Need. Ideaalis saate segaduse vältimiseks luua iga kord uue identifikaatori; seda saab teha PowerShelli keskkonnas, kasutades käsku "[guid]::NewGuid()". Ja kindlasti salvestage fail "UTF-8" kodeeringus; kui fail on salvestatud "ANSI" kodeeringus, saate ettevalmistuspaketi koostamisel veateate, kui XML-fail sisaldab kirillitsat.
6. samm – multikioski sätete rakendamine
Vaatame kahte võimalust konfiguratsioonifailis kirjeldatud sätete rakendamiseks. Esimene on ette nähtud paketi kaudu, mis tuleb luua ICD-s. Mõne jaoks on see meetod ehk tuttavam. Teine on "MDM Bridge WMI Provider" kasutamine, see meetod tundus mulle mugavam.
Meetod # 1
Kellel pole ICD-d? ja installida. ADK installimine on väga lihtne, komponentide komplekti saab jätta vaikimisi.
Käivitage ICD, klõpsake paani "Täiendav ettevalmistus", määrake projekti nimi ja kaust ning klõpsake nuppu "Järgmine". Järgmises aknas valige "Kõik versioonid". Windows lauaarvutite jaoks" ja klõpsake nuppu "Järgmine". Pakkumispaketi importimise võite vahele jätta; klõpsake nuppu "Valmis".
Laiendage rippmenüüd „Käitusaja sätted”, seejärel alammenüüd „AssignedAccess” ja valige „MultiAppAssignedAccessSettings”. Klõpsake ICD-akna keskmise osa ülaosas nuppu "Sirvi" ja märkige seadetega XML-faili asukoht. Igaks juhuks saab projekti salvestada vajutades “Ctrl+s”. Valige ICD vasakus ülanurgas "Eksport" ja valige rippmenüüst "Provisioning Package". Omanikuna valige "IT-administraator", kõik muud küsimused saate vahele jätta, klõpsates nuppu "Järgmine" ja lõpus "Ehita" ja "Lõpeta".
Ärge unustage installitud süsteemis luua kasutajat "Kasutaja", teda ei saa lisada gruppi "Administraatorid", vastasel juhul multikiosk ei tööta. Lõin arvutihalduses kasutaja parooliga, mis ei aegu kunagi.
Nüüd käivitame ettevalmistuspaketi varem installitud süsteemis. Peale ettevalmistuspaketi rakendamist muutub menüü Start ja administraatori menüü. Vasakpoolses algusveerus peaksid kaduma nupud: "Dokumendid", "Pilt", "Valikud". Kui algusmenüü pole muutunud, siis on midagi valesti läinud. Paigaldatud paketi saab eemaldada, avades Seaded > Kontod > Juurdepääs töö- või koolikontole > Ettevõtete paketi lisamine või eemaldamine.
Kui algusmenüü on muutunud, rakendatakse seadeid süsteemile, logige sisse kasutajana, kelle jaoks multikiosk on konfigureeritud, ja vaadake tulemust.
Meetod # 2
Seadete rakendamine "MDM Bridge WMI Provider" abil . Selle meetodi mugavus on selle kasutamise paindlikkus ja võimalus vabaneda paljudest käsitsi toimingutest, mis on vajalikud ettevalmistuspaketi koostamiseks. Siin saab igaüks teha enda jaoks sobiva otsuse. Tegin endale paar stsenaariumi.
MiltiKiosk.bat – käivitamisskript
@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 – põhiskript
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
Kui soovite kasutada minu lahendust, siis salvestage ülaltoodud skriptid nende algsete nimedega ühte kausta ja asetage fail "PsExec.exe" samasse kausta. Looge samas kaustas XML-kaust ja kopeerige XML-failid, et multikioski sinna konfigureerida. Kasutan sama faili nagu esimeses meetodis.
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>
Natuke skripti omadustest. Skript on loodud kasutama XML-faile kodeeringuga "UTF8"; kui soovite kasutada "ANSI" kodeeringut, eemaldage faili lugemise valikust parameeter "encoding UTF8". Peate paigutama XML-failid kausta XML ilma tähemärke asendamata; skript ise asendab erimärgid vastavate tähistustega. Et mitte sattuda segadusse kasutajate profiilidega linkimise GUID-des, võite lihtsalt märkida kasutajanumbri või nime lokkis sulgudes; kogu lokkis sulgudes olev sisu asendatakse GUID-idega.
Skripti kasutamine on väga lihtne, lihtsalt käivitage see ja valige vajalik element. Praeguse konfiguratsiooni muutmiseks uueks ei ole vaja praegust kustutada, see kirjutatakse üle. Ärge unustage luua kasutajaid, kes on määratud konfiguratsioonifailis.
Kui vaatate praegust multikioski konfiguratsiooni samas seansis, kus seda rakendati, kuvatakse erimärkide asemel asendusmärkide kombinatsioonid. Pärast seansi muutmist (skripti taaskäivitamist) kuvatakse kõik erimärgid nende algsel kujul.
7. samm – süsteemi tihendamine
Multikiosk töötab, noh, see on kõik, tundub ...
Kui kõik läheb plaanipäraselt, siis sa ei märka midagi.
Ärge unustage, et peame siiski lülitama süsteemi auditirežiimist tervitusrežiimi. Noh, me oleme selleks valmis, käivitame "Sysprep.bat", valige punkt 2, süsteem on suletud. Lülitame seadme sisse, süsteem käivitub, logime sisse kasutajakontole, mille jaoks multikiosk on konfigureeritud, kuid sisse logida ei saa. Pärast „Tere tulemast“ sõnumit kuvatakse teade „Logi välja“.
Algul tahtsin kirjeldada ainult probleemi lahendust, kuid hiljem otsustasin kirjeldada samme probleemi tuvastamiseks ja kõige lihtsama lahenduse leidmiseks, sest... Kindlasti piinavad paljusid lugejaid ebamäärased kahtlused - "Mis siis, kui see on nii ...". Arvan, et erinevate katsete kirjeldamine säästab oluliselt aega, kui soovid leida muud lahendust. Et info oleks võimalikult täpne ja veel kord veendumaks, et vigu ei esine, kirjeldan katseid vormingus “tehtud ja salvestatud”. Need. Teen kirjeldatud katsed uuesti.
katsed
Mida me tegime? Süsteemis on kaks kontot:
“Administraator” – grupis “Administraatorid”.
“Kasutaja” – grupis “Kasutajad”.
Auditirežiimis multikiosk töötas, kuid suletud kujul see ei töötanud.
1. katse
Kustutame installitud ettevalmistuspaketi, lisandmoodulis "Arvutihaldus" kustutame kasutaja "Kasutaja" ja loome uue kasutaja nimega "Kasutaja", rakendame ettevalmistuspaketi, läheme kontole "Kasutaja" - see teeb. ei tööta. Me läheme nime “Admin” alla, eemaldame kasutaja “Kasutaja” grupist “Kasutajad”, lisame selle gruppi “Administraatorid”, läheme nime “Kasutaja” alla - see ei tööta. Logime sisse "Admin" nime all, kustutame multikioskiga ettevalmistuspaketi, logime sisse nimega "Kasutaja" - õnnestus sisse logida, kuid loomulikult multikioski režiim ei tööta, sest Ettevalmistuspakett on eemaldatud.
2. katse
Laadime üles süsteemipildi – venestatud auditirežiimis.
OS on laaditud, vajutage "Win + R", sest Meie sysprep aken sulgub automaatselt, käivitage käsk "sysprep" ja käivitage avanevas aknas "sysprep". Sysprepi seaded aknas: "Mine süsteemi tervitusaknasse (OOBE)", "Kasutamiseks ettevalmistamine", "Taaskäivitamine". Klõpsake "OK" ja oodake OS-i tervitust. Vastame süsteemi esmakordsel käivitamisel küsimustele: "Kas jätkata valitud keeles?" - "vene"; piirkond – Venemaa; klaviatuuripaigutus – vene keel; lisage teine klaviatuuripaigutus - jäta vahele; "Ühendame teid võrguga" - "Jäta praegu vahele"; Interneti-ühendus - ei; litsentsileping - nõustu; "Kes seda arvutit kasutama hakkab" - "Test"; parooli loomine – jäta väli tühjaks; Mugav kasutamine erinevatel seadmetel – ei; Privaatsusseaded – nõustu. OS on laaditud, lisandmoodulis “Arvutihaldus” loome kasutaja nimega “Kasutaja”, lisame ettevalmistuspaketi. Tulemuseks on see, et see ei tööta.
3. katse
Laadime üles süsteemipildi – venestatud auditirežiimis.
OS on laaditud, ühendame süsteemi Internetiga, käivitame käsu “gpedit.msc” ja jaotises “Uuenduskeskus” WindowsLuba valik „Luba soovitatud värskendused automaatse värskendamise kaudu” ja taaskäivita igaks juhuks. Värskenduskeskuses klõpsa nupul „Kontrolli värskendusi” ja taaskäivita, kuni kõik värskendused on installitud. Katkestage süsteemi internetiühendus. Käivita „sysprep” graafilises režiimis ja korda kõiki eelmises etapis kirjeldatud samme, alates „sysprep” utiliidi käivitamisest kuni ettevalmistuspaketi lisamiseni. Tulemus: see ei tööta.
4. katse
Laadime üles süsteemipildi – inglise keel auditirežiimis.
Käivitame "sysprepi" graafilises režiimis, sulgeme OS-i samade parameetritega nagu katse 2 ajal. Süsteemi esmakäivitamisel valime samad parameetrid, mis katses 2, välja arvatud piirkondlikud ja keeleparameetrid, kuna Vene keelt ei ole. Samamoodi looge kasutaja "Kasutaja" ja lisage pakkumispakett. Tulemuseks on see, et see töötab. Need. Probleem on seotud lokaliseerimisega.
5. katse
Laadime üles süsteemipildi – venestatud auditirežiimis.
"Arvutihalduse" lisandmoodulis looge kasutaja "Kasutaja", lisage ettevalmistuspakett, minge "Kasutaja" kontole, multikiosk töötab.
Logige oma kontolt välja ja logige sisse "Admin" konto all. Käivitame administraatoriõigustega PowerShelli, täidame käsu “Dism /online /Get-Intl” ja vaatame “Kasutajaliidese vaikekeel: en-US”.
Käivitame mälupulgalt WinPE-sse, juurutatud OS on minu E-draivil. Käitame käsu “Dism /image:E: /Set-UILang:ru-ru”. Vaatame tulemust, käivitame käsu "Dism /image:E: /Get-Intl" ja vaatame "Süsteemi kasutajaliidese vaikekeel: ru-RU".
Käivitame süsteemi, logime sisse kasutajakontole, multikiosk ei tööta.
Probleemi põhjus-tagajärg seose selgeks kindlakstegemiseks proovime uuesti multikioski töötama ja mittetöötavaks muuta.
Käivitame mälupulgalt WinPE-sse, juurutatud OS on minu E-draivil. Käivitame käsu “Dism /image:E: /Set-UIlang:en-us”. Vaatame tulemust, käivitame käsu "Dism /image:E: /Get-Intl" ja vaatame "Süsteemi kasutajaliidese vaikekeel: en-US".
Käivitame süsteemi, logime sisse kasutajakontole, multikiosk töötab.
Käivitame mälupulgalt WinPE-sse, juurutatud OS on minu E-draivil. Käitame käsu “Dism /image:E: /Set-UILang:ru-ru”. Vaatame tulemust, käivitame käsu "Dism /image:E: /Get-Intl" ja vaatame "Süsteemi kasutajaliidese vaikekeel: ru-RU".
Käivitame süsteemi, logime sisse kasutajakontole, multikiosk ei tööta.
Need. näete kioski jõudluse selget sõltuvust kasutajaliidese vaikekeelest. Võib-olla on mõni muu faktor, mis multikioski jõudlust mõjutab?
6. katse
Katse puhtuse huvides täidame süsteemi uuesti. Laadime üles süsteemipildi – venestatud auditirežiimis.
Käivitame graafilises režiimis "sysprepi", sulgeme OS-i samade parameetritega nagu katse 2 ajal. Ootame, kuni OS meid tervitab ja vastab küsimustele: "Kas jätkata valitud keeles?" – "inglise keel (Ameerika Ühendriigid)"; piirkond – Venemaa; Klaviatuuripaigutus – vene keel. Lisaks valiti kõik parameetrid nagu katses 2.
Vaatame vaikimisi kasutajaliidese keeleseadeid. Käivitame käsu “Dism /online /Get-Intl” ja näeme “Süsteemi kasutajaliidese vaikekeel: en-US”. "Arvutihalduse" lisandmoodulis looge kasutaja "Kasutaja", lisage ettevalmistuspakett, minge "Kasutaja" kontole, multikiosk töötab.
Püüame kioski lõhkuda, muutes kasutajaliidese vaikekeelt. Me läheme "Test" kasutajasse, mis loodi süsteemi esmakordsel käivitamisel ja lubame selle jaoks automaatse sisselogimise, et süsteem ei käivituks kohe kasutajakontole. Käivitage "netplwiz", valige "Test" kasutaja, tühjendage märkeruut "Nõua kasutajanime ja parooli" ja rakendage parameetreid.
Käivitage mälupulgalt WinPE-sse. Käivitage käsk "Dism /image:E: /Set-UIlang:ru-ru". Vaatame tulemust, käivitame käsu "Dism /image:E: /Get-Intl" ja vaatame "Süsteemi kasutajaliidese vaikekeel: ru-RU".
Käivitame süsteemi, proovime sisse logida kasutajakontole, multikiosk töötab. Need. seda ei saa murda. Kas seda on võimalik niimoodi tööle panna?
7. katse
Laadime üles süsteemipildi – venestatud auditirežiimis.
Käivitame "Sysprep.bat", valime punkti 2. Käivitame süsteemi, loome "Arvutihalduse" lisandmoodulis kasutaja "Kasutaja", lisame ettevalmistuspaketi, läheme kasutajakontole, multi- kiosk ei tööta.
Käivitage mälupulgalt WinPE-sse. Käivitage käsk "Dism /image:E: /Set-UIlang:en-us". Vaatame tulemust, käivitame käsu "Dism /image:E: /Get-Intl" ja vaatame "Süsteemi kasutajaliidese vaikekeel: en-US".
Käivitame süsteemi, proovime sisse logida kasutajakontole, multikiosk ei tööta.
Selgub, et muutes vaikimisi kasutajaliidese keeleseadet, saate multikioski jõudlust mõjutada ainult siis, kui süsteem on auditirežiimis või esimesel käivitamisel pärast süsteemi pitseerimist. See tähendab, et peate süsteemi pitseerima vastusefailiga, milles valitakse süsteemi keel inglise keeles, ja seejärel muutma süsteemi sätteid nii, et liides oleks vene keel. Pole just hea lahendus. Võib-olla saab probleemi lahendada keelepaketi installimisega või täiendavate keelepakettide installimisega?
8. katse
Laadime üles süsteemipildi – inglise keel auditirežiimis.
Loome Interneti-ühenduse, süsteemi parameetrites minge jaotisse "Keel", valige "Lisa keel", valige keel "Vene", klõpsake "Järgmine", jätke installiparameetrid vaikimisi, klõpsake pärast installimist nuppu "Install" keelepakett, mille me taaskäivitame süsteemi, nüüd Russified. Ühendage süsteem Internetist lahti, käivitage "Sysprep.bat", valige punkt 2.
Pärast süsteemi laadimist looge lisandmoodulis "Arvutihaldus" kasutaja "Kasutaja", lisage ettevalmistuspakett, minge kontole "Kasutaja", multikiosk ei tööta.
9. katse
Proovime enne installimist võrguühenduseta režiimis süsteemi venestada. Samal ajal toimub lühike haridusprogramm levitamise lokaliseerimise kohta.
Ma võtan mälupulga puhta originaaljaotusega – X21-96381. See on draiv "E". Piltide paigaldamiseks loon järgmised kaustad: "c:MountInstall", "c:MountWinre" ja "c:MountBoot". Ma võtan lokaliseerimispakettide komplekti – X21-87814. Ja kopeerin sealt järgmised paketid kausta "c:Mount": "Microsoft-"Windows-Client-Language-Pack_x86_ru-ru.cab", "lp.cab", "WinPE-Setup_ru-ru.cab". Käivitasin konsooli administraatori õigustega. Arvan, et järgmised käsud on iseenesestmõistetavad.
Lokaliseerimiskäsud
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
Käivitame mälupulgalt, valime vene keele ja installime süsteemi tühjale kettale. Kui süsteem palub teil valida piirkonna, vajutage klahvikombinatsiooni Ctrl+Shift+F3. "Arvutihalduse" lisandmoodulis looge kasutaja "Kasutaja", lisage ettevalmistuspakett, minge kontole "Kasutaja", multikiosk ei tööta.
Käivitage mälupulgalt WinPE-sse. Käivitage käsk "Dism /image:E: /Set-UIlang:en-us".
Käivitame süsteemi, proovime sisse logida kasutajakontole, multikiosk töötab.
Ilmselt pole probleem paketi lisamise meetodites, proovime lisada täiendavaid pakette.
10. katse
Võtame mälupulga, mille valmistasime eelmises etapis.
Võtame paketi “Feat on Demand” – X21-87815. Kopeerin paketid sellest kausta "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».
Käivitage konsool administraatoriõigustega ja täitke käsud:
Käsud
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
Käivitame mälupulgalt, valime vene keele ja installime süsteemi tühjale kettale. Kui süsteem palub teil valida piirkonna, vajutage klahvikombinatsiooni Ctrl+Shift+F3. "Arvutihalduse" lisandmoodulis looge kasutaja "Kasutaja", lisage pakkumispakett ja logige sisse kasutajakontole. Mul on must ekraan, mis rippus pikka aega, nii et käivitasin süsteemi kuumalt.
Kustutame ettevalmistuspaketi, logime sisse kui “Kasutaja”, taaskäivitame süsteemi, lisame ettevalmistuspaketi, multikiosk ei tööta.
Käivitage mälupulgalt WinPE-sse. Käivitage käsk "Dism /image:E: /Set-UIlang:en-us".
Käivitame süsteemi, proovime sisse logida kasutajakontole, multikiosk töötab.
Lahendus
Tavalised kangelased. Nad teevad alati ümbersõidu!
Erinevad lokaliseerimispakettide installimise meetodid probleemi ei lahendanud, mis tähendab, et pärast tihendamist peate installima "en-us" keele esimesel alglaadimisel ja muutma keeleseadeid pärast esimest alglaadimist.
Laadime üles süsteemipildi – venestatud auditirežiimis.
Failis Unattend.xml sisestage parameetrisse "en-US", käivitage "Sysprep.bat", valige punkt 2 ja vaadake, mis meil on. Tervitusekraan on inglise keeles, multikiosk töötab. See tähendab, et tervituskeele muutmiseks peate failile Unattend.xml lisama käsu. Ja selleks peate käivitama käsu "control intl.cpl,, /f:", mis näitab konfiguratsioonifaili, mis määrab praeguste parameetrite kopeerimise tervituskuvale. Konfiguratsioonifaili sisu näeb välja selline.
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<gs:UserList>
<gs:User UserID="Current" CopySettingsToSystemAcct="true"/>
</gs:UserList>
</gs:GlobalizationServices>
Sest kopeerib praeguse kasutaja sätted, siis tuleb käsk täita pärast kasutaja sisselogimist, mis tähendab, et me vajame. On üks väike “aga”, täitmine toimub pärast administraatoriõigustega kasutaja sisselogimist. Ja ma ei tahaks luua täiendavat faili, mida oleks vaja käsu edukaks käivitamiseks. Parem on rakendada kogu lahendus ühes failis - “Unattend.xml”. Selleks peate lihtsalt käivitama käsu, mis loob konfiguratsioonifaili. Arvan, et loon konfiguratsioonifaili, kasutades "cmd" keskkonnas käsku "echo", kuid see peab nurksulgudest tsirkumfleksiga põgenema. Need. Konfiguratsioonifaili loomiseks saadakse järgmine käsk.
echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToSystemAcct="true"/^>^</gs:UserList^>^</gs:GlobalizationServices^>>Config.xml
Kuid peame selle käsu paigutama XML-i, millel on erimärkide kasutamisele oma nõuded:
Eriline tegelane
Asendusväärtus
>
>
<
<
&
&
"
'
"
"
Selle tulemusel saime konfiguratsioonifaili loomiseks järgmise käsu "FirstLogonCommands".
cmd.exe /c echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToSystemAcct="true"/^>^</gs:UserList^>^</gs:GlobalizationServices^>>"%TMP%Config.xml"
Järgmisena täidame käsu konfiguratsioonifaili abil.
control intl.cpl,,/f:"%TMP%Config.xml"
Järgmisena kustutage varem loodud fail ja taaskäivitage süsteem. muudatused jõustuvad pärast taaskäivitamist.
cmd.exe /c del "%TMP%Config.xml" /q&shutdown /r /f /t 00
Selle tulemusel sain sysprepi jaoks järgmise vastusefaili.
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 ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^>^<gs:UserList^>^<gs:User UserID="Current" CopySettingsToSystemAcct="true"/^>^</gs:UserList^>^</gs:GlobalizationServices^>>"%TMP%Config.xml"</CommandLine>
<Description>CreateConfig</Description>
<Order>1</Order>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<CommandLine>control intl.cpl,,/f:"%TMP%Config.xml"</CommandLine>
<Description>UseConfig</Description>
<Order>2</Order>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<CommandLine>cmd.exe /c del "%TMP%Config.xml" /q&shutdown /r /f /t 00</CommandLine>
<Description>DelConfig</Description>
<Order>3</Order>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
Kontrollime...
Laadime üles süsteemipildi – venestatud auditirežiimis.
Vahetame faili Unattend.xml uue vastu, käivitame “Sysprep.bat”, valime punkti 2 ja vaatame, mis meil on. Esmakordsel käivitamisel on tervituskuva inglise keeles ja süsteem taaskäivitub. Tervitusekraan on vene keeles, multikiosk töötab.
Kui teil on küsimusi seadistamise ja litsentsimise kohta Windows 10 Asjade asjade ettevõtte jaoks võtke meiega ühendust aadressil või veebisaidile .
Mõnele küsimusele leiate vastused aadressilt või meie peal
Artikli autor: Vladimir Borisenkov, Quarta Technologiesi tehniline ekspert.
Allikas: www.habr.com
