次の方法で共有


Windows 10 マルチセッション イメージに言語パックを追加する

Azure Virtual Desktop は、ユーザーがいつでもどこでもデプロイできるサービスです。 そのため、ユーザーは、Windows 10 Enterpriseマルチセッション イメージが表示される言語をカスタマイズできることが重要です。

ユーザーの言語ニーズに対応するには、次の 2 つの方法があります。

  • 言語ごとにカスタマイズされたイメージを使用して、専用ホスト プールを構築します。
  • 異なる言語とローカライズの要件を持つユーザーを同じホスト プールに配置しますが、必要な言語を選択できるようにイメージをカスタマイズします。

後者の方法は、はるかに効率的でコスト効率が高いです。 ただし、ニーズに最も適した方法を決定するのはあなた次第です。 この記事では、画像の言語をカスタマイズする方法について説明します。

前提条件

複数の言語を追加するには、Windows 10 Enterpriseマルチセッション イメージをカスタマイズするには、次のものが必要です。

注:

カスタム イメージの作成に使用する予定の Azure VM からファイル共有 (リポジトリ) にアクセスできる必要があります。

必要に応じて言語パッケージと機能のコンテンツ リポジトリを作成する

言語パッケージと FOD のコンテンツ リポジトリと受信トレイ アプリ パッケージのリポジトリを作成するには:

  1. Azure VM で、「前提条件」のリンクから、Windows 10 Enterpriseマルチセッション、バージョン 1903/1909、および 2004 のWindows 10多言語 ISO、FOD、受信トレイ アプリをダウンロードします

  2. VM で ISO ファイルを開いてマウントします。

  3. 言語パック ISO に移動し、 LocalExperiencePacks フォルダーと x64\langpacks フォルダーのコンテンツをコピーし、そのコンテンツをファイル共有に貼り付けます。

  4. FOD ISO ファイルに移動し、すべてのコンテンツをコピーし、ファイル共有に貼り付けます。

  5. 受信トレイ アプリ ISO の amd64fre フォルダーに移動し、準備した受信トレイ アプリのリポジトリ内のコンテンツをコピーします。

    注:

    制限付きストレージを使用している場合は、ユーザーが必要と認識している言語のファイルのみをコピーします。 ファイル名の言語コードを調べることで、ファイルを区別できます。 たとえば、フランス語ファイルの名前に "fr-FR" というコードがあります。 使用可能なすべての言語の言語コードの完全な一覧については、「 Windows で使用可能な言語パック」を参照してください。

    重要

    一部の言語では、さまざまな名前付け規則に従うサテライト パッケージに追加のフォントが含まれている必要があります。 たとえば、日本語フォント ファイル名には "Jpan" が含まれます。

    ファイル名に

  6. 言語コンテンツ リポジトリ共有に対するアクセス許可を設定して、カスタム イメージのビルドに使用する VM からの読み取りアクセス権を付与します。

カスタム Windows 10 Enterprise マルチセッション イメージを手動で作成する

カスタム Windows 10 Enterprise マルチセッション イメージを手動で作成するには:

  1. Azure VM をデプロイし、Azure ギャラリーに移動し、使用しているマルチセッションWindows 10 Enterprise現在のバージョンを選択します。

  2. VM をデプロイしたら、ローカル管理者として RDP を使用して VM に接続します。

  3. VM に最新のすべての Windows Updatesがあることを確認します。 更新プログラムをダウンロードし、必要に応じて VM を再起動します。

    重要

    言語パックをインストールした後、イメージにインストールされている最新の累積的な更新プログラムを再インストールする必要があります。 最新の累積的な更新プログラムを再インストールしないと、エラーが発生する可能性があります。 最新の累積的な更新プログラムが既にインストールされている場合、Windows Updateは再度提供されません。手動で再インストールする必要があります。 詳細については、「 言語の概要」を参照してください。

  4. 言語パッケージ、FOD、Inbox Apps ファイル共有リポジトリに接続し、レター ドライブ (ドライブ E など) にマウントします。

カスタム Windows 10 Enterpriseマルチセッション イメージを自動的に作成する

自動化されたプロセスを使用して言語をインストールする場合は、PowerShell でスクリプトを設定できます。 次のスクリプト サンプルを使用して、スペイン語 (スペイン)、フランス語 (フランス)、中国語 (PRC) 言語パックとサテライト パッケージをインストールして、Windows 10 Enterpriseマルチセッション バージョン 2004 をインストールできます。 スクリプトは、言語インターフェイス パックと必要なすべてのサテライト パッケージをイメージに統合します。 ただし、このスクリプトを変更して他の言語をインストールすることもできます。 管理者特権の PowerShell セッションからスクリプトを実行するか、それ以外の場合は動作しないことを確認してください。

########################################################
## 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

インストールする必要がある言語の数によっては、スクリプトに時間がかかる場合があります。

スクリプトの実行が完了したら、チェックして、Start>Settings>Time & Language>Language に移動して、言語パックが正しくインストールされていることを確認します。 言語ファイルがある場合は、すべて設定されます。

Windows イメージに言語を追加した後は、追加された言語をサポートするために受信トレイ アプリも更新する必要があります。 これは、プレインストールされているアプリを受信トレイ アプリ ISO のコンテンツで更新することで行うことができます。 VM にインターネットにアクセスできない環境でこの更新を実行するには、次の PowerShell スクリプト テンプレートを使用してプロセスを自動化し、インストールされているバージョンの受信トレイ アプリのみを更新できます。

#########################################
## 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
		}
	}
}

重要

ISO に含まれる受信トレイ アプリは、プレインストールされている Windows アプリの最新バージョンではありません。 すべてのアプリの最新バージョンを取得するには、Windows ストア アプリを使用してアプリを更新し、追加の言語をインストールした後に更新プログラムを手動で検索する必要があります。

完了したら、共有を切断してください。

イメージのカスタマイズを完了する

言語パックをインストールしたら、カスタマイズしたイメージに追加する他のソフトウェアをインストールできます。

イメージのカスタマイズが完了したら、システム準備ツール (sysprep) を実行する必要があります。

sysprep を実行するには:

  1. 管理者特権のコマンド プロンプトを開き、次のコマンドを実行してイメージを一般化します。

    C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown
    
  2. Azure で一般化された VM のマネージド イメージを作成する」の手順に従って、VM を停止し、マネージド イメージにキャプチャします。

  3. カスタマイズしたイメージを使用して、Azure Virtual Desktop ホスト プールをデプロイできるようになりました。 ホスト プールをデプロイする方法については、「チュートリアル: Azure portalを使用してホスト プールを作成する」を参照してください。

Windows 設定アプリで言語を有効にする

最後に、ホスト プールをデプロイした後、各ユーザーの言語リストに言語を追加して、[設定] メニューで優先する言語を選択できるようにする必要があります。

ユーザーがインストールした言語を選択できるようにするには、ユーザーとしてサインインし、次の PowerShell コマンドレットを実行して、インストールされている言語パックを [言語] メニューに追加します。 このスクリプトは、ユーザーがセッションにサインインしたときにアクティブ化される自動タスクまたはログオン スクリプトとして設定することもできます。

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

ユーザーが言語設定を変更した後、変更を有効にするには、Azure Virtual Desktop セッションからサインアウトし、もう一度サインインする必要があります。

次の手順

言語パックの既知の問題に興味がある場合は、「Windows 10 バージョン 1803 以降のバージョンでの言語パックの追加: 既知の問題」を参照してください。

マルチセッションWindows 10 Enterprise関するその他の質問がある場合は、FAQ をチェックしてください。