Udostępnij za pośrednictwem


Dodawanie pakietów językowych do obrazu Windows 10 wielu sesji

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 Windows 10 Enterprise obrazu z wieloma sesjami.

Istnieją dwa sposoby zaspokajania 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 ich obrazy, aby upewnić się, że mogą wybrać dowolny język, którego potrzebują.

Ta ostatnia metoda jest o wiele bardziej wydajna i ekonomiczna. Jednak to Ty decydujesz, która metoda najlepiej odpowiada Twoim potrzebom. W tym artykule przedstawiono sposób dostosowywania języków obrazów.

Wymagania wstępne

Do dostosowania Windows 10 Enterprise obrazów z wieloma sesjami potrzebne są następujące elementy, aby dodać wiele języków:

Uwaga

Udział plików (repozytorium) musi być dostępny z maszyny wirtualnej platformy Azure, która ma zostać użyta 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 plików FOD oraz repozytorium dla pakietów aplikacji skrzynki odbiorczej:

  1. Na maszynie wirtualnej platformy Azure pobierz obrazy ISO, FOD i Inbox Apps Windows 10 multi-language dla Windows 10 Enterprise wielosesyjnych, w wersji 1903/1909 i 2004 z linków w temacie 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 usłudze Inbox Apps ISO 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ą twoi użytkownicy. Możesz odróżnić pliki od siebie, przeglądając kody języka w ich 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żna

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

    Przykład pakietów języka japońskiego 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óra będzie używana do tworzenia obrazu niestandardowego.

Ręczne tworzenie niestandardowego obrazu Windows 10 Enterprise wielu sesji

Aby ręcznie utworzyć niestandardowy obraz Windows 10 Enterprise z wieloma sesjami:

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

  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. Pobierz aktualizacje i w razie potrzeby uruchom ponownie maszynę wirtualną.

    Ważna

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

  4. Połącz się z pakietem językowym, repozytorium udziałów plików fod i aplikacji skrzynki odbiorczej i zainstaluj je na dysku literowym (na przykład na dysku E).

Automatyczne tworzenie niestandardowego obrazu Windows 10 Enterprise wielu sesji

Jeśli wolisz instalować języki za pomocą zautomatyzowanego procesu, możesz skonfigurować skrypt w programie PowerShell. Poniższy przykładowy skrypt umożliwia zainstalowanie pakietów językowych hiszpańskich (Hiszpania), francuskich (Francja) i chińskich (ChRL) oraz pakietów satelitarnych dla Windows 10 Enterprise wielosesyjnej wersji 2004. Skrypt integruje pakiet interfejsu językowego i wszystkie niezbędne pakiety satelitarne z obrazem. Można jednak również zmodyfikować ten skrypt w celu zainstalowania innych języków. Po prostu upewnij się, że skrypt został uruchomiony z poziomu sesji programu PowerShell z podwyższonym poziomem uprawnień, w przeciwnym razie 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 trochę potrwać w zależności od liczby języków, które należy zainstalować.

Po zakończeniu działania skryptu upewnij się, że pakiety językowe zostały poprawnie zainstalowane, przechodząc do pozycji Czas rozpoczęcia>ustawień>& Język językowy>. Jeśli pliki językowe są tam, wszystkie są 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 przeprowadzić 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żna

Aplikacje skrzynki odbiorczej zawarte w usłudze ISO nie są najnowszymi wersjami wstępnie zainstalowanych aplikacji systemu Windows. Aby uzyskać najnowszą wersję wszystkich aplikacji, musisz zaktualizować aplikacje przy użyciu aplikacji ze Sklepu Windows i ręcznie wyszukać aktualizacje po zainstalowaniu dodatkowych języków.

Po zakończeniu upewnij się, że udział został odłączony.

Zakończ dostosowywanie 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ólniać obraz:

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

  3. Teraz możesz użyć dostosowanego obrazu do wdrożenia puli hostów usługi Azure Virtual Desktop. Aby dowiedzieć się, jak wdrożyć pulę hostów, zobacz Samouczek: tworzenie puli hostów przy użyciu 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 poszczególnych użytkowników, 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 zadania lub logowania, który aktywuje się, gdy użytkownik zaloguje się do sesji.

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

Po zmianie ustawień języka użytkownik musi 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 Windows 10, wersja 1803 i nowsze wersje: znane problemy.

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