Добавление языков в образ Windows 11 Корпоративная
Важно, чтобы пользователи в вашей организации по всему миру могли работать с развертыванием Виртуального рабочего стола Azure. Вот почему вы можете настроить образ Windows 11 Корпоративная, используемый для виртуальных машин, с разными языковыми пакетами. Начиная с Windows 11 учетные записи пользователей без прав администратора теперь могут добавлять как язык интерфейса, так и соответствующие языковые функции. Это означает, что вам не потребуется предварительно устанавливать языковые пакеты для пользователей в личном пуле узлов. Для пулов узлов в составе пула по-прежнему рекомендуется добавить языки, которые планируется добавить в пользовательский образ. Инструкции в этой статье можно использовать как для односеансовых, так и для многосеансовых версий Windows 11 Корпоративная.
Если пользователи в организации говорят на разных языках, есть два варианта:
- создать один выделенный пул узлов с настроенным образом для каждого языка;
- добавить пользователей, говорящих на разных языках, в один пул узлов.
Второй вариант эффективнее с точки зрения расходуемых ресурсов и затрат, но требует дополнительных действий. К счастью, эта статья поможет вам создать образ, охватывающий пользователей, говорящих на всех языках, и все потребности в локализации.
Необходимые компоненты
Прежде чем добавлять языки на виртуальную машину Windows 11 Корпоративная, необходимо подготовить следующие компоненты:
- виртуальная машина Azure с установленной ОС Windows 11 Корпоративная;
- Образ ISO языка и дополнительных компонентов и образ ISO приложения для папки "Входящие" в версии ОС, используемые образом. Их можно загрузить здесь:
- ISO языка и необязательных компонентов:
- ISO для приложений в папке "Входящие":
- общая папка службы "Файлы Azure" или общая папка на виртуальной машине файлового сервера Windows.
Примечание.
Репозиторий общей папки должен быть доступен из виртуальной машины Azure, которую вы планируете использовать для создания пользовательского образа.
Создание репозитория содержимого для языковых пакетов и функций по требованию
Чтобы создать репозиторий содержимого, который будет использоваться для добавления языков и компонентов на виртуальную машину, выполните указанные ниже действия.
Откройте виртуальную машину, на которую нужно добавить языки, в Azure.
Откройте и подключите ISO-файл, скачанный в разделе предварительных требований, приведенном выше на виртуальной машине.
Создайте папку в общей папке.
Скопируйте все содержимое из папки LanguagesAndOptionalFeatures в ISO-образе в созданную папку.
Примечание.
Если место для хранения ограничено, подключенный ISO-образ с языковыми и дополнительными компонентами можно использовать в качестве репозитория. Чтобы узнать, как создать репозиторий, см. статью Создание пользовательского репозитория FOD и языковых пакетов.
Внимание
Для некоторых языков требуются дополнительные шрифты, содержащиеся в вспомогательных пакетах, в имена файлов этих пакетов включаются различные условные обозначения. Например, имена файлов шрифтов на японском языке включают "Jpan".
Задайте разрешения для общей папки репозитория содержимого языка, чтобы у вас был доступ на чтение с виртуальной машины, которая будет использоваться для создания пользовательского образа.
Создание пользовательского образа Windows 11 Корпоративная вручную
Чтобы создать пользовательский образ, выполните указанные ниже действия.
Разверните виртуальную машину Azure, перейдите в коллекцию Azure и выберите версию Windows 11 Корпоративная, которую вы используете в настоящий момент.
После развертывания виртуальной машины подключитесь к ней, используя RDP в качестве локального администратора.
Подключитесь к репозиторию общей папки, созданному в разделе Создание репозитория содержимого для языковых пакетов и функций по требованию и подключите его к букве диска (например, E).
Выполните следующий скрипт PowerShell из сеанса PowerShell с повышенными привилегиями, чтобы установить языковые и вспомогательные пакеты в Windows 11 Корпоративная:
######################################################## ## Add Languages to running Windows Image for Capture## ######################################################## ##Disable Language Pack Cleanup## Disable-ScheduledTask -TaskPath "\Microsoft\Windows\AppxDeploymentClient\" -TaskName "Pre-staged app cleanup" Disable-ScheduledTask -TaskPath "\Microsoft\Windows\MUI\" -TaskName "LPRemove" Disable-ScheduledTask -TaskPath "\Microsoft\Windows\LanguageComponentsInstaller" -TaskName "Uninstallation" reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Control Panel\International" /v "BlockCleanupOfUnusedPreinstalledLangPacks" /t REG_DWORD /d 1 /f ##Set Language Pack Content Stores## $LIPContent = "E:" ##Set Path of CSV File## $CSVFile = "Windows-10-1809-FOD-to-LP-Mapping-Table.csv" $filePath = (Get-Location).Path + "\$CSVFile" ##Import Necesarry CSV File## $FODList = Import-Csv -Path $filePath -Delimiter ";" ##Set Language (Target)## $targetLanguage = "es-es" $sourceLanguage = (($FODList | Where-Object {$_.'Target Lang' -eq $targetLanguage}) | Where-Object {$_.'Source Lang' -ne $targetLanguage} | Select-Object -Property 'Source Lang' -Unique).'Source Lang' if(!($sourceLanguage)){ $sourceLanguage = $targetLanguage } $langGroup = (($FODList | Where-Object {$_.'Target Lang' -eq $targetLanguage}) | Where-Object {$_.'Lang Group:' -ne ""} | Select-Object -Property 'Lang Group:' -Unique).'Lang Group:' ##List of additional features to be installed## $additionalFODList = @( "$LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~.cab", "$LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~$sourceLanguage~.cab", "$LIPContent\Microsoft-Windows-SnippingTool-FoD-Package~31bf3856ad364e35~amd64~$sourceLanguage~.cab", "$LIPContent\Microsoft-Windows-Lip-Language_x64_$sourceLanguage.cab" ##only if applicable## ) $additionalCapabilityList = @( "Language.Basic~~~$sourceLanguage~0.0.1.0", "Language.Handwriting~~~$sourceLanguage~0.0.1.0", "Language.OCR~~~$sourceLanguage~0.0.1.0", "Language.Speech~~~$sourceLanguage~0.0.1.0", "Language.TextToSpeech~~~$sourceLanguage~0.0.1.0" ) ##Install all FODs or fonts from the CSV file### Dism /Online /Add-Package /PackagePath:$LIPContent\Microsoft-Windows-Client-Language-Pack_x64_$sourceLanguage.cab Dism /Online /Add-Package /PackagePath:$LIPContent\Microsoft-Windows-Lip-Language-Pack_x64_$sourceLanguage.cab foreach($capability in $additionalCapabilityList){ Dism /Online /Add-Capability /CapabilityName:$capability /Source:$LIPContent } foreach($feature in $additionalFODList){ Dism /Online /Add-Package /PackagePath:$feature } if($langGroup){ Dism /Online /Add-Capability /CapabilityName:Language.Fonts.$langGroup~~~und-$langGroup~0.0.1.0 } ##Add installed language to language list## $LanguageList = Get-WinUserLanguageList $LanguageList.Add("$targetlanguage") Set-WinUserLanguageList $LanguageList -force
Примечание.
В этом примере скрипта используется код испанского языка (es-es). Чтобы автоматически установить соответствующие файлы для другого языка, измените значение параметра $targetLanguage на код этого языка. Список кодов языков см. в разделе Доступные языковые пакеты для Windows.
Выполнение скрипта может занять какое-то время в зависимости от числа языков, которые необходимо установить. Можно также установить дополнительные языки после начальной настройки, снова запустив скрипт с другим значением параметра $targetLanguage.
Для автоматического выбора соответствующих файлов установки скачайте и сохраните таблицу языков и компонентов, доступных для Windows 10 1809 по запросу, в виде CSV-файла, а затем сохраните этот файл в папке, где находится скрипт PowerShell.
После завершения работы скрипта убедитесь, что языковые пакеты установлены правильно, перейдя: Пуск>Параметры>Время и язык>Язык. Если языковые файлы находятся там, это значит все они настроены.
Наконец, если виртуальная машина подключена к Интернету при установке языков, необходимо запустить процесс очистки, чтобы удалить ненужные языковые пакеты. Чтобы удалить файлы, выполните следующие команды:
##Cleanup to prepare sysprep## Remove-AppxPackage -Package Microsoft.LanguageExperiencePackes-ES_22000.8.13.0_neutral__8wekyb3d8bbwe Remove-AppxPackage -Package Microsoft.OneDriveSync_22000.8.13.0_neutral__8wekyb3d8bbwe
Чтобы удалить другие языковые пакеты, замените es-ES на код другого языка.
После завершения очистки отключите общую папку.
Завершение настройки пользовательского образа
После установки языковых пакетов можно установить любое другое программное обеспечение, которое нужно добавить в пользовательский образ.
После завершения настройки пользовательского образа необходимо запустить средство подготовки системы (Sysprep).
Чтобы запустить Sysprep:
Откройте командную строку с повышенными привилегиями и, чтобы распространить образ, выполните следующую команду:
C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown
Если возникнут проблемы, проверьте файл SetupErr.log на диске C в папке Windows>System32>Sysprep>Panther. После этого следуйте инструкциям в разделе Сбой Sysprep для приложений из Microsoft Store, чтобы устранить неполадки.
Если установка завершилась успешно, остановите виртуальную машину, а затем запишите ее в управляемый образ, следуя инструкциям в статье Создание управляемого образа распространяемой виртуальной машины в Azure.
Теперь вы можете использовать настроенный образ для развертывания пула узлов Виртуальных рабочих столов Azure. Сведения о развертывании пула узлов см. в разделе Учебник: Создание пула узлов с помощью портала Azure.
Примечание.
После того как пользователь изменит язык интерфейса, ему потребуется выйти из сеанса Виртуального рабочего стола Azure и снова войти. Выход выполняется в меню "Пуск".
Следующие шаги
Узнайте, как установить языковые пакеты для многосеансовых виртуальных машин Windows 10, в статье Добавление языковых пакетов в многосеансовый образ Windows 10.
Список известных проблем см. в статье Добавление языков в Windows 10: известные проблемы.