Windows 10 IoT Enterprise 2019 - Multikiosk موڊ

تعارف

Windows 10 IoT انٽرپرائز 2019 ونڊوز 10 جي ايندڙ رليز لاءِ مارڪيٽنگ جو نالو آهي. هن ورجن جي رليز جو اعلان سيپٽمبر 2018 ۾ ڪيو ويو، ترتيبوار، ان جو ورجن 1809 آهي، 18 سال آهي، 09 مهينو آهي. ونڊوز 10 1809 جي نئين رليز تي ڪيترائي مضمون لکيا ويا آهن، پر انهن مان گھڻا مختلف "ڪانو"، "خوبصورتي" ۽ مختلف ڪارڪردگي لاء وقف آهن جيڪي گهر ۾ گهربل آهن.
اهو آرٽيڪل صرف ان ڪارڪردگي تي بحث ڪندو جيڪو ٿي سگهي ٿو فيڪسڊ-مقصد ڊوائيسز جي ٺاهيندڙن جي وچ ۾ گهربل هجي. يعني، "Kiosk" موڊ جي نئين صلاحيتن جي باري ۾. انٽرپرائز سيڪشن جي ونڊوز ايڊيشنز لاءِ سروس اسڪيمن جا نالا تبديل ڪرڻ جو موضوع پڻ ڇڪايو ويندو.

نئين نالي سان پراڻي سروس اسڪيم

اچو ته هڪ مختصر وضاحت سان شروع ڪريان: ونڊوز ايڊيشن جي ڪارپوريٽ حصي ۾ ٻه سروس اسڪيمون آهن جن جي مطابق ونڊوز اپڊيٽ حاصل ڪري ٿو. سروس ڊاگرام ۾ هڪ خط جو نالو آهي. هن وقت سروس شاخن کي LTSC ۽ SAC سڏيو ويندو آهي.

LTSC جو مطلب آهي ڊگھي مدت سروسنگ چينل (ڊگهي مدت جي سار سنڀال سان). اڳي، اهڙي چينل کي LTSB - Long Term Servicing Branch سڏيو ويندو هو، Microsoft صرف سروس چينل جو نالو تبديل ڪيو، سروس پاڻ ساڳي رهي.

Microsoft پڻ سروس برانچ جو نالو تبديل ڪري ڇڏيو CBB - موجوده برانچ فار بزنس، هاڻي هن سروس برانچ کي SAC سڏيو ويندو آهي. سيمي کلني چينل. ٻيهر، صرف نالو تبديل ڪيو ويو آهي.

پر اهو ذڪر ڪيو وڃي ٿو ته LTSC ۽ SAC سروسنگ شاخون مختلف ونڊوز تقسيم استعمال ڪن ٿيون.

SAC تي نئين ڪوسڪ موڊ بابت ٿورو

جيئن ته مون اڳ ۾ ئي چيو آهي، LTSC ۽ SAC مختلف تقسيم آهن. LTSC وٽ معياري يونيورسل ايپس يا ايپ اسٽور ناهي، پر SAC آهي. ان جي مطابق، LTSC وٽ ايج برائوزر نه آهي، پر SAC آهي. جيڪڏهن توهان ايج برائوزر کي چونڊيو ٿا جڏهن هڪ ڪائوسڪ قائم ڪريو، پوء ٻه طريقا موجود آهن:

  1. جيئن ڊجيٽل نشاني يا انٽرايڪٽو ڊسپلي
  2. عوامي برائوزر وانگر

مان انهن طريقن کي ترتيب ڏيڻ تي نه رهندس، ڇاڪاڻ ته ... سيٽ اپ تمام سادو آهي ۽ هڪ گرافڪ انٽرفيس ۾ ڪيو ويندو آهي. بس هڪ صارف ٺاهيو جيڪو منتظمين جي گروپ جو ميمبر نه آهي، ان لاءِ EDGE استعمال ڪندي ڪيوسڪ موڊ کي فعال ڪريو ۽ ڏسو ته اهي طريقا ڪيئن ڪم ڪن ٿا.

ڪيترن ئي ايپليڪيشنن سان Kiosk

ڪجهه ماڻهن جو خيال آهي ته لائسنس يافته استعمال ونڊوز 10 IoT انٽرپرائز ڊوائيس تي صرف هڪ ايپليڪيشن جي آپريشن جو مطلب آهي، حقيقت ۾ اهو معاملو ناهي. ڊوائيس هڪ واحد ڪاروباري ڪم انجام ڏيڻ لاءِ ٺهيل هجڻ گهرجي ۽ صارف کي ڊيسڪ ٽاپ تائين رسائي نه هجڻ گهرجي. هاڻي Microsoft پاڻ ڪيترن ئي ايپليڪيشنن کي استعمال ڪرڻ جو اوزار ڏنو آهي. هن موڊ کي سڏيو ويندو آهي ”ملٽي-ايپ ڪوسڪ“؛ ان کان پوءِ، اختصار لاءِ، مان ان کي سڏيندس ”ملٽي-ايپ ڪائوسڪ“. هن آرٽيڪل ۾ اسان سافٽ ويئر پيڪيج ۽ هن موڊ جي ڪجهه خاصيتن کي استعمال ڪندي هن موڊ کي ترتيب ڏيڻ تي نظر ڪنداسين.

Multikiosk موڊ بابت ٿورو

При входе в учетную запись пользователя для которой настроен режим мультикиоска система будет работать в режиме планшета. Меню «Пуск» будет развернуто на весь экран, в котором будут отображаться плитки приложений.

Перечень основных настроек и возможностей режима:

  1. ڪيترن ئي استعمال ڪندڙن يا گروپن لاء سيٽنگ
  2. هر صارف يا گروپ انفرادي سيٽنگون مقرر ڪري سگھجن ٿيون
  3. آفاقي ۽ کلاسک ايپليڪيشنن کي استعمال ڪرڻ جي صلاحيت
  4. خودڪار طريقي سان ايپليڪيشنن مان هڪ کي لانچ ڪرڻ جي صلاحيت جڏهن صارف لاگ ان ٿئي ٿي
  5. وائيٽ لسٽ ٿيل ايپليڪيشنون
  6. سفيد لسٽ استعمال ڪندي فولڊر تائين رسائي

اهو نقطو 5 تي ڌيان ڏيڻ جي قابل آهي. ڊفالٽ طور، صرف اهي ايپليڪيشنون جيڪي سسٽم کي هلائڻ لاء ضروري آهن ڪم ڪرڻ جي اجازت ڏني ويندي؛ ٻين ايپليڪيشنن کي اجازت ڏنل فهرست ۾ شامل ڪيو وڃي. اهي. هاڻي توهان کي AppLocker الڳ الڳ ترتيب ڏيڻ جي ضرورت ناهي. رستي ۾، AppLocker سيٽنگن سان تڪرار کان بچڻ لاء، ملٽي-ڪيوسڪ موڊ ۾، سڀ ترتيب ڏنل AppLocker ضابطا لاڳو نه ٿيندا.

پوائنٽ 6 هڪ سٺو اختيار ڏيکاري ٿو، پر هن وقت اهو صرف "ڊائون لوڊ" فولڊر کي لکڻ جي اجازت ڏيڻ ممڪن آهي. موڊ توهان کي آفاقي ۽ کلاسک ايپليڪيشنن کي استعمال ڪرڻ جي اجازت ڏئي ٿو. سڀ موڊ سيٽنگون ھڪڙي XML فائل ۾ بيان ڪيون ويون آھن، جنھن ۾ توھان ھڪڙي ايپليڪيشن ڪوسڪ لاء سيٽنگون پڻ بيان ڪري سگھو ٿا.

هاڻي اچو ته اهو سڀ ڪجهه ترتيب ڏيڻ جي ڪوشش ڪريون ...

اسان کي ڇا گهرجي ...

  1. سڀ کان پهريان، اسان کي سسٽم جي ضرورت آهي، جيڪو multikiosk موڊ کي سپورٽ ڪري ٿو. هتي توهان ڊائون لوڊ ڪري سگهو ٿا ڊيمو نسخو
  2. هڪ multikiosk قائم ڪرڻ لاء هدايتون
  3. ڪو به XML ايڊيٽر
  4. multikiosk سيٽنگون لاڳو ڪرڻ لاءِ:
    1. طريقو نمبر 1 - ICD، جيڪو ADK جو حصو آهي. ADK ممڪن آهي هتي ڊائونلوڊ ڪريو
    2. طريقو نمبر 2 لاءِ - PsExec افاديت. افاديت ٿي سگهي ٿي هتي ڊائونلوڊ ڪريو

هن چيو- ”هل ته هلون!

مان سڀ تجربا ڪندس Windows 10 IoT Enterprise 1809 LTSC x32 تجارتي ورزن، نه ڪو ڊيمو ورزن. سسٽم چالو نه ٿيندو ڇاڪاڻ ته فعال ٿيڻ جي کوٽ سسٽم جي ڪارڪردگي کي متاثر نٿو ڪري. مون صرف 32 بٽ ورتيون ڇاڪاڻ ته اهو گهٽ جاء وٺندو آهي ۽ اهو سسٽم تصويرن سان ڪم ڪرڻ تيز ٿيندو.

قدم 1 - انسٽاليشن

Win 10 IoT انٽرپرائز کي انسٽال ڪرڻ Win 10 انٽرپرائز کي انسٽال ڪرڻ کان مختلف ناهي، تنهن ڪري مان پوري انسٽاليشن جي عمل کي بيان نه ڪندس، مان صرف ڪجهه ڳالهين بابت ڳالهائيندس.

