Udostępnij za pośrednictwem


Dodawanie pakietów językowych do obrazu z wieloma sesjami systemu Windows 10

Azure Virtual Desktop to usługa, którą użytkownicy mogą wdrażać w dowolnym miejscu i czasie. Dlatego ważne jest, aby użytkownicy mogli dostosować język wyświetlany w obrazie wielosesyjnego systemu Windows 10 Enterprise.

Istnieją dwa sposoby obsługi potrzeb językowych użytkowników:

  • Twórz dedykowane pule hostów przy użyciu dostosowanego obrazu dla każdego języka.
  • Użytkownicy z różnymi wymaganiami dotyczącymi języka i lokalizacji w tej samej puli hostów, ale dostosują swoje obrazy, aby mieć pewność, że będą mogli wybrać potrzebny język.

Ta ostatnia metoda jest o wiele bardziej wydajna i ekonomiczna. Jednak decydujesz, która metoda najlepiej odpowiada Twoim potrzebom. W tym artykule pokazano, jak dostosować języki dla obrazów.

Wymagania wstępne

Potrzebne są następujące elementy, aby dostosować obrazy wielosesyjne systemu Windows 10 Enterprise w celu dodania wielu języków:

Uwaga

Udział plików (repozytorium) musi być dostępny z maszyny wirtualnej platformy Azure, której planujesz użyć do utworzenia obrazu niestandardowego.

Tworzenie repozytorium zawartości dla pakietów językowych i funkcji na żądanie

Aby utworzyć repozytorium zawartości dla pakietów językowych i foDs oraz repozytorium pakietów Inbox Apps:

  1. Na maszynie wirtualnej platformy Azure pobierz wielojęzyczne obrazy ISO, FODs i Inbox Apps dla systemu Windows 10 Enterprise w wersji 1903/1909 i 2004 z linków w sekcji Wymagania wstępne.

  2. Otwórz i zainstaluj pliki ISO na maszynie wirtualnej.

  3. Przejdź do pliku ISO pakietu językowego i skopiuj zawartość z folderów LocalExperiencePacks i x64\langpacks , a następnie wklej zawartość do udziału plików.

  4. Przejdź do pliku ISO FOD, skopiuj całą jego zawartość, a następnie wklej ją do udziału plików.

  5. Przejdź do folderu amd64fre w formacie ISO aplikacji skrzynki odbiorczej i skopiuj zawartość w repozytorium dla przygotowanych aplikacji skrzynki odbiorczej.

    Uwaga

    Jeśli pracujesz z ograniczonym magazynem, skopiuj tylko pliki dla języków, których potrzebują użytkownicy. Pliki można odróżnić, przeglądając kody języków w nazwach plików. Na przykład francuski plik ma w nazwie kod "fr-FR". Aby uzyskać pełną listę kodów języków dla wszystkich dostępnych języków, zobacz Dostępne pakiety językowe dla systemu Windows.

    Ważne

    Niektóre języki wymagają dodatkowych czcionek zawartych w pakietach satelitarnych, które są zgodne z różnymi konwencjami nazewnictwa. Na przykład japońskie nazwy plików czcionek obejmują "Jpan".

    Przykład pakietów językowych japońskich z tagiem języka

  6. Ustaw uprawnienia do udziału repozytorium zawartości języka, aby mieć dostęp do odczytu z maszyny wirtualnej, której użyjesz do skompilowania obrazu niestandardowego.

Ręczne tworzenie niestandardowego obrazu wielosesyjnego systemu Windows 10 Enterprise

