Compartir a través de


Adición de paquetes de idioma a una imagen de sesión múltiple Windows 10

Azure Virtual Desktop es un servicio que los usuarios pueden implementar en cualquier momento y lugar. Por eso es importante que los usuarios puedan personalizar el idioma que muestran sus Windows 10 Enterprise imagen de sesión múltiple.

Hay dos maneras de satisfacer las necesidades de idioma de los usuarios:

  • Cree grupos de hosts dedicados con una imagen personalizada para cada idioma.
  • Haga que los usuarios con distintos requisitos de idioma y localización en el mismo grupo host, pero personalicen sus imágenes para asegurarse de que pueden seleccionar el idioma que necesiten.

Este último método es mucho más eficiente y rentable. Sin embargo, depende de usted decidir qué método se adapta mejor a sus necesidades. En este artículo se muestra cómo personalizar los idiomas de las imágenes.

Requisitos previos

Necesita lo siguiente para personalizar las imágenes de sesión múltiple de Windows 10 Enterprise para agregar varios idiomas:

Nota:

El recurso compartido de archivos (repositorio) debe ser accesible desde la máquina virtual de Azure que tiene previsto usar para crear la imagen personalizada.

Creación de un repositorio de contenido para paquetes de idioma y características a petición

Para crear el repositorio de contenido para paquetes de idioma y FOD y un repositorio para los paquetes de Aplicaciones de bandeja de entrada:

  1. En una máquina virtual de Azure, descargue las imágenes ISO, FOD y inbox de varios idiomas de Windows 10 para Windows 10 Enterprise multisesión, versión 1903/1909 y 2004 de los vínculos de Requisitos previos.

  2. Abra y monte los archivos ISO en la máquina virtual.

  3. Vaya al paquete de idioma ISO y copie el contenido de las carpetas LocalExperiencePacks y x64\langpacks y, a continuación, pegue el contenido en el recurso compartido de archivos.

  4. Vaya al archivo FOD ISO, copie todo su contenido y péguelo en el recurso compartido de archivos.

  5. Vaya a la carpeta amd64fre en la ISO de Inbox Apps y copie el contenido del repositorio de las aplicaciones de bandeja de entrada que ha preparado.

    Nota:

    Si está trabajando con almacenamiento limitado, copie solo los archivos de los idiomas que sabe que necesitan los usuarios. Puede distinguir los archivos si examina los códigos de idioma en sus nombres de archivo. Por ejemplo, el archivo francés tiene el código "fr-FR" en su nombre. Para obtener una lista completa de códigos de idioma para todos los idiomas disponibles, consulta Paquetes de idioma disponibles para Windows.

    Importante

    Algunos lenguajes requieren fuentes adicionales incluidas en paquetes satélite que siguen convenciones de nomenclatura diferentes. Por ejemplo, los nombres de archivo de fuente japonés incluyen "Jpan".

    Ejemplo de paquetes de idioma japonés con la etiqueta de idioma

  6. Establezca los permisos en el recurso compartido del repositorio de contenido del lenguaje para que tenga acceso de lectura desde la máquina virtual que usará para compilar la imagen personalizada.

Creación manual de una imagen de sesión múltiple Windows 10 Enterprise personalizada

Para crear manualmente una imagen de sesión múltiple Windows 10 Enterprise personalizada:

  1. Implemente una máquina virtual de Azure y, a continuación, vaya a la Galería de Azure y seleccione la versión actual de Windows 10 Enterprise sesión múltiple que usa.

  2. Después de implementar la máquina virtual, conéctese a ella mediante RDP como administrador local.

  3. Asegúrese de que la máquina virtual tiene todos los Novedades de Windows más recientes. Descargue las actualizaciones y reinicie la máquina virtual, si es necesario.

    Importante

    Después de instalar un paquete de idioma, tendrá que volver a instalar la actualización acumulativa más reciente instalada en la imagen. Si no vuelve a instalar la actualización acumulativa más reciente, puede encontrar errores. Si la última actualización acumulativa ya está instalada, Windows Update no la ofrece de nuevo; tiene que volver a instalarla manualmente. Para obtener más información, consulte Introducción a los idiomas.

  4. Conéctese al repositorio de recursos compartidos de archivos de paquete de idioma, FOD e Inbox Apps y móntelo en una unidad de letra (por ejemplo, la unidad E).

