Hinzufügen von Language Packs zu einem Image für Windows 10 (mehrere Sitzungen)

Azure Virtual Desktop ist ein Dienst, den Ihre Benutzer jederzeit und überall bereitstellen können. Daher ist es wichtig, dass die Benutzer die jeweilige Sprache, die in dem Image für Windows 10 Enterprise (mehrere Sitzungen) angezeigt wird, anpassen können.

Es gibt zwei Möglichkeiten, die Sprachanforderungen Ihrer Benutzer zu erfüllen:

  • Erstellen Sie dedizierte Hostpools mit einem angepassten Image für jede Sprache.
  • Fügen Sie Benutzer mit unterschiedlichen Sprach- und Lokalisierungsanforderungen demselben Hostpool hinzu, aber passen Sie deren Images an, um sicherzustellen, dass sie die gewünschte Sprache auswählen können.

Die letztere Methode ist sehr viel effizienter und kostengünstiger. Sie können aber entscheiden, welche Methode Ihren Anforderungen am besten entspricht. In diesem Artikel wird gezeigt, wie Sie die Sprachen für Ihre Images anpassen.

Voraussetzungen

Sie benötigen folgende Komponenten, um die Images für Windows 10 Enterprise (mehrere Sitzungen) so anzupassen, dass mehrere Sprachen hinzugefügt werden können:

Hinweis

Auf die Dateifreigabe (Repository) muss von der Azure-VM aus zugegriffen werden können, die zum Erstellen des benutzerdefinierten Images verwendet werden soll.

Erstellen eines Inhaltsrepositorys für Sprachpakete und Features bei Bedarf (FODs)

So erstellen Sie das Inhaltsrepository für Sprachpakete und FODs und ein Repository für die Inbox Apps-Pakete:

  1. Laden Sie auf einer Azure-VM die Windows 10-ISO-Datei (mehrere Sprachen), FODs und Inbox Apps für Images für Windows 10 Enterprise (mehrere Sitzungen), Version 1903/1909 und 2004, über die Links unter Voraussetzungen herunter.

  2. Öffnen Sie die ISO-Dateien auf der VM, und binden Sie sie ein.

  3. Wechseln Sie zur Language Pack-ISO, kopieren Sie den Inhalt aus den Ordnern LocalExperiencePacks und x64\langpacks, und fügen Sie dann den Inhalt in die Dateifreigabe ein.

  4. Wechseln Sie zur FOD-ISO-Datei, kopieren Sie den gesamten Inhalt, und fügen Sie ihn in die Dateifreigabe ein.

  5. Navigieren Sie zum Ordner amd64fre in der Inbox Apps-ISO-Datei, und kopieren Sie den Inhalt im Repository für die Inbox Apps, die Sie vorbereitetet haben.

    Hinweis

    Wenn Sie mit begrenztem Speicherplatz arbeiten, kopieren Sie nur die Dateien für die Sprachen, von denen Sie wissen, dass Ihre Benutzer sie benötigen. Sie können die Dateien anhand der Sprachcodes in den Dateinamen voneinander unterscheiden. Beispielsweise enthält die Datei für Französisch den Code „fr-FR“ im Namen. Eine vollständige Liste der Sprachcodes für alle verfügbaren Sprachen finden Sie unter Verfügbare Sprachen für Windows.

    Wichtig

    Einige Sprachen erfordern zusätzliche Schriftarten, die in Satellitenpaketen mit anderen Benennungskonventionen enthalten sind. Beispielsweise enthalten die Namen der Dateien für japanische Schrift die Zeichenfolge „Jpan“.

    Beispiel der Sprachpakete für Japanisch mit der Sprachkennung „Jpan“ im Dateinamen

  6. Legen Sie die Berechtigungen für die Freigabe des Inhaltsrepositorys für Sprachen so fest, dass Sie über Lesezugriff von der VM aus verfügen, die Sie zum Erstellen des benutzerdefinierten Images verwenden möchten.

Manuelles Erstellen eines Images für Windows 10 Enterprise (mehrere Sitzungen)

Führen Sie die folgenden Schritte aus, um ein Image für Windows 10 Enterprise (mehrere Sitzungen) manuell zu erstellen:

  1. Stellen Sie eine Azure-VM bereit. Dann navigieren Sie zum Azure-Katalog, und wählen Sie die von Ihnen verwendete aktuelle Version von Windows 10 Enterprise (mehrere Sitzungen) aus.
  2. Nachdem Sie die VM bereitgestellt haben, stellen Sie mithilfe von RDP als lokaler Administrator eine Verbindung her.
  3. Vergewissern Sie sich, dass die VM über alle aktuellen Windows-Updates verfügt. Laden Sie bei Bedarf die Updates herunter, und starten Sie die VM neu.
  4. Stellen Sie eine Verbindung mit dem Repository für die Sprachpaket-, FOD- und Inbox Apps-Dateifreigabe her, und binden Sie das Repository als Laufwerk (z. B. Laufwerk E) ein.