بس صورت ۾، مون کي توهان کي ياد ڏيارڻ ڏيو، نصب ٿيل هڪ جي مٿان سسٽم کي انسٽال نه ڪريو. جڏهن انسٽالر سسٽم جي تنصيب جي جڳهه بابت پڇي، مستقبل جي سسٽم ڊسڪ تي سڀني پارٽيشنن کي ختم ڪريو ۽ هڪ غير تقسيم ٿيل ڊسڪ بيان ڪريو.

اسان سسٽم کي انٽرنيٽ ڪنيڪشن کان سواء انسٽال ڪريون ٿا ته جيئن سسٽم ڪجهه غير ضروري نه ڇڪي.

Т.к. мы будем создавать резервные образа системы и для этого будем ее запечатывать в режиме аудита, то можно сэкономить немного времени загрузив систему в режиме аудита сразу после установки. Для этого, когда система у Вас попросит выбрать регион «Let’s start with region. Is this right» просто нажмите «Ctrl+Shift+F3».

قدم 2 - هڪ سسٽم تصوير ٺاهيو

Т.к. мы будем издеваться над системой пробовать различные новые настройки, то не исключено что что-то пойдет не так и нужно будет вернуть систему в исходное состояние. А для быстрого возврата в исходное состояние нужно создать образ системы. Единственное что я сделаю, это скопирую «джентльменский набор» – скрипт и файл ответов. Все файлы у меня находятся на в папке «Sysprep», которую я скопирую в корень системного диска. И естественно, я поделюсь с Вами данным «джентльменским набором».

Sysprep.bat – для запечатывания системы.

@echo off
chcp 1251>nul

net session>nul 2>nul
if %errorLevel% neq 0 (powershell -command "Start-Process "%~s0" -Verb RunAs"&exit)

tasklist /fi "ImageName eq sysprep.exe" | find /i "sysprep.exe"
if %errorlevel% lss 1 (taskkill /im sysprep.exe)

set AdminName=Admin
net user %AdminName%>nul 2>nul
if %errorLevel% neq 0 (call :AddAdmin "%AdminName%")
if %errorLevel% neq 0 (call :ShowMessage "‡‡‡Ошибка создания новой учетной записи администратора "%AdminName%"‡‡Нажмите любую клавишу для завершения работы скрипта"&pause>nul&exit)

pushd "%~dp0"

cls
call :ShowMessage ‡‡‡‡‡‡‡‡‡‡
echo  1 - Запечатать систему в режиме аудита
echo  2 - Запечатать систему в режиме приветствия
:Select
set /p Choice="Введите номер пункта меню: "
if "%Choice%"=="1" (goto Audit)
if "%Choice%"=="2" (goto OOBE)
echo.&echo Выбрано недопустимое значение.&goto Select

exit

:Audit
    call :ShowMessage "‡‡‡‡‡Запечатывание системы в режиме аудита"
    reg add HKLMSoftwareMicrosoftWindowsCurrentVersionRun /v KillSysprep /t REG_SZ /d "taskkill /im sysprep.exe" /f
    %SYSTEMROOT%System32Sysprepsysprep.exe /audit /generalize /shutdown /quiet
goto :eof