Aby ręcznie utworzyć niestandardowy obraz wielosesyjnego systemu Windows 10 Enterprise:

  1. Wdróż maszynę wirtualną platformy Azure, a następnie przejdź do galerii platformy Azure i wybierz bieżącą wersję używanej wielosesyjnej sesji systemu Windows 10 Enterprise.

  2. Po wdrożeniu maszyny wirtualnej połącz się z nią przy użyciu protokołu RDP jako administrator lokalny.

  3. Upewnij się, że maszyna wirtualna ma wszystkie najnowsze aktualizacje systemu Windows. W razie potrzeby pobierz aktualizacje i uruchom ponownie maszynę wirtualną.

    Ważne

    Po zainstalowaniu pakietu językowego należy ponownie zainstalować najnowszą aktualizację zbiorczą zainstalowaną na obrazie. Jeśli nie zainstalujesz najnowszej aktualizacji zbiorczej, mogą wystąpić błędy. Jeśli najnowsza aktualizacja zbiorcza jest już zainstalowana, usługa Windows Update nie oferuje jej ponownie; Musisz ręcznie go ponownie zainstalować. Aby uzyskać więcej informacji, zobacz Omówienie języków.

  4. Połącz się z pakietem językowym, foD i repozytorium udziałów plików Aplikacji skrzynki odbiorczej i zainstaluj go na dysku litery (na przykład dysku E).

Automatyczne tworzenie niestandardowego obrazu wielosesyjnego systemu Windows 10 Enterprise

Jeśli wolisz instalować języki za pośrednictwem zautomatyzowanego procesu, możesz skonfigurować skrypt w programie PowerShell. Możesz użyć poniższego przykładu skryptu, aby zainstalować hiszpańskie (Hiszpania), francuski (Francja) i chińskie (CHRL) pakiety językowe i pakiety satelitarne dla systemu Windows 10 Enterprise w wersji 2004. Skrypt integruje pakiet interfejsu językowego i wszystkie niezbędne pakiety satelitarne do obrazu. Można jednak również zmodyfikować ten skrypt, aby zainstalować inne języki. Pamiętaj, aby uruchomić skrypt z sesji programu PowerShell z podwyższonym poziomem uprawnień lub nie będzie działać.

########################################################
## Add Languages to running Windows Image for Capture ##
########################################################

##Disable Language Pack Cleanup##
Disable-ScheduledTask -TaskPath "\Microsoft\Windows\AppxDeploymentClient\" -TaskName "Pre-staged app cleanup"

##Set Language Pack Content Stores##
[string]$LIPContent = "E:"

##Spanish##
Add-AppProvisionedPackage -Online -PackagePath $LIPContent\es-es\LanguageExperiencePack.es-es.Neutral.appx -LicensePath $LIPContent\es-es\License.xml
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_es-es.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Handwriting-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("es-es")
Set-WinUserLanguageList $LanguageList -force

##French##
Add-AppProvisionedPackage -Online -PackagePath $LIPContent\fr-fr\LanguageExperiencePack.fr-fr.Neutral.appx -LicensePath $LIPContent\fr-fr\License.xml
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_fr-fr.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Handwriting-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~fr-fr~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("fr-fr")
Set-WinUserLanguageList $LanguageList -force

##Chinese(PRC)##
Add-AppProvisionedPackage -Online -PackagePath $LIPContent\zh-cn\LanguageExperiencePack.zh-cn.Neutral.appx -LicensePath $LIPContent\zh-cn\License.xml
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_zh-cn.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Fonts-Hans-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Handwriting-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("zh-cn")
Set-WinUserLanguageList $LanguageList -force

Skrypt może chwilę potrwać w zależności od liczby języków, które należy zainstalować.

Po zakończeniu działania skryptu sprawdź, czy pakiety językowe są zainstalowane poprawnie, przechodząc do pozycji Start>Ustawienia>czas i język języka.> Jeśli są tam pliki językowe, wszystko jest ustawione.

Po dodaniu dodatkowych języków do obrazu systemu Windows aplikacje skrzynki odbiorczej również muszą zostać zaktualizowane w celu obsługi dodanych języków. Można to zrobić, odświeżając wstępnie zainstalowane aplikacje z zawartością z poziomu iso aplikacji skrzynki odbiorczej. Aby wykonać to odświeżanie w środowisku, w którym maszyna wirtualna nie ma dostępu do Internetu, możesz użyć następującego szablonu skryptu programu PowerShell, aby zautomatyzować proces i zaktualizować tylko zainstalowane wersje aplikacji skrzynki odbiorczej.