Creación automática de una imagen de sesión múltiple Windows 10 Enterprise personalizada

Si prefiere instalar idiomas a través de un proceso automatizado, puede configurar un script en PowerShell. Puede usar el siguiente ejemplo de script para instalar los paquetes de idioma español (España), francés (Francia) y chino (PRC) y paquetes satélite para Windows 10 Enterprise multisesión, versión 2004. El script integra el paquete de interfaz de idioma y todos los paquetes satélite necesarios en la imagen. Sin embargo, también puede modificar este script para instalar otros idiomas. Solo tiene que asegurarse de ejecutar el script desde una sesión de PowerShell con privilegios elevados o, de lo contrario, no funcionará.

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

El script puede tardar un tiempo en función del número de idiomas que necesite instalar.

Una vez que el script haya terminado de ejecutarse, compruebe que los paquetes de idioma se instalaron correctamente. Para ello, vaya a Hora deconfiguración> de inicio>& idioma>. Si los archivos de idioma están allí, está todo listo.

Después de agregar idiomas adicionales a la imagen de Windows, también es necesario actualizar las aplicaciones de bandeja de entrada para admitir los idiomas agregados. Para ello, actualice las aplicaciones preinstaladas con el contenido de la ISO de las aplicaciones de bandeja de entrada. Para realizar esta actualización en un entorno donde la máquina virtual no tiene acceso a Internet, puede usar la siguiente plantilla de script de PowerShell para automatizar el proceso y actualizar solo las versiones instaladas de las aplicaciones de bandeja de entrada.

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

Importante

Las aplicaciones de bandeja de entrada incluidas en iso no son las versiones más recientes de las aplicaciones de Windows preinstaladas. Para obtener la versión más reciente de todas las aplicaciones, debes actualizar las aplicaciones mediante la aplicación de la Tienda Windows y realizar una búsqueda manual de actualizaciones después de haber instalado los idiomas adicionales.

Cuando haya terminado, asegúrese de desconectar el recurso compartido.

Finalizar la personalización de la imagen

Después de instalar los paquetes de idioma, puede instalar cualquier otro software que quiera agregar a la imagen personalizada.

Una vez que haya terminado de personalizar la imagen, tendrá que ejecutar la herramienta de preparación del sistema (sysprep).

Para ejecutar sysprep:

  1. Abra un símbolo del sistema con privilegios elevados y ejecute el siguiente comando para generalizar la imagen:

    C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown
    
  2. Detenga la máquina virtual y, a continuación, capturela en una imagen administrada siguiendo las instrucciones de Creación de una imagen administrada de una máquina virtual generalizada en Azure.

  3. Ahora puede usar la imagen personalizada para implementar un grupo de hosts de Azure Virtual Desktop. Para obtener información sobre cómo implementar un grupo de hosts, consulte Tutorial: Creación de un grupo de hosts con el Azure Portal.

Habilitación de idiomas en la aplicación de configuración de Windows

Por último, después de implementar el grupo host, deberá agregar el idioma a la lista de idiomas de cada usuario para que pueda seleccionar su idioma preferido en el menú Configuración.

Para asegurarse de que los usuarios pueden seleccionar los idiomas que ha instalado, inicie sesión como usuario y, a continuación, ejecute el siguiente cmdlet de PowerShell para agregar los paquetes de idioma instalados al menú Idiomas. También puede configurar este script como una tarea automatizada o un script de inicio de sesión que se activa cuando el usuario inicia sesión en su sesión.

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

Después de que un usuario cambie su configuración de idioma, tendrá que cerrar la sesión de Azure Virtual Desktop e iniciar sesión de nuevo para que los cambios surtan efecto.

Pasos siguientes

Si tiene curiosidad por los problemas conocidos de los paquetes de idioma, consulte Adición de paquetes de idioma en Windows 10, versión 1803 y versiones posteriores: problemas conocidos.

Si tiene alguna otra pregunta sobre Windows 10 Enterprise sesiones múltiples, consulte nuestras preguntas más frecuentes.