:OOBE
    call :ShowMessage "‡‡‡‡‡Запечатывание системы в режиме приветствия"
    reg delete HKLMSoftwareMicrosoftWindowsCurrentVersionRun /v KillSysprep /f
    powershell -command "(Get-Content -path 'Unattend.xml' -Raw).Trim() -replace 'Architecture=""".+?"""','Architecture="""%PROCESSOR_ARCHITECTURE%"""' | Set-Content -path 'Unattend.xml'"
    %SYSTEMROOT%System32Sysprepsysprep.exe /oobe /generalize /shutdown /quiet /unattend:Unattend.xml
goto :eof

:AddAdmin
    setlocal
    set UserName=%~1
    if not defined UserName (echo Не указано имя пользователя&endlocal&exit /b 1)

    call :GetGroupName "S-1-5-32-544" AdminGroup
    if not defined AdminGroup (endlocal&exit /b 2)

    call :GetGroupName "S-1-5-32-545" UserGroup
    if not defined UserGroup (endlocal&exit /b 3)

    net user %UserName% /add
    wmic useraccount where "Name='%UserName%'" set PasswordExpires=False>nul
    net localgroup %AdminGroup% %UserName% /add
    net localgroup %UserGroup% %UserName% /delete
    endlocal&exit /b 0
goto :eof

:GetGroupName
    if "%~1"=="" (echo Не указан SID группы&goto :eof)
    set %2=
    for /f "tokens=2 delims= " %%i in ('whoami /groups /fo table^|find "%~1"') do set %2=%%i
    if not defined %2 (echo Ошибка определения имени группы по SID'у "%~1")
goto :eof

:ShowMessage
    setlocal enabledelayedexpansion
    set String=%~1
    if not defined String (echo.&setlocal disabledelayedexpansion&goto :eof)
    set /a ConCols=120 & set /a Num=1
    set "String[!Num!].str=%String:‡=" & set /a Num+=1 & set "String[!Num!].str=%"
    for /l %%a in (1,1,%Num%) do (
        for /l %%b in (0,1,%ConCols%) do if "!String[%%a].str:~%%b!" == "" (set "String[%%a].str= !String[%%a].str! "&set /a String[%%a].len-=1) else (set /a String[%%a].len+=0||set /a String[%%a].len=0)
        if not defined String[%%a].str (set String[%%a].str= )
        if not !String[%%a].len! equ 0 (call set String[%%a].str=%%String[%%a].str:~,!String[%%a].len!%%)
        if "!String[%%a].str: =!"=="" (echo.) else (echo !String[%%a].str!))
    setlocal disabledelayedexpansion
goto :eof

جڏهن لانچ ڪيو ويندو، اسڪرپٽ "ايڊمن" اڪائونٽ جي موجودگي جي جانچ ڪندي ۽ هڪ ٺاهيو جيڪڏهن اهو غائب آهي. اڪائونٽ ايڊمنسٽريٽر گروپ ۾ شامل ڪيو ويندو.

Unattend.xml - sysprep لاءِ جوابي فائل.

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

جڏهن آڊٽ موڊ ۾ سيل ڪيو ويندو، اسڪرپٽ "sysprep.exe" عمل کي ختم ڪرڻ لاء رجسٽري ۾ هڪ حڪم شامل ڪندو ته جيئن هر وقت دستي طور تي sysprep ونڊو بند نه ڪيو وڃي. جڏهن هيلو موڊ ۾ سيل ڪيو ويندو، اسڪرپٽ رجسٽري مان ونڊو بند ڪرڻ لاءِ ڪمانڊ ڪڍي ڇڏيندو ۽ پاڻ ئي جوابي فائل ۾ موجود آرڪيٽيڪچر ويليو کي موجوده ۾ تبديل ڪندو. جواب واري فائل ۾ صارف جي رابطي کان سواء سسٽم کي بوٽ ڪرڻ ۽ سسٽم ڊرائيو جي روٽ ۾ "Sysprep" فولڊر کي حذف ڪرڻ لاء هڪ حڪم شامل آهي.

ھاڻي مان سسٽم کي "Sysprep.bat" استعمال ڪندي آڊٽ موڊ ۾ سيل ڪندس ۽ سسٽم جي تصوير کي پڪڙيندس. مان DISM استعمال ڪندي سسٽم کي تصوير ڏيندس ۽ صرف سسٽم جي حجم کي تصوير ڏيندس. جيڪڏهن توهان صرف سسٽم جي حجم کي تصوير ڪنداسين، ۽ سڄي ڊسڪ نه، پوء "WindowsSystem32Recovery" ڊاريڪٽري جي مواد کي نقل ڪرڻ نه وساريو پهرين حجم ۾ "RecoveryWindowsRE" فولڊر ۾ سسٽم کي ترتيب ڏيڻ کان پوء. اهو او ايس لوڊ ڪرڻ کان اڳ ڪرڻ جي ضرورت پوندي. OS کي لوڊ ڪرڻ کان پوء، "WindowsSystem32Recovery" ڊاريڪٽري اڳ ۾ ئي خالي ٿي ويندي.

مرحلا 3 - سسٽم جي رشتي

ٻولي پيڪ کي انٽرنيٽ ڪنيڪشن کان سواءِ انسٽال ڪري سگهجي ٿو جيڪڏهن توهان وٽ هي پيڪ آهي. جيڪڏهن نه، سسٽم پاڻ ان کي انٽرنيٽ تان ڊائون لوڊ ڪندو جڏهن توهان سيٽنگون ۾ ٻولي شامل ڪندا. بس او ايس جي پوئين ورزن مان ٻولي پيڪ وٺڻ جي ضرورت ناهي. Windows 10 1809 لاءِ خاص طور تي Windows 10 1809 لاءِ هڪ ٻولي پيڪ هجڻ لازمي آهي.

Microsoft پنھنجي منصوبي تي عمل ڪري رھيو آھي تدريجي طور تي سيٽنگون منتقل ڪرڻ لاءِ کلاسڪ مينيو مان نئين ھڪڙي ڏانھن، تنھنڪري ڪلاسڪ ڪنٽرول پينل ۾ توھان کي وڌيڪ سيٽنگون نه ملنديون ٻولي تبديل ڪرڻ ۽ ٻولي پيڪ انسٽال ڪرڻ لاءِ. اهي سيٽنگون هاڻي صرف سسٽم پيٽرولر ۾ آهن.

آڊٽ موڊ ۾، توھان کي سامھون ٿي سگھي ٿو مسئلو کولڻ ۾ سسٽم سيٽنگون شروعاتي مينيو مان؛ سسٽم سيٽنگون کولڻ لاء، ڪمانڊ - "ms-settings:" کي ھلايو، ڪمانڊ جي آخر ۾ ڪولن ڏانھن ڌيان ڏيو، ان کان سواء ڪمانڊ ٿيندو. ڪم نه ڪرڻ. سسٽم پيٽرولر کي کولڻ کان پوء هڪ ڀيرو هن حڪم کي استعمال ڪندي، ان کي کوليو وڃي ٿو گرافڪ مينيو استعمال ڪندي.

پر سسٽم جي سيٽنگن ۾ توهان هڪ ٻولي پيڪ انسٽال ڪري سگهو ٿا جيڪڏهن سسٽم انٽرنيٽ سان ڳنڍيل آهي، اتي ڪو اختيار نه آهي ته ڪنهن مقامي فائل مان ٻولي پيڪ انسٽال ڪرڻ لاء چونڊيو.

مان سسٽم کي مقامي ڪرڻ جي عمل کي بيان نه ڪندس ڇو ته ... اهو مضمون کي خاص طور تي پيچيده ڪندو، خاص طور تي جڏهن ته لوڪلائيزيشن جو عمل تفصيلي آهي هتي بيان ڪيو ويو آهي. پر مان توهان جي توجه ڏيارڻ چاهيان ٿو ته ڪنسول استعمال ڪندي ٻولي پيڪ انسٽال ڪرڻ کان پوءِ سسٽم ٻولي کي تبديل ڪرڻ جي خاصيت. هي مضمون ان ئي وڪي ۾ بيان ڪيو ويو آهي جنهن لاءِ مون اڳيئي لنڪ ڏني هئي، سب سيڪشن ۾ "ٻولن جي لسٽ ۾ ٻولي شامل ڪرڻ".

مان انٽرنيٽ ڪنيڪشن کان سواءِ ٻولي پيڪ انسٽال ڪندس.

سسٽم جي مڪمل مقامي ڪرڻ کان پوء، سسٽم جي تصوير ٺاهڻ جي پڪ ڪريو.

قدم 4 - ضروري ايپليڪيشنن کي انسٽال ڪريو

ڇاڪاڻ ته جيئن ته LTSB ۽ LTSC سسٽم وٽ ايپليڪيشن اسٽور نه آهي، Microsoft اسٽور تان ايپليڪيشنن کي انسٽال ڪرڻ ڪجهه مشڪلاتن جو سبب بڻجن ٿا، يعني ايپليڪيشن ڊائون لوڊ ڪرڻ. ايپليڪيشنن کي ڊائون لوڊ ڪرڻ لاء، Adguard ڪمپني هڪ تمام آسان خدمت ڪئي آهي - "ايڊگارڊ اسٽور", с помощью которого можно получить временные ссылки на загрузку приложений и их компонентов.

ايپليڪيشن کي انسٽال ڪرڻ لاءِ، توهان کي فائلن جي ضرورت پوندي ايڪسٽينشنن سان "Appx" ۽ "AppxBundle". ايپليڪيشن کي انسٽال ڪرڻ کان پهريان، توهان کي ان جا حصا انسٽال ڪرڻ گهرجن. ضابطي جي طور تي، هڪ ايپليڪيشن مان اجزاء کي غير معمولي طور تي فائل جي نالي سان فرق ڪري سگهجي ٿو.

آرٽيڪل کي تمام ڊگهو نه ڪرڻ لاء، آئون ايپليڪيشنن کي انسٽال ڪرڻ جي عمل کي تفصيل سان بيان نه ڪندس، خاص طور تي جڏهن انسٽاليشن تي معلومات موجود آهي. تفصيلي هدايتون. پر مان توهان جي موجوده اڪائونٽ ۾ ايپليڪيشنن کي انسٽال ڪرڻ لاءِ هڪ وڌيڪ طريقو شامل ڪندس. ايپليڪيشنن کي پروگرام استعمال ڪندي انسٽال ڪري سگھجي ٿو "ايپ انسٽالر"، پر ايپليڪيشنن کي انسٽال ڪرڻ لاءِ توهان کي انٽرنيٽ ڪنيڪشن جي ضرورت پوندي، پر ايپليڪيشنن کي ڊبل ڪلڪ سان انسٽال ڪري سگهجي ٿو ۽ توهان کي ان جي اجزاء جي ضرورت نه پوندي، سڀ ضروري جزا ڊائون لوڊ ۽ انسٽال ٿي ويندا. "ايپ انسٽالر".

۽ هڪ ننڍڙي ياد ڏياريندڙ، جڏهن ايپليڪيشن کي موجوده اڪائونٽ ۾ انسٽال ڪري، توهان سسٽم کي سيل ڪرڻ جي قابل نه هوندا. ايپليڪيشنن کي ڪيئن انسٽال ڪجي ته جيئن توهان سسٽم کي سيل ڪري سگهو، مٿي ڏنل هدايتون ڏسو. ۽ multikiosk جي آپريشن کي چيڪ ڪرڻ لاء، موجود اپليڪيشن ڪافي ڪافي آهن.

مرحلا 5 - ملائيڪيوسڪ لاءِ هڪ ترتيب واري فائيل ٺاهڻ

هاڻي اسان سڀ کان وڌيڪ دلچسپ حصو حاصل ڪريون ٿا - کيوسڪ موڊ کي ترتيب ڏيڻ. اچو ته ڏسو هدايتون سيٽنگون جي مطابق اسان ڏسون ٿا. سڀ کان پهريان، اسان کي هڪ XML ترتيب واري فائيل ٺاهڻ جي ضرورت پوندي، جنهن جو هڪ مڪمل مثال هتي ملي سگهي ٿو. هتي ڏس.

اچو ته ٽائل جي ترتيب کي ترتيب ڏيڻ سان شروع ڪريون. هڪ XML ٽائل ڪسٽمائيزيشن ترتيب ڏيڻ جو آسان طريقو آهي انهن جي موجوده حالت کي برآمد ڪريو.

سڀ کان پهريان، اچو ته ايپليڪيشنن جون ٽائلس شامل ڪريون جيڪي اسان کي شروع مينيو ۾ گهربل آهن. "Win+s" ڳولا کي ڪال ڪريو، گهربل ايپليڪيشن ڳولھيو، ان تي صحيح ڪلڪ ڪريو ۽ "اسڪرين کي شروع ڪرڻ لاء پن" چونڊيو.

مون ھيٺ ڏنل ائپس کي پن ڪيو آھي:

  • Блокнот
  • ڳڻپيندڙ
  • Internet Explorer
  • رنگ
  • WordPad
  • حراست ۾
  • ونڊوز سيڪيورٽي

آخري ٻن ايپليڪيشنن کي پن ڪيو ويو ڇاڪاڻ ته ... معياري LTSC پيڪيج ۾ صرف ٻيون آفاقي ايپليڪيشنون نه آهن. نوٽ ڪريو ته ڊيسڪ ٽاپ ٽائلس شارٽ ڪٽ سان ڳنڍجي ٿو. ھاڻي، ٽائلس کي سڌو سنئون اسٽارٽ مينيو ۾ ھلائڻ سان، مان پن ٿيل ٽائلس کي ٻن گروپن ۾ الڳ ڪندس. ٽائلس جو نئون گروپ ٺاھڻ لاءِ، ھڪ ٽائل کي ٻين ٽائلن جي ڀيٽ ۾ خاص طور تي مٿاھين يا ھيٺ ڇڪيو، جيڪو ھڪ وجداني ورهائيندڙ کي نمايان ڪندو. توھان گروپن کي پنھنجي صوابديد تي نالا ڏيئي سگھو ٿا؛ ائين ڪرڻ لاءِ، ماؤس ڪرسر کي گروپ جي مٿان رکي، ۽ جڏھن ”گروپ جو نالو“ لکجي، تڏھن کاٻي مائوس جي بٽڻ کي دٻايو. مان پھرين گروپ کي سڏيندس "سيٽنگون"، ان ۾ "سيٽنگون" ۽ "ونڊوز سيڪيورٽي" ٽائلس شامل آھن. مان ٻئي گروپ کي سڏيندس ”آفيس ايپليڪيشنون“، جنهن ۾ ٻيا سڀ ٽائل شامل هوندا. رستي جي ذريعي، توهان ٽائلس جي سڀني گروپن کي منتقل ڪري سگهو ٿا انهن کي ڇڪڻ ذريعي انهن ٻن پٽين کي استعمال ڪندي جيڪي گروپ جي نالي جي مٿين ساڄي پاسي واقع آهن.

ڇاڪاڻ ته "ونڊوز سيڪيورٽي" ٽائل تي نالو مڪمل طور تي مناسب نه آهي، مان ان جي سائيز کي "وائيڊ" ۾ تبديل ڪندس. ٽائل جي سائيز کي تبديل ڪرڻ لاء، ٽائل تي صحيح ڪلڪ ڪريو ۽ "ٻيهر سائز" چونڊيو.

ترتيب ڏيڻ کان پوء، اسان موجوده حالت کي برآمد ڪريون ٿا ۽ پاور شيل ماحول ۾ حڪم جاري ڪريون ٿا - "Export-StartLayout - رستو C:SysprepStartLayout.xml".

اڳيون، آسان طريقو اهو ناهي ته سيٽنگون فائل پاڻ ٺاهيو، پر отсюда взять пример файла سيٽنگون - "ڪاپي" بٽڻ تي ڪلڪ ڪريو، مواد کي نوٽ پيڊ ۾ پيسٽ ڪريو ۽ "MultiAppKiosk.xml" طور محفوظ ڪريو. ھاڻي اسان پنھنجي سيٽنگن کي تبديل ڪريون ٿا. منسلڪ ٽائلس جي سيٽنگ کي تبديل ڪرڻ لاء، مڪمل "StartLayoutCollection" بلاڪ کي نقل ڪريو "StartLayout.xml" کان "MultiAppKiosk.xml". اجازت ڏنل ايپليڪيشنن کي شامل ڪرڻ لاءِ، توهان کي "AllowedApps" سيڪشن ۾ آفاقي ايپليڪيشن سڃاڻپ ڪندڙ داخل ڪرڻ جي ضرورت آهي ۽ ساڳئي بلاڪ ۾ مڪمل رستو شامل ڪريو ڪلاسڪ ايپليڪيشنن جي ايگزيڪيوٽو فائلن لاءِ، جيڪو شارٽ ڪٽ جي خاصيتن ۾ بيان ڪيو ويو آهي. ٽائلس جو حوالو ڏيو. شارٽ ڪٽ تي جلدي حاصل ڪرڻ لاءِ، پن ٿيل ٽائل تي ساڄي ڪلڪ ڪريو ۽ ڏانھن وڃو وڌيڪ > فائل جي جڳھ ڏانھن وڃو. نوٽ ڪريو ته "AppUserModelId" پيراميٽر استعمال ڪيو ويندو آھي يونيورسل ايپ ID کي بيان ڪرڻ لاءِ، ۽ "DesktopAppPath" پيراميٽر استعمال ڪيو ويندو آھي ڊيسڪ ٽاپ ايپليڪيشن ڏانھن مڪمل رستو بيان ڪرڻ لاءِ. ۽ هڪ وڌيڪ نن nuance، جيڪڏهن توهان هڪ x64 سسٽم تي IE استعمال ڪرڻ جو ارادو ڪيو، پوء اجازت ڏنل ايپليڪيشنن جي فهرست ۾ توهان کي لازمي طور تي ٻه رستا بيان ڪرڻ گهرجن ايگزيڪيوٽو فائل لاءِ “Program FilesInternet Exploreriexplore.exe” ۽ “Program Files (x86)Internet Exploreriexplore. exe ".

Доступ к папкам я давать не буду, поэтому удаляю секцию «FileExplorerNamespaceRestrictions».

ٽاسڪ بار کي ڏيکارڻ مون کي تنگ نٿو ڪري، تنهنڪري مان هر شيء کي ڇڏي ڏيان ٿو جيئن اهو "ٽاسڪ بار" سيڪشن ۾ آهي.

مثال ۾، ٻه پروفائل بيان ڪيا ويا آهن، پر مون وٽ صرف هڪ پروفائل هوندو، تنهنڪري ٻئي پروفائل سان سيڪشن کي ختم ڪري سگهجي ٿو. انسٽال ڪرڻ کان اڳ، دلائل سان ايپليڪيشن کي خودڪار طور تي شروع ڪرڻ جي مثال تي ڌيان ڏيو.

"Configs" سيڪشن ۾، اڪائونٽس پروفائلز سان ڳنڍيل آھن؛ مھرباني ڪري نوٽ ڪريو ته گھڻن اڪائونٽن کي ھڪڙي پروفائل سان ڳنڍجي سگھجي ٿو. پر ڇاڪاڻ ته مان صرف هڪ اڪائونٽ ۾ دلچسپي وٺان ٿو، پوء آئون سڀ بائنڊنگ ختم ڪري ڇڏيندس سواءِ پهرين هڪ - ”ڪانفگ“ بلاڪ. باقي بائنڊنگ ۾ مان لکندس يوزر جو نالو ”User“.

مون کي ھي فائل پيرا ميٽرز سان ملي آھي

MultiAppKiosk.xml

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

جڏهن توهان پنهنجون XML ڪنفيگريشن فائلون ٺاهيندا آهيو، اهو نه وساريو ته هر پروفائيل کي هڪ منفرد ID هجڻ گهرجي، ۽ نه رڳو هڪ XML فائل ۾، پر هڪ OS جي اندر. اهي. مثالي طور تي، مونجهاري کان بچڻ لاءِ، توهان هر ڀيري هڪ نئون سڃاڻپ ڪندڙ ٺاهي سگهو ٿا؛ اهو ڪري سگهجي ٿو PowerShell ماحول ۾ ”[guid]::NewGuid()“ ڪمانڊ استعمال ڪندي. ۽ پڪ ڪريو ته فائل کي "UTF-8" انڪوڊنگ ۾ محفوظ ڪريو؛ جيڪڏهن فائل "ANSI" انڪوڊنگ ۾ محفوظ ڪئي وئي آهي، پوء جڏهن تياري پيڪيج ٺاهيندي توهان کي هڪ غلطي ملندي جيڪڏهن XML فائل سائريلڪ تي مشتمل آهي.

قدم 6 - multikiosk سيٽنگون لاڳو ڪرڻ

اچو ته ڪنفيگريشن فائل ۾ بيان ڪيل سيٽنگون لاڳو ڪرڻ جا ٻه طريقا ڏسو. پهريون هڪ روزي جي پيڪيج جي ذريعي آهي، جيڪو ICD ۾ ٺاهيو وڃي. ڪجهه لاء، شايد اهو طريقو وڌيڪ واقف هوندو. ٻيو "MDM پل WMI فراهم ڪندڙ" استعمال ڪري رهيو آهي، اهو طريقو مون کي وڌيڪ آسان لڳي.

طريقه نمبر .1

ڪنهن وٽ ICD نه آهي؟ ADK ڊائون لوڊ ڪريو ۽ انسٽال ڪريو. ADK انسٽال ڪرڻ بلڪل سادو آهي؛ اجزاء جو سيٽ ڊفالٽ طور ڇڏي سگھجي ٿو.

ICD لانچ ڪريو، "اعلي تياري" ٽائل تي ڪلڪ ڪريو، منصوبي جو نالو ۽ فولڊر بيان ڪريو ۽ "اڳيون" تي ڪلڪ ڪريو. ايندڙ ونڊو ۾، "ونڊوز ڊيسڪ ٽاپ جا سڀ ايڊيشن" چونڊيو ۽ "اڳيون" تي ڪلڪ ڪريو. توهان تياري واري پيڪيج کي درآمد ڪرڻ کان پاسو ڪري سگهو ٿا؛ "ختم" تي ڪلڪ ڪريو.

وڌايو "رن ٽائم سيٽنگون" ڊراپ ڊائون مينيو، پوء وڌايو "AssignedAccess" ذيلي مينيو ۽ چونڊيو "MultiAppAssignedAccessSettings". ICD ونڊو جي وچ واري حصي جي چوٽي تي، "برائوز" بٽڻ تي ڪلڪ ڪريو ۽ سيٽنگون سان XML فائل جي جڳھ کي ظاھر ڪريو. بس صورت ۾، توهان "Ctrl+s" کي دٻائڻ سان پروجيڪٽ کي بچائي سگهو ٿا. ICD جي مٿئين کاٻي حصي ۾، چونڊيو "ايڪسپورٽ" ۽ چونڊيو "Provisioning Package" ڊراپ-ڊائون مينيو مان. مالڪ جي طور تي، "IT منتظم" چونڊيو؛ ٻيا سڀئي سوال ڇڏي سگھجن ٿا "اڳيون" تي ڪلڪ ڪندي ۽ آخر ۾ "تعمير" ۽ "ختم" تي ڪلڪ ڪريو.

انسٽال ٿيل سسٽم ۾، هڪ صارف "يوزر" ٺاهڻ نه وساريو؛ هن کي "منتظم" گروپ ۾ شامل نه ٿو ڪري سگھجي، ٻي صورت ۾ ملائيڪيوسڪ ڪم نه ڪندو. مون ڪمپيوٽر مينيجمينٽ ۾ استعمال ڪندڙ کي پاسورڊ سان ٺاهيو جيڪو ڪڏهن به ختم نه ٿيندو.

ھاڻي اسان اڳئين نصب ٿيل سسٽم تي تياري واري پيڪيج کي هلائيندا آھيون. تياري جي پيڪيج کي لاڳو ڪرڻ کان پوء، شروع مينيو ۽ منتظم جو مينيو تبديل ٿي ويندو. کاٻي شروع واري ڪالمن ۾ بٽڻ غائب ٿيڻ گهرجي: "دستاويز"، "تصوير"، "اختيارن". جيڪڏهن شروعاتي مينيو تبديل نه ڪيو آهي، ته پوء ڪجهه غلط ٿي ويو آهي. انسٽال ٿيل پيڪيج کي کولڻ سان ختم ڪري سگھجي ٿو سيٽنگون> اڪائونٽس> ڪم يا اسڪول اڪائونٽ تائين رسائي> شامل ڪريو يا ختم ڪريو روزي جي پيڪيج ونڊو.

جيڪڏهن شروعاتي مينيو تبديل ٿي وئي آهي، ته پوء سيٽنگون سسٽم تي لاڳو ٿينديون آهن، لاگ ان ڪريو صارف جي طور تي جنهن لاء ملائيڪيوسڪ ترتيب ڏنل آهي ۽ نتيجو ڏسو.

طريقه نمبر .2

"MDM پل WMI فراهم ڪندڙ" استعمال ڪندي سيٽنگون لاڳو ڪرڻ описано здесь. هن طريقي جي سهولت ان جي استعمال جي لچڪدار آهي ۽ ڪيترن ئي دستي عملن کان نجات حاصل ڪرڻ جي صلاحيت آهي جيڪا تيار ڪرڻ واري پيڪيج ٺاهڻ جي ضرورت آهي. هتي هرڪو پنهنجي لاءِ فيصلو ڪري سگهي ٿو جيڪو انهن لاءِ آسان هوندو. مون پنهنجي لاءِ ٻه اسڪرپٽ ٺاهيا.

MiltiKiosk.bat - اسڪرپٽ لانچ ڪريو

@echo off
chcp 1251>nul

if not exist "%~dp0psexec.exe" call :ShowMessage "‡‡‡‡‡‡‡‡‡‡‡‡‡Для работы скрипта необходим файл psexec.exe‡‡Для завершения работы скрипта нажмите любую клавишу"&pause>nul&exit

net session>nul 2>nul
if %errorLevel% neq 0 (powershell -command "Start-Process "%~s0" -Verb RunAs"&exit)

for /f "tokens=2 delims==" %%i in ('wmic useraccount where "Name='%UserName%'" get SID /value^|find "SID"') do set SID=%%i
reg add HKU%SID%SoftwareSysinternalsPsExec /v EulaAccepted /t REG_DWORD /d 1 /f

for /f %%i in ('dir "%~dp0%~n0*.ps1" /b /o:n') do set PSFilePath=%~dp0%%i
if not defined PSFilePath (echo Не найдено PS файлов с началом названия - "%~n0"&pause&exit)
set PSFilePath=%PSFilePath: =` %
"%~dp0psexec.exe" -i -s powershell -command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Unrestricted -Command %PSFilePath%'"

exit

:ShowMessage
    setlocal enabledelayedexpansion
    set String=%~1
    if not defined String (echo.&setlocal disabledelayedexpansion&goto :eof)
    set /a ConCols=120 & set /a Num=1
    set "String[!Num!].str=%String:‡=" & set /a Num+=1 & set "String[!Num!].str=%"
    for /l %%a in (1,1,%Num%) do (
        for /l %%b in (0,1,%ConCols%) do if "!String[%%a].str:~%%b!" == "" (set "String[%%a].str= !String[%%a].str! "&set /a String[%%a].len-=1) else (set /a String[%%a].len+=0||set /a String[%%a].len=0)
        if not defined String[%%a].str (set String[%%a].str= )
        if not !String[%%a].len! equ 0 (call set String[%%a].str=%%String[%%a].str:~,!String[%%a].len!%%)
        if "!String[%%a].str: =!"=="" (echo.) else (echo !String[%%a].str!))
    setlocal disabledelayedexpansion
goto :eof

MiltiKiosk_Ver.12.ps1 - مکيه اسڪرپٽ

Function ConvertEncoding ([string]$From, [string]$To) {
    Begin{$encFrom = [System.Text.Encoding]::GetEncoding($From);$encTo = [System.Text.Encoding]::GetEncoding($To)}
    Process{$bytes = $encTo.GetBytes($_);$bytes = [System.Text.Encoding]::Convert($encFrom, $encTo, $bytes);$encTo.GetString($bytes) -replace [char]0, ''}
}

Function ShowMessage ($Message='', $Align=0) {
    Try {$Align = [decimal]$Align} Catch {Return 'Для параметра Align может быть указано только число' | ConvertEncoding 'windows-1251' -To 'UTF-16'}
    if ($Message -is [int]) {for ($i=1; $i -le $Message; $i++) {Write-Host}; Return}
    if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$Message = $Message | ConvertEncoding 'windows-1251' -To 'UTF-16'}
    if ($Message -is [string]) {[array] $Message = $Message}
    foreach ($String in $Message) {
        Try {$String = [int]$String} Catch {}
        if ($String -is [int]) {for ($i=1; $i -le $String; $i++) {Write-Host}; continue}
        if ($Host.UI.RawUI.BufferSize.Width -gt $String.Length) {
            if ($Align -eq 0) {Write-Host $String
            } else {Write-Host ("{0}{1}" -f (' ' * (([Math]::Max(0, $Host.UI.RawUI.BufferSize.Width / $Align) - [Math]::Floor($String.Length / $Align)))), $String)}
        } else {Write-Host $String}
    } 
}

$script:NameSpace="rootcimv2mdmdmmap"
$script:ClassName="MDM_AssignedAccess"
$script:MultiAppKiosk = Get-CimInstance -Namespace $NameSpace -ClassName $ClassName
if (-not $MultiAppKiosk) {ShowMessage -Message (3, 'Ошибка получения объекта настроек', 2, 'Нажмите "Enter" для завершения рабты скрипта') -Align 2; Read-Host; Exit}

Function MainMenu() {
    ShowMessage (13, ' 0 - Выход', ' 1 - Выбрать XML-файл для установки', ' 2 - Показать текущую конфигурацию мультикиоска', ' 3 - Удалить настройки мультикиоска', 1)
    $local:PromptText = 'Выберите действие'
    if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$PromptText = $PromptText | ConvertEncoding 'windows-1251' -To 'UTF-16'}

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

Function XMLSelection() {
    Clear-Host

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

    $local:XMLList = @()
    $XMLList += Get-ChildItem -Path $PSScriptRoot'XML' -name -filter '*.xml'
    if ($XMLList.Count -eq  0) {ShowMessage -Message (13, 'Не найдено XML-файлов в каталоге', $('"'+$PSScriptRoot+'XML"'), 1, 'Нажмите "Enter" для возврвта в предыдущее меню') -Align 2; Read-Host; Return}

    [int]$local:Indent = 13 - $XMLList.Count / 2; if ($Indent -lt 1) {$Indent = 1}
    ShowMessage ($Indent, ' 0 - Вернуться в предыдущее меню')
    for ($i=0; $i -le $XMLList.GetUpperBound(0); $i++) {Write-Host $(' '+($i+1)+' - '+$XMLList[$i])}
    Write-Host
    $local:PromptText = 'Выберите файл для установки'
    if ([System.Text.Encoding]::Default.WindowsCodePage -eq 1252) {$PromptText = $PromptText | ConvertEncoding 'windows-1251' -To 'UTF-16'}

    $local:Selections = 1..$XMLList.Count
    $local:BackToPrevMenu = 0
    While ($BackToPrevMenu -eq 0) {
        $Select = Read-Host -Prompt $PromptText
        Switch ($Select) {
            0 {$BackToPrevMenu = 1}
            {$Selections -contains $Select} {ShowMessage $('Дана команда на применение настроек из файла '+$XMLList[$Select-1]);
                $local:Config = (Get-Content -encoding UTF8 -path $($PSScriptRoot+'XML'+$XMLList[$Select-1]) -Raw).Trim()
                $local:GUIDs = [regex]::matches($Config, '{.+?}') | select -ExpandProperty Value | Get-Unique
                foreach ($GUID in $GUIDs) {$Config = $Config -replace $(''+$GUID),$('{'+[guid]::NewGuid()+'}')}
                $Config = $Config -replace '&','&' -replace '<','<' -replace '>','>' -replace "'",''' -replace '"','"'
                $MultiAppKiosk.Configuration = $Config
                Set-CimInstance -CimInstance $MultiAppKiosk
            }
            DEFAULT {ShowMessage ('Выбрано недопустимое значение')} 
        }
    }
}

MainMenu

جيڪڏهن توهان منهنجو حل استعمال ڪرڻ چاهيو ٿا ته پوءِ مٿين اسڪرپٽ کي انهن جي اصل نالن سان هڪ فولڊر ۾ محفوظ ڪريو ۽ ساڳئي فولڊر ۾ “PsExec.exe” فائل رکو. ساڳئي فولڊر ۾، هڪ "XML" فولڊر ٺاهيو ۽ XML فائلن کي نقل ڪريو ان ۾ multikiosk ترتيب ڏيڻ لاء. مان ساڳي فائل استعمال ڪندس جيئن پهرين طريقي سان.

MultiAppKiosk.xml

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

رسم الخط جي خاصيتن جي باري ۾ ٿورو. اسڪرپٽ ٺهيل آهي XML فائلن کي استعمال ڪرڻ لاءِ “UTF8” انڪوڊنگ؛ جيڪڏهن توهان استعمال ڪرڻ چاهيو ٿا “ANSI” انڪوڊنگ، ته پوءِ فائل پڙهڻ جي اختيار مان “انڪوڊنگ UTF8” پيٽرول کي هٽايو. توھان کي لازمي طور تي XML فائلن کي رکڻ گھرجي "XML" فولڊر ۾ اکرن کي تبديل ڪرڻ کان سواء؛ اسڪرپٽ پاڻ کي خاص ڪردارن کي مناسب نموني سان تبديل ڪندو. صارفن کي پروفائلز سان ڳنڍڻ جي GUIDs ۾ پريشان نه ٿيڻ لاءِ، توھان رڳو استعمال ڪندڙ جو نمبر يا نالو گھڙيل برائسز ۾ ڏيکاري سگھو ٿا؛ گھڙيل ڪڙيون ۾ موجود سڀئي مواد GUIDs سان تبديل ڪيا ويندا.

اسڪرپٽ استعمال ڪرڻ بلڪل سادو آهي، بس ان کي هلايو ۽ گهربل شيون چونڊيو. موجوده ٺاھ جوڙ کي نئين ۾ تبديل ڪرڻ لاء، موجوده ھڪڙي کي ختم ڪرڻ ضروري نه آھي؛ اھو ختم ڪيو ويندو. صارفين کي ٺاھڻ نه وساريو جيڪي ترتيب ڏنل فائل ۾ بيان ڪيا ويا آھن.

جڏهن ساڳئي سيشن ۾ موجوده multikiosk ترتيب کي ڏسو جنهن ۾ اهو لاڳو ڪيو ويو هو، خاص اکرن جي بدران، متبادل اکرن جا مجموعا ڏيکاريا ويندا. سيشن کي تبديل ڪرڻ کان پوء (اسڪرپٽ ٻيهر شروع ڪرڻ)، سڀئي خاص اکر انهن جي اصل شڪل ۾ ڏيکاريا ويندا.

Шаг 7 – запечатывание системы

multikiosk ڪم ڪري ٿو، خير، اهو سڀ ڪجهه آهي، اهو لڳي ٿو ...

جيڪڏهن هر شي منصوبي جي مطابق ٿي وڃي، پوء توهان ڪجهه نه ڏسي رهيا آهيو.

Не забываем, что нам еще нужно переводить систему из режима аудита в режим приветствия. Ну мы же к этому готовы, запускаем «Sysprep.bat», выбираем пункт 2, система запечатывается. Включаем устройство, система загружается, входим в учетную запись пользователя для которого настроен мультикиоск и не можем войти. После надписи «Добро пожаловать» появляется надпись «Выход из системы».

شروع ۾ مون صرف ان مسئلي جو حل بيان ڪرڻ پئي چاهيو، پر بعد ۾ مون فيصلو ڪيو ته ان مسئلي کي سڃاڻڻ ۽ آسان حل ڳولڻ لاءِ قدم بيان ڪيان ڇو ته... يقينن ڪيترن ئي پڙهندڙن کي مبهم شڪن کان عذاب ڪيو ويندو - "ڇا ٿيندو جيڪڏهن اهو هن وانگر آهي ...". مان سمجهان ٿو ته مختلف تجربن کي بيان ڪرڻ توهان کي وقت جي هڪ اهم رقم بچائيندو جيڪڏهن توهان ٻيو حل ڳولڻ چاهيو ٿا. معلومات کي ممڪن طور تي درست ڪرڻ لاء، ۽ هڪ ڀيرو ٻيهر پڪ ڪرڻ لاء ته ڪو به غلطيون نه آهن، آئون تجربا بيان ڪندس "مڪمل ۽ رڪارڊ ٿيل" فارميٽ ۾. اهي. مان بيان ڪيل تجربا ٻيهر ڪندس.

تجربا

اسان ڇا ڪيو؟ سسٽم ۾ ٻه اڪائونٽ آهن:

"منتظم" - "منتظم" گروپ ۾
«User» – в группе «Пользователи»
آڊٽ موڊ ۾، multikiosk ڪم ڪيو، پر جڏهن سيل ڪيو ويو، اهو ڪم نه ڪيو.

تجربو 1

اسان انسٽال ٿيل تياري واري پيڪيج کي حذف ڪريون ٿا، ”ڪمپيوٽر مئنيجمينٽ“ سنيپ-ان ۾ اسان صارف ”يوزر“ کي حذف ڪريون ٿا ۽ ”يوزر“ نالي سان نئون يوزر ٺاهيون ٿا، تياري واري پيڪيج کي لاڳو ڪريون ٿا، ”يوزر“ کاتي ڏانهن وڃو. ڪم نه ڪرڻ. اسان "ايڊمن" جي نالي هيٺ وڃون ٿا، "صارف" گروپ مان "يوزر" کي هٽايو، "ايڊمنسٽريٽر" گروپ ۾ شامل ڪريو، "يوزر" جي نالي هيٺ وڃو - اهو ڪم نٿو ڪري. اسان "ايڊمن" جي نالي سان لاگ ان ٿيو، ملٽيڪيوسڪ سان تياري واري پيڪيج کي حذف ڪريو، "يوزر" جي نالي سان لاگ ان ٿيو - اسان لاگ ان ٿيڻ ۾ ڪامياب ٿي ويا، پر يقيناً ملٽيڪيوسڪ موڊ ڪم نٿو ڪري ڇاڪاڻ ته روزي جي پيڪيج کي هٽايو ويو آهي.

تجربو 2

اسان سسٽم جي تصوير کي اپلوڊ ڪيو - آڊٽ موڊ ۾ Russified.

او ايس لوڊ ٿي چڪو آهي، پريس ڪريو "Win + r"، ڇاڪاڻ ته اسان جي sysprep ونڊو خود بخود بند ٿي وئي آهي، "sysprep" حڪم کي هلائي، ۽ "sysprep" کي هلائيندڙ ونڊو ۾ جيڪو کلي ٿو. ونڊو ۾ Sysprep سيٽنگون: "سسٽم جي استقبال ونڊو ڏانھن وڃو (OOBE)"، "استعمال لاء تياري"، "ريبوٽ". "OK" تي ڪلڪ ڪريو ۽ او ايس جي سلام جو انتظار ڪريو. اسان سوالن جا جواب ڏيون ٿا جڏهن سسٽم پهريون ڀيرو بوٽ ڪيو: "چونڊيل ٻولي ۾ جاري رکو؟" - "روسي"؛ علائقي - روس؛ ڪيبورڊ ترتيب - روسي؛ ٻيو ڪيبورڊ ترتيب شامل ڪريو - ڇڏي ڏيو؛ "اچو ته توهان کي نيٽ ورڪ سان ڳنڍيون" - "هاڻي لاءِ ڇڏي ڏيو"؛ انٽرنيٽ سان ڳنڍيو - نه؛ لائسنس جو معاهدو - قبول؛ "ڪير هن ڪمپيوٽر کي استعمال ڪندو" - "ٽيسٽ"؛ پاسورڊ ٺاهڻ - فيلڊ کي خالي ڇڏي ڏيو؛ مختلف ڊوائيسز تي آسان آپريشن - نه؛ رازداري سيٽنگون - قبول ڪريو. OS لوڊ ٿي چڪو آهي، "ڪمپيوٽر مئنيجمينٽ" سنيپ-ان ۾ اسان "يوزر" جي نالي سان هڪ صارف ٺاهي، تيار ڪرڻ وارو پيڪيج شامل ڪريو. نتيجو اهو آهي ته اهو ڪم نٿو ڪري.

تجربو 3

اسان سسٽم جي تصوير کي اپلوڊ ڪيو - آڊٽ موڊ ۾ Russified.

OS لوڊ ٿي چڪو آهي، سسٽم کي انٽرنيٽ سان ڳنڍيو، "gpedit.msc" ڪمانڊ هلائي ۽ "ونڊوز اپڊيٽ" سيڪشن ۾ "آٽوميٽڪ اپڊيٽ ذريعي تجويز ڪيل اپڊيٽ کي فعال ڪريو" اختيار کي فعال ڪريو، صرف صورت ۾ ريبوٽ ڪريو. اپڊيٽ سينٽر ۾، "تازه ڪاري لاء چيڪ ڪريو" تي ڪلڪ ڪريو ۽ ريبوٽ ڪريو جيستائين سڀئي تازه ڪاريون نصب نه ٿين. سسٽم کي انٽرنيٽ کان ڌار ڪريو. اسان "sysprep" کي گرافڪ موڊ ۾ لانچ ڪريون ٿا ۽ تياري واري پيڪيج کي شامل ڪرڻ لاءِ "sysprep" يوٽيلٽي کي هلائڻ کان وٺي پوئين قدم ۾ بيان ڪيل سڀني مرحلن کي ورجائيندا آهيون. نتيجو اهو آهي ته اهو ڪم نٿو ڪري.

تجربو 4

اسان اپلوڊ ڪيو سسٽم تصوير - انگريزي آڊٽ موڊ ۾.

اسان "sysprep" کي گرافڪ موڊ ۾ لانچ ڪريون ٿا، OS کي ساڳين پيرا ميٽرن سان سيل ڪريون ٿا جيئن تجربو 2 دوران. جڏهن سسٽم پهريون ڀيرو شروع ٿئي ٿو، اسان علائقائي ۽ ٻولي جي ماپن جي استثنا سان، تجربو 2 ۾ ساڳيا پيرا ميٽر چونڊيندا آهيون، ڇاڪاڻ ته روسي ٻولي ناهي. ساڳئي طريقي سان، هڪ صارف ٺاهيو "يوزر" ۽ شامل ڪريو روزي وارو پيڪيج. نتيجو اهو آهي ته اهو ڪم ڪري ٿو. اهي. مسئلو مقامي ڪرڻ سان لاڳاپيل آهي.

تجربو 5

اسان سسٽم جي تصوير کي اپلوڊ ڪيو - آڊٽ موڊ ۾ Russified.

"ڪمپيوٽر مئنيجمينٽ" سنيپ-ان ۾، هڪ صارف "يوزر" ٺاهيو، هڪ تيار ڪرڻ وارو پيڪيج شامل ڪريو، "يوزر" اڪائونٽ ڏانهن وڃو، ملٽي-ڪيوسڪ ڪم ڪري ٿو.

پنهنجي اڪائونٽ مان لاگ آئوٽ ٿيو ۽ لاگ ان ٿيو ”ايڊمن“ اڪائونٽ. اسان ايڊمنسٽريٽر جي حقن سان پاور شيل لانچ ڪريون ٿا، ڪمانڊ تي عمل ڪريون ٿا “Dism/online/Get-Intl” ۽ ڏسو “Default user interface language: en-US”.

اسان فليش ڊرائيو مان بوٽ ڪريون ٿا WinPE ۾، ڊيپلائي ٿيل OS منهنجي E ڊرائيو تي آهي، اسان حڪم جاري ڪريون ٿا ”Dism/image:E:/Set-UILang:ru-ru“. اسان نتيجو ڏسو، "Dism / image:E: /Get-Intl" تي عمل ڪريو ۽ "ڊفالٽ سسٽم UI ٻولي: ru-RU" ڏسو.

اسان سسٽم ۾ بوٽ ڪريو، "يوزر" اڪائونٽ ۾ لاگ ان ڪريو، multikiosk ڪم نٿو ڪري.

واضح طور تي مسئلي جي سبب ۽ اثر جي تعلق کي قائم ڪرڻ لاء، اچو ته ٻيهر ڪوشش ڪريون ته ملٽي ڪيڪ ڪم ڪندڙ ۽ غير ڪم ڪندڙ.

اسان فليش ڊرائيو مان بوٽ ڪريون ٿا WinPE ۾، ڊيپلائي ٿيل OS منهنجي E ڊرائيو تي آهي، اسان حڪم جاري ڪريون ٿا ”Dism/image:E:/Set-UILang:en-us“. اسان نتيجو ڏسون ٿا، "Dism/image:E: /Get-Intl" تي عمل ڪريو ۽ ڏسو "ڊفالٽ سسٽم UI ٻولي: en-US".

اسان سسٽم ۾ بوٽ ڪريو، لاگ ان ڪريو "يوزر" اڪائونٽ، ملائيڪيوسڪ ڪم ڪري ٿو.

اسان فليش ڊرائيو مان بوٽ ڪريون ٿا WinPE ۾، ڊيپلائي ٿيل OS منهنجي E ڊرائيو تي آهي، اسان حڪم جاري ڪريون ٿا ”Dism/image:E:/Set-UILang:ru-ru“. اسان نتيجو ڏسو، "Dism / image:E: /Get-Intl" تي عمل ڪريو ۽ "ڊفالٽ سسٽم UI ٻولي: ru-RU" ڏسو.

اسان سسٽم ۾ بوٽ ڪريو، "يوزر" اڪائونٽ ۾ لاگ ان ڪريو، multikiosk ڪم نٿو ڪري.

اهي. توهان ڊفالٽ يوزر انٽرفيس جي ٻولي تي kiosk جي ڪارڪردگي جو واضح انحصار ڏسي سگهو ٿا. ٿي سگهي ٿو ته ڪجهه ٻيا عنصر آهن جيڪي multikiosk جي ڪارڪردگي کي متاثر ڪن ٿا؟

تجربو 6

Для чистоты эксперимента перезаливаем систему. Заливаем образ системы – русифицированный в режиме аудита.

اسان "sysprep" کي گرافڪ موڊ ۾ لانچ ڪيو، OS کي ساڳين پيرا ميٽرن سان سيل ڪيو جيئن تجربو 2. اسان انتظار ڪريون ٿا OS اسان کي سلام ڪري ۽ سوالن جا جواب ڏئي: "چونڊيل ٻولي ۾ جاري رکو؟" - "انگريزي (آمريڪا)"؛ علائقي - روس؛ ڪي بورڊ ترتيب - روسي. وڌيڪ، سڀ پيٽرولر چونڊيا ويا جيئن تجربو 2 ۾.

اچو ته ڏسو ڊفالٽ يوزر انٽرفيس ٻولي سيٽنگون. اسان حڪم جاري ڪريون ٿا “Dism/online/Get-Intl” ۽ ڏسو “Default system UI language: en-US”. "ڪمپيوٽر مئنيجمينٽ" سنيپ-ان ۾، هڪ صارف "يوزر" ٺاهيو، هڪ تيار ڪرڻ وارو پيڪيج شامل ڪريو، "يوزر" اڪائونٽ ڏانهن وڃو، ملٽي-ڪيوسڪ ڪم ڪري ٿو.

Пробуем сломать киоск путем изменения языка пользовательского интерфейса по умолчанию. Заходим в пользователя «Test», который был создан при первой загрузке системы и включаем для него автоматический вход чтобы система не загружалась в учетную запись «User», сразу. Выполняем «netplwiz», выбираем пользователя «Test», снимаем флажок «Требовать ввод имени пользователя и пароля» и применяем параметры.

WinPE ۾ فليش ڊرائيو مان بوٽ ڪريو. حڪم جاري ڪريو "Dism/image:E: /Set-UILang:ru-ru". اسان نتيجو ڏسو، "Dism / image:E: /Get-Intl" تي عمل ڪريو ۽ "ڊفالٽ سسٽم UI ٻولي: ru-RU" ڏسو.

اسان سسٽم ۾ بوٽ ڪريو، "صارف" اڪائونٽ ۾ لاگ ان ٿيڻ جي ڪوشش ڪريو، ملائيڪيوسڪ ڪم ڪري ٿو. اهي. ان کي ٽوڙي نه ٿو سگهجي. ڇا اهو ممڪن آهي ته هن طريقي سان ڪم ڪيو وڃي؟

تجربو 7

اسان سسٽم جي تصوير کي اپلوڊ ڪيو - آڊٽ موڊ ۾ Russified.

اسان "Sysprep.bat" لانچ ڪيو، پوائنٽ 2 چونڊيو. اسان سسٽم ۾ بوٽ ڪريو، "ڪمپيوٽر مئنيجمينٽ" سنيپ ان ۾ استعمال ڪندڙ "يوزر" ٺاھيو، تيار ڪرڻ وارو پيڪيج شامل ڪريو، "يوزر" اڪائونٽ ڏانھن وڃو، گھڻن- kiosk ڪم نٿو ڪري.

Загружаемся с флэшки в WinPE. Выполняем команду «Dism /image:E: /Set-UILang:en-us». Смотрим на результат, выполняем «Dism /image:E: /Get-Intl» и видим «Default system UI language: en-US».

اسان سسٽم ۾ بوٽ ڪريو، "يوزر" اڪائونٽ ۾ لاگ ان ٿيڻ جي ڪوشش ڪريو، ملائيڪيوسڪ ڪم نٿو ڪري.

اهو ظاهر ٿئي ٿو ته ڊفالٽ يوزر انٽرفيس جي ٻولي سيٽنگ کي تبديل ڪندي، توهان ملائيڪيوسڪ جي ڪارڪردگي کي صرف ان صورت ۾ متاثر ڪري سگهو ٿا جڏهن سسٽم آڊٽ موڊ ۾ هجي يا سسٽم کي سيل ڪرڻ کان پوء پهرين بوٽ تي. ان جو مطلب اهو آهي ته توهان کي سسٽم کي هڪ جوابي فائل سان سيل ڪرڻو پوندو جنهن ۾ سسٽم ٻولي انگريزي ۾ چونڊيو ويندو، ۽ پوء سسٽم سيٽنگون تبديل ڪريو ته جيئن انٽرفيس روسي آهي. تمام سٺو حل ناهي. ٿي سگهي ٿو مسئلو هڪ ٻولي پيڪ انسٽال ڪرڻ يا اضافي ٻولي پيڪ انسٽال ڪرڻ سان حل ٿي سگهي ٿو؟

تجربو 8

اسان اپلوڊ ڪيو سسٽم تصوير - انگريزي آڊٽ موڊ ۾.

اسان انٽرنيٽ سان ڳنڍيون ٿا، سسٽم پيٽرولر ۾ "ٻولي" سيڪشن ڏانهن وڃو، "ٻولي شامل ڪريو" چونڊيو، ٻولي چونڊيو "روسي"، ڪلڪ ڪريو "اڳيون"، انسٽاليشن پيٽرولر کي ڊفالٽ طور ڇڏي ڏيو، "انسٽال ڪريو" تي ڪلڪ ڪريو، انسٽال ڪرڻ کان پوء. ٻولي پيڪ اسان سسٽم کي ريبوٽ ڪيو، هاڻي Russified تي. سسٽم کي انٽرنيٽ کان ڌار ڪريو، "Sysprep.bat" کي هلائي، پوائنٽ 2 چونڊيو.

سسٽم کي لوڊ ڪرڻ کان پوء، "ڪمپيوٽر مئنيجمينٽ" سنيپ ان ۾، "يوزر" يوزر ٺاهيو، تيار ڪرڻ وارو پيڪيج شامل ڪريو، "يوزر" اڪائونٽ ڏانهن وڃو، ملٽي ڪيوسڪ ڪم نٿو ڪري.

تجربو 9

اچو ته انسٽاليشن کان پهريان سسٽم کي Russify ڪرڻ جي ڪوشش ڪريون، آف لائن موڊ ۾. ساڳي ئي وقت ۾ تقسيم جي مقامي ڪرڻ تي هڪ مختصر تعليمي پروگرام ٿيندو.

مان هڪ صاف اصل تقسيم سان هڪ فليش ڊرائيو وٺي ٿو - X21-96381. اهو ڊرائيو "اي" ٿيندو. تصويرن کي مائونٽ ڪرڻ لاءِ، مان فولڊر ٺاهيان ٿو: “c:MountInstall”، “c:MountWinre”، “c:MountBoot”. مان وٺان ٿو لوڪلائيزيشن پيڪيجز جو هڪ سيٽ - X21-87814. ۽ “c:Mount” فولڊر ۾ مان ان مان پيڪيجز کي نقل ڪريان ٿو: “Microsoft-Windows-Client-Language-Pack_x86_ru-ru.cab”, “lp.cab”, “WinPE-Setup_ru-ru.cab”. مان ايڊمنسٽريٽر جي حقن سان ڪنسول لانچ ڪريان ٿو. مان سمجهان ٿو ته وڌيڪ حڪم تبصرو کان سواء واضح ٿي ويندا.

Localization حڪم

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

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

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

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

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

اسان فليش ڊرائيو مان بوٽ ڪريو، روسي ٻولي چونڊيو ۽ سسٽم کي خالي ڊسڪ تي انسٽال ڪريو. جڏهن سسٽم توهان کي علائقي کي چونڊڻ لاءِ پڇي، پريس ڪريو ”Ctrl+Shift+F3“. "ڪمپيوٽر مئنيجمينٽ" سنيپ-ان ۾، هڪ صارف "يوزر" ٺاهيو، هڪ تيار ڪرڻ وارو پيڪيج شامل ڪريو، "يوزر" اڪائونٽ ڏانهن وڃو، ملٽي-ڪيوسڪ ڪم نٿو ڪري.

WinPE ۾ فليش ڊرائيو مان بوٽ ڪريو. حڪم جاري ڪريو "Dism/image:E: /Set-UILang:en-us".

اسان سسٽم ۾ بوٽ ڪريو، "صارف" اڪائونٽ ۾ لاگ ان ٿيڻ جي ڪوشش ڪريو، ملائيڪيوسڪ ڪم ڪري ٿو.

بظاهر مسئلو پيڪيج شامل ڪرڻ جي طريقن ۾ ناهي، اچو ته ڪوشش ڪريون اضافي پيڪيجز شامل ڪرڻ ۾.

تجربو 10

Берем флэшку, которую мы подготовили на предыдущем шаге.

اسان وٺون ٿا ”فيٽ آن ڊيمانڊ“ پيڪيج - X21-87815. مان ان مان پيڪيجز کي نقل ڪريان ٿو “c:Mount” فولڊر: «Microsoft-Windows-LanguageFeatures-Basic-ru-ru-Package~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cab», «Microsoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~ ~.cab», «Microsoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cab».

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

منتظم جي حقن سان ڪنسول لانچ ڪريو ۽ حڪمن تي عمل ڪريو:

Команды

cd c:mount
dism /Mount-Wim /WimFile:e:sourcesinstall.wim /index:1 /MountDir:Install
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Basic-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-OCR-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-Handwriting-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-LanguageFeatures-TextToSpeech-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-Package~31bf3856ad364e35~x86~~.cab
dism /Add-Package /Image:Install /PackagePath:Microsoft-Windows-RetailDemo-OfflineContent-Content-ru-ru-Package~31bf3856ad364e35~x86~~.cab
dism /Unmount-Image /MountDir:Install /Commit

اسان فليش ڊرائيو مان بوٽ ڪريو، روسي ٻولي چونڊيو ۽ سسٽم کي خالي ڊسڪ تي انسٽال ڪريو. جڏهن سسٽم توهان کي علائقي کي چونڊڻ لاءِ پڇي، پريس ڪريو ”Ctrl+Shift+F3“. "ڪمپيوٽر مئنيجمينٽ" سنيپ-ان ۾، "يوزر" يوزر ٺاهيو، روزي ڏيڻ وارو پيڪيج شامل ڪريو، ۽ "يوزر" اڪائونٽ ۾ لاگ ان ڪريو. مون کي هڪ ڪارو اسڪرين ملي آهي جيڪا گهڻي وقت تائين لڪي رهي هئي، تنهنڪري مون سسٽم کي گرم ڪيو.

اسان تياري واري پيڪيج کي حذف ڪريون ٿا، لاگ ان ڪريو "صارف" طور، سسٽم کي ريبوٽ ڪريو، تيار ڪرڻ وارو پيڪيج شامل ڪريو، ملائيڪيوسڪ ڪم نٿو ڪري.

WinPE ۾ فليش ڊرائيو مان بوٽ ڪريو. حڪم جاري ڪريو "Dism/image:E: /Set-UILang:en-us".

اسان سسٽم ۾ بوٽ ڪريو، "صارف" اڪائونٽ ۾ لاگ ان ٿيڻ جي ڪوشش ڪريو، ملائيڪيوسڪ ڪم ڪري ٿو.

ڪم ڪار

عام هيرو. اهي هميشه هڪ رستو وٺي رهيا آهن!

لوڪلائيزيشن پيڪ انسٽال ڪرڻ جي مختلف طريقن سان مسئلو حل نه ٿيو، جنهن جو مطلب آهي ته توهان کي پهرين بوٽ تي ”en-us“ ٻولي انسٽال ڪرڻي پوندي، ۽ پهرين بوٽ کان پوءِ ٻوليءَ جي سيٽنگ کي تبديل ڪرڻو پوندو.

اسان سسٽم جي تصوير کي اپلوڊ ڪيو - آڊٽ موڊ ۾ Russified.

"Unattend.xml" فائل ۾، پيراميٽر ۾ "en-US" داخل ڪريو، "Sysprep.bat" کي هلائي، پوائنٽ 2 چونڊيو ۽ ڏسو ته اسان کي ڇا مليو. ڀليڪار اسڪرين انگريزيءَ ۾ آھي، ملٽي-ڪيوسڪ ڪم ڪري ٿي. هن جو مطلب آهي ته توهان کي سلام جي ٻولي کي تبديل ڪرڻ لاء "Unattend.xml" ۾ هڪ حڪم شامل ڪرڻ جي ضرورت آهي. ۽ هن کي ڪرڻ لاء، توهان کي حڪم هلائڻ جي ضرورت آهي "control intl.cpl,, /f:" ترتيب ڏيڻ واري فائيل کي اشارو ڪندي، جيڪو موجوده پيٽرولن جي نقل کي خوش آمديد اسڪرين ڏانهن بيان ڪندو. ترتيب واري فائل جو مواد هن طرح نظر ايندو.

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

ڇاڪاڻ ته موجوده استعمال ڪندڙ جي سيٽنگن کي نقل ڪندو، پوءِ ڪمانڊ لازمي طور تي عمل ڪيو وڃي صارف جي لاگ ان ٿيڻ کان پوءِ، جنهن جو مطلب آهي ته اسان کي ضرورت پوندي. اتي ھڪڙو ننڍڙو "پر" آھي، عملدرآمد ھڪڙي صارف جي منتظم جي حقن سان لاگ ان ٿيڻ کان پوء ٿيندي. ۽ مان نه ٿو چاهيان ته هڪ اضافي فائل ٺاهي جيڪا ڪمانڊ کي ڪاميابي سان هلائڻ لاءِ گهربل هجي. اهو بهتر آهي ته مڪمل حل هڪ واحد فائل ۾ لاڳو ڪرڻ - "Unattend.xml". هن کي ڪرڻ لاء، توهان کي صرف هڪ حڪم هلائڻ جي ضرورت پوندي جيڪا هڪ ترتيب واري فائيل ٺاهي ٿي. مان سمجهان ٿو ته مان "cmd" ماحول ۾ "echo" ڪمانڊ استعمال ڪندي هڪ ڪنفيگريشن فائل ٺاهيندس، پر ان کي سرڪيم فلڪس سان زاويه بریکٹس کان بچڻ جي ضرورت آهي. اهي. ھڪڙي ٺاھ جوڙ واري فائل ٺاھڻ لاء، ھيٺ ڏنل حڪم حاصل ڪيو ويو آھي.

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

پر اسان کي هن حڪم کي XML ۾ رکڻ جي ضرورت آهي، جنهن ۾ خاص ڪردارن جي استعمال لاءِ پنهنجون گهرجون آهن:

خاص ڪردار
متبادل قيمت

>
&gt;

<
&lt;

&
&amp;

'
&apos;

"
&quot;

نتيجي طور، ھڪڙي ٺاھڻ واري فائل ٺاھڻ لاء، اسان کي "FirstLogonCommands" لاء ھيٺ ڏنل حڪم مليو.

cmd.exe /c echo ^&lt;gs:GlobalizationServices xmlns:gs=&quot;urn:longhornGlobalizationUnattend&quot;^&gt;^&lt;gs:UserList^&gt;^&lt;gs:User UserID=&quot;Current&quot; CopySettingsToSystemAcct=&quot;true&quot;/^&gt;^&lt;/gs:UserList^&gt;^&lt;/gs:GlobalizationServices^&gt;&gt;&quot;%TMP%Config.xml&quot;

اڳيون، اسان ترتيب ڏيڻ واري فائل کي استعمال ڪندي حڪم جاري ڪريون ٿا.

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

اڳيون، اڳوڻي ٺاهيل فائل کي حذف ڪريو ۽ سسٽم کي ريبوٽ ڪريو. تبديليون ريبوٽ ٿيڻ کان پوءِ اثر انداز ٿينديون.

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

نتيجي طور، مون sysprep لاء ھيٺ ڏنل جواب واري فائل سان ختم ڪيو.

Unattend.xml

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

اچو ته چيڪ ڪريون...

اسان سسٽم جي تصوير کي اپلوڊ ڪيو - آڊٽ موڊ ۾ Russified.

اسان Unattend.xml فائل کي نئين فائل ۾ تبديل ڪريون ٿا، "Sysprep.bat" کي هلايو، پوائنٽ 2 چونڊيو ۽ ڏسو ته اسان کي ڇا مليو. جڏهن توهان پهريون ڀيرو بوٽ ڪريو ٿا، ڀليڪار اسڪرين انگريزي ۾ آهي ۽ سسٽم ٻيهر شروع ٿئي ٿو. استقبال اسڪرين روسي ۾ آهي، multikiosk ڪم ڪري ٿو.

جيڪڏهن توهان وٽ سيٽ اپ ۽ لائسنس ڏيڻ بابت ڪي سوال آهن Windows 10 IoT Enterprise، مهرباني ڪري رابطو ڪريو: [ايميل محفوظ ٿيل] يا ويب سائيٽ ڏانهن quarta-embedded.ru.
توھان ڪجھ سوالن جا جواب ڳولي سگھوٿا ۾ اسان جي وڪي يا اسان تي يوٽيوب چينل

مضمون جو ليکڪ: Vladimir Borisenkov، ٽيڪنيڪل ماهر ڪوارٽا ٽيڪنالاجيز.

جو ذريعو: www.habr.com