Automatisches Erstellen eines Images für Windows 10 Enterprise (mehrere Sitzungen)

Wenn Sie Sprachen lieber über einen automatisierten Prozess installieren möchten, können Sie ein Skript in PowerShell einrichten. Mithilfe des folgenden Skriptbeispiels können Sie die Sprachpakete für Spanisch (Spanien), Französisch (Frankreich) und Chinesisch (VRC) sowie die Satellitenpakete für Windows 10 Enterprise (mehrere Sitzungen), Version 2004, installieren. Mit dem Skript werden das Benutzeroberflächen-Sprachpaket und alle erforderlichen Satellitenpakete in das Image integriert. Sie können Sie dieses Skript aber auch abändern, um andere Sprachen zu installieren. Stellen Sie lediglich sicher, dass Sie das Skript in einer PowerShell-Sitzung mit erhöhten Rechten ausführen, da es andernfalls nicht funktioniert.

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

Je nach Anzahl der Sprachen, die installiert werden müssen, kann die Ausführung des Skripts einige Zeit in Anspruch nehmen.

Sobald die Skriptausführung abgeschlossen ist, vergewissern Sie sich, dass die Sprachpakete ordnungsgemäß installiert wurden. Dazu navigieren Sie zu Start > Einstellungen > Uhrzeit und Sprache > Sprache. Wenn die Sprachdateien vorhanden sind, ist die Einrichtung abgeschlossen.

Nachdem Sie dem Windows-Image weitere Sprachen hinzugefügt haben, müssen auch die Inbox Apps aktualisiert werden, um die hinzugefügten Sprachen zu unterstützen. Dies kann erfolgen, indem die vorinstallierten Apps mit dem Inhalt aus der Inbox Apps-ISO-Datei aktualisiert werden. Um diese Aktualisierung in einer Umgebung durchzuführen, in der die VM keinen Internetzugriff hat, können Sie die folgende PowerShell-Skriptvorlage verwenden, sodass der Prozess automatisiert wird und nur installierte Versionen von Inbox Apps aktualisiert werden.

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

Wichtig

Die in der ISO-Datei enthaltenen Inbox Apps liegen nicht in den neuesten Versionen der vorinstallierten Windows-Apps vor. Um die neueste Version aller Apps zu erhalten, müssen Sie die Apps über die Windows Store-App aktualisieren und eine manuelle Suche nach Updates durchführen, nachdem Sie die zusätzlichen Sprachen installiert haben.

Denken Sie anschließend daran, die Freigabe wieder zu trennen.

Abschließen der Imageanpassung

Nachdem Sie die Language Packs installiert haben, können Sie weitere Software installieren, die Sie dem angepassten Image hinzufügen möchten.

Sobald Sie die Anpassung des Images abgeschlossen haben, müssen Sie das Tools für die Systemvorbereitung (sysprep) ausführen.

Zum Ausführen von Sysprep gehen Sie folgendermaßen vor:

  1. Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten, und führen Sie den folgenden Befehl aus, um das Image zu generalisieren:

    C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown
    
  2. Halten Sie die VM an, und erfassen Sie sie in einem verwalteten Image. Folgen Sie dazu den Anweisungen unter Erstellen eines verwalteten Images eines generalisierten virtuellen Computers in Azure.

  3. Sie können jetzt das angepasste Image zum Bereitstellen eines Azure Virtual Desktop-Hostpools verwenden. Informationen dazu, wie Sie einen Hostpool bereitstellen, finden Sie im Tutorial: Erstellen eines Hostpools mit dem Azure-Portal.

Aktivieren von Sprachen in der App für Windows-Einstellungen

Zum Schluss müssen Sie, nachdem Sie den Hostpool bereitgestellt haben, die Sprache zur Sprachliste jedes Benutzers hinzufügen, damit er seine bevorzugte Sprache im Menü „Einstellungen“ auswählen kann.

Um sicherzustellen, dass die Benutzer die von Ihnen installierten Sprachen auswählen können, melden Sie sich als Benutzer an, und führen Sie dann das folgende PowerShell-Cmdlet aus, um die installierten Language Packs zum Menü „Sprachen“ hinzuzufügen. Sie können dieses Skript auch als automatisierte Aufgabe oder Anmeldeskript einrichten, die bzw. das aktiviert wird, wenn sich der Benutzer bei seiner Sitzung anmeldet.

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

Nachdem ein Benutzer seine Spracheinstellungen geändert hat, muss er sich von seiner Azure Virtual Desktop-Sitzung abmelden und sich erneut anmelden, damit die Änderungen wirksam werden.

Nächste Schritte

Wenn Sie etwas über bekannte Probleme bei Language Packs erfahren möchten, finden Sie weitere Informationen unter Hinzufügen von Sprachpaketen in Windows 10, Version 1803 und höher: Bekannte Probleme.

Wenn Sie weitere Fragen zu Windows 10 Enterprise (mehrere Sitzungen) haben, sehen Sie sich die Informationen unter Häufig gestellte Fragen an.