#########################################
## Update Inbox Apps for Multi Language##
#########################################
##Set Inbox App Package Content Stores##
[string] $AppsContent = "F:\"

##Update installed Inbox Store Apps##
foreach ($App in (Get-AppxProvisionedPackage -Online)) {
	$AppPath = $AppsContent + $App.DisplayName + '_' + $App.PublisherId
	Write-Host "Handling $AppPath"
	$licFile = Get-Item $AppPath*.xml
	if ($licFile.Count) {
		$lic = $true
		$licFilePath = $licFile.FullName
	} else {
		$lic = $false
	}
	$appxFile = Get-Item $AppPath*.appx*
	if ($appxFile.Count) {
		$appxFilePath = $appxFile.FullName
		if ($lic) {
			Add-AppxProvisionedPackage -Online -PackagePath $appxFilePath -LicensePath $licFilePath 
		} else {
			Add-AppxProvisionedPackage -Online -PackagePath $appxFilePath -skiplicense
		}
	}
}

Ważne

Aplikacje skrzynki odbiorczej zawarte w standardzie ISO nie są najnowszymi wersjami wstępnie zainstalowanych aplikacji systemu Windows. Aby uzyskać najnowszą wersję wszystkich aplikacji, należy zaktualizować aplikacje przy użyciu aplikacji ze Sklepu Windows i przeprowadzić ręczne wyszukiwanie aktualizacji po zainstalowaniu dodatkowych języków.

Po zakończeniu upewnij się, że rozłączysz udział.

Kończenie dostosowywania obrazu

Po zainstalowaniu pakietów językowych możesz zainstalować dowolne inne oprogramowanie, które chcesz dodać do dostosowanego obrazu.

Po zakończeniu dostosowywania obrazu należy uruchomić narzędzie do przygotowywania systemu (sysprep).

Aby uruchomić narzędzie sysprep:

  1. Otwórz wiersz polecenia z podwyższonym poziomem uprawnień i uruchom następujące polecenie, aby uogólnić obraz:

    C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown
    
  2. Zatrzymaj maszynę wirtualną, a następnie przechwyć ją w obrazie zarządzanym, postępując zgodnie z instrukcjami w temacie Tworzenie obrazu zarządzanego uogólnionej maszyny wirtualnej na platformie Azure.

  3. Teraz możesz użyć dostosowanego obrazu, aby wdrożyć pulę hostów usługi Azure Virtual Desktop. Aby dowiedzieć się, jak wdrożyć pulę hostów, zobacz Samouczek: tworzenie puli hostów za pomocą witryny Azure Portal.

Włączanie języków w aplikacji ustawień systemu Windows

Na koniec po wdrożeniu puli hostów należy dodać język do listy języków każdego użytkownika, aby mógł wybrać preferowany język w menu Ustawienia.

Aby upewnić się, że użytkownicy mogą wybrać zainstalowane języki, zaloguj się jako użytkownik, a następnie uruchom następujące polecenie cmdlet programu PowerShell, aby dodać zainstalowane pakiety językowe do menu Języki. Możesz również skonfigurować ten skrypt jako zautomatyzowany skrypt lub skrypt logowania, który aktywuje się po zalogowaniu użytkownika do sesji.

$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("es-es")
$LanguageList.Add("fr-fr")
$LanguageList.Add("zh-cn")
Set-WinUserLanguageList $LanguageList -force

Gdy użytkownik zmieni ustawienia języka, będzie musiał wylogować się z sesji usługi Azure Virtual Desktop i zalogować się ponownie, aby zmiany zaczęły obowiązywać.

Następne kroki

Jeśli interesuje Cię znane problemy dotyczące pakietów językowych, zobacz Dodawanie pakietów językowych w systemie Windows 10 w wersji 1803 i nowszych wersjach: Znane problemy.

Jeśli masz inne pytania dotyczące wielu sesji systemu Windows 10 Enterprise, zapoznaj się z naszymi często zadawanymi pytaniami.