Condividi tramite


Aggiungere lingue a un'immagine di Windows 11 Enterprise

È importante assicurarsi che gli utenti all'interno dell'organizzazione di tutto il mondo possano usare la distribuzione di Desktop virtuale Azure. Ecco perché è possibile personalizzare l'immagine di Windows 11 Enterprise usata per le macchine virtuali per avere Language Pack diversi. A partire da Windows 11, gli account utente non amministratori possono ora aggiungere sia la lingua di visualizzazione che le funzionalità della lingua corrispondenti. Questa funzionalità significa che non è necessario pre-installare i Language Pack per gli utenti in un pool di host personale. Per i pool di host in pool, è comunque consigliabile aggiungere le lingue che si prevede di aggiungere a un'immagine personalizzata. Puoi usare le istruzioni riportate in questo articolo per le versioni a sessione singola e multisessione di Windows 11 Enterprise.

Quando l'organizzazione include utenti con più lingue diverse, sono disponibili due opzioni:

  • Creare un pool di host dedicato con un'immagine personalizzata per ogni lingua.
  • Avere più utenti con lingue diverse nello stesso pool di host.

La seconda opzione è più efficiente in termini di risorse e costi, ma richiede alcuni passaggi aggiuntivi. Fortunatamente, questo articolo illustra come creare un'immagine in grado di supportare gli utenti di tutte le lingue e le esigenze di localizzazione.

Prerequisiti

Prima di poter aggiungere lingue a una macchina virtuale Windows 11 Enterprise, è necessario disporre delle operazioni seguenti:

Nota

Il repository di condivisione file deve essere accessibile dalla macchina virtuale di Azure che verrà usata per creare l'immagine personalizzata.

Creare un repository di contenuto per i language pack e le funzionalità su richiesta

Per creare il repository di contenuti da usare per aggiungere lingue e funzionalità alla macchina virtuale:

  1. Aprire la macchina virtuale a cui si vogliono aggiungere lingue in Azure.

  2. Aprire e montare il file ISO scaricato nella sezione Prerequisiti precedente nella macchina virtuale.

  3. Creare una cartella nella condivisione file.

  4. Copiare tutto il contenuto dalla cartella LanguagesAndOptionalFeatures nella cartella ISO nella cartella creata.

    Nota

    Se si usa una risorsa di archiviazione limitata, è possibile usare l'ISO "Languages and Optional Features" montato come repository. Per informazioni su come creare un repository, vedere Creare un repository di foD e Language Pack personalizzato.

    Importante

    Alcune lingue richiedono tipi di carattere aggiuntivi inclusi nei pacchetti satellite che seguono convenzioni di denominazione diverse. Ad esempio, i nomi dei file di carattere giapponesi includono "Jpan".

    Esempio dei Language Pack giapponesi con il tag di lingua

  5. Configurare le autorizzazioni sulla condivisione del repository del contenuto relativo alla lingua in modo da avere accesso in lettura dalla macchina virtuale che verrà usata per compilare l'immagine personalizzata.

Creare manualmente un'immagine di Windows 11 Enterprise personalizzata

È possibile creare un'immagine personalizzata seguendo questa procedura:

  1. Distribuire una macchina virtuale di Azure, quindi passare alla raccolta di Azure e selezionare la versione corrente di Windows 11 Enterprise in uso.

  2. Dopo la distribuzione della macchina virtuale, connettersi alla macchina virtuale usando RDP come amministratore locale.

  3. Connettersi al repository di condivisione file creato in Creare un repository di contenuti per pacchetti di linguaggio e funzionalità su richiesta e montarlo in un'unità lettera (ad esempio, unità E).

  4. Eseguire lo script di PowerShell seguente da una sessione di PowerShell con privilegi elevati per installare i Language Pack e i pacchetti satellite in Windows 11 Enterprise:

    ########################################################
    ## Add Languages to running Windows Image for Capture##
    ########################################################
    ##Disable Language Pack Cleanup##
    Disable-ScheduledTask -TaskPath "\Microsoft\Windows\AppxDeploymentClient\" -TaskName "Pre-staged app cleanup"
    Disable-ScheduledTask -TaskPath "\Microsoft\Windows\MUI\" -TaskName "LPRemove"
    Disable-ScheduledTask -TaskPath "\Microsoft\Windows\LanguageComponentsInstaller" -TaskName "Uninstallation"
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Control Panel\International" /v "BlockCleanupOfUnusedPreinstalledLangPacks" /t REG_DWORD /d 1 /f
    
    ##Set Language Pack Content Stores##
    $LIPContent = "E:"
    
    ##Set Path of CSV File##
    $CSVFile = "Windows-10-1809-FOD-to-LP-Mapping-Table.csv"
    $filePath = (Get-Location).Path + "\$CSVFile"
    
    ##Import Necesarry CSV File##
    $FODList = Import-Csv -Path $filePath -Delimiter ";"
    
    ##Set Language (Target)##
    $targetLanguage = "es-es"
    
    $sourceLanguage = (($FODList | Where-Object {$_.'Target Lang' -eq $targetLanguage}) | Where-Object {$_.'Source Lang' -ne $targetLanguage} | Select-Object -Property 'Source Lang' -Unique).'Source Lang'
    if(!($sourceLanguage)){
        $sourceLanguage = $targetLanguage
    }
    
    $langGroup = (($FODList | Where-Object {$_.'Target Lang' -eq $targetLanguage}) | Where-Object {$_.'Lang Group:' -ne ""} | Select-Object -Property 'Lang Group:' -Unique).'Lang Group:'
    
    ##List of additional features to be installed##
    $additionalFODList = @(
        "$LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~.cab", 
        "$LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~$sourceLanguage~.cab",
        "$LIPContent\Microsoft-Windows-SnippingTool-FoD-Package~31bf3856ad364e35~amd64~$sourceLanguage~.cab",
        "$LIPContent\Microsoft-Windows-Lip-Language_x64_$sourceLanguage.cab" ##only if applicable##
    )
    
    $additionalCapabilityList = @(
     "Language.Basic~~~$sourceLanguage~0.0.1.0",
     "Language.Handwriting~~~$sourceLanguage~0.0.1.0",
     "Language.OCR~~~$sourceLanguage~0.0.1.0",
     "Language.Speech~~~$sourceLanguage~0.0.1.0",
     "Language.TextToSpeech~~~$sourceLanguage~0.0.1.0"
     )
    
     ##Install all FODs or fonts from the CSV file###
     Dism /Online /Add-Package /PackagePath:$LIPContent\Microsoft-Windows-Client-Language-Pack_x64_$sourceLanguage.cab
     Dism /Online /Add-Package /PackagePath:$LIPContent\Microsoft-Windows-Lip-Language-Pack_x64_$sourceLanguage.cab
     foreach($capability in $additionalCapabilityList){
        Dism /Online /Add-Capability /CapabilityName:$capability /Source:$LIPContent
     }
    
     foreach($feature in $additionalFODList){
     Dism /Online /Add-Package /PackagePath:$feature
     }
    
     if($langGroup){
     Dism /Online /Add-Capability /CapabilityName:Language.Fonts.$langGroup~~~und-$langGroup~0.0.1.0 
     }
    
     ##Add installed language to language list##
     $LanguageList = Get-WinUserLanguageList
     $LanguageList.Add("$targetlanguage")
     Set-WinUserLanguageList $LanguageList -force
    

    Nota

    Questo script di esempio usa il codice di lingua spagnolo (es-es). Per installare automaticamente i file appropriati per una lingua diversa, modificare il parametro $targetLanguage nel codice lingua corretto. Per un elenco dei codici di lingua, vedere Language Pack disponibili per Windows.

    Il completamento dello script potrebbe richiedere qualche minuto a seconda del numero di lingue da installare. È anche possibile installare altre lingue dopo l'installazione iniziale eseguendo di nuovo lo script con un parametro di $targetLanguage diverso.

  5. Per selezionare automaticamente i file di installazione appropriati, scaricare e salvare la tabella Lingue e funzionalità di Windows 10 1809 disponibili su richiesta come file CSV, quindi salvarla nella stessa cartella dello script di PowerShell.

  6. Al termine dell'esecuzione dello script, verificare che i Language Pack siano installati correttamente passando a Impostazioni di avvio>>e lingua.> Se i file di lingua sono presenti, tutti sono impostati.

  7. Infine, se la macchina virtuale è connessa a Internet durante l'installazione delle lingue, è necessario eseguire un processo di pulizia per rimuovere eventuali Language Experience Pack non necessari. Per pulire i file, eseguire questi comandi:

    ##Cleanup to prepare sysprep##
    Remove-AppxPackage -Package Microsoft.LanguageExperiencePackes-ES_22000.8.13.0_neutral__8wekyb3d8bbwe
    
    Remove-AppxPackage -Package Microsoft.OneDriveSync_22000.8.13.0_neutral__8wekyb3d8bbwe
    

    Per pulire i Language Pack diversi, sostituire "es-ES" con un codice di linguaggio diverso.

  8. Dopo aver completato la pulizia, disconnettere la condivisione.

Completare la personalizzazione dell'immagine

Dopo avere installato i language pack, è possibile installare qualsiasi altro software da aggiungere all'immagine personalizzata.

Al termine della personalizzazione dell'immagine, sarà necessario eseguire lo strumento di preparazione del sistema (sysprep).

Per eseguire sysprep:

  1. Aprire un prompt dei comandi con privilegi elevati ed eseguire questo comando per generalizzare l'immagine:

    C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown
    
  2. Se si verificano problemi, controllare il file SetupErr.log nell'unità C in Windows>System32>Sysprep>Panther. Successivamente, seguire le istruzioni in Sysprep non riesce con le app di Microsoft Store per risolvere i problemi di installazione.

  3. Se l'installazione ha esito positivo, arrestare la macchina virtuale, quindi acquisiscla in un'immagine gestita seguendo le istruzioni riportate in Creare un'immagine gestita di una macchina virtuale generalizzata in Azure.

  4. È ora possibile usare l'immagine personalizzata per distribuire un pool di host di Desktop virtuale Azure. Per informazioni su come distribuire un pool di host, vedere Esercitazione: Creare un pool di host con il portale di Azure.

Nota

Quando un utente modifica la lingua di visualizzazione, dovrà disconnettersi dalla sessione di Desktop virtuale Azure e quindi accedere di nuovo. Devono disconnettersi dal menu Start.

Passaggi successivi

Informazioni su come installare i pacchetti di lingua per le macchine virtuali con più sessioni di Windows 10 in Aggiungere Language Pack a un'immagine multisessione di Windows 10.

Per un elenco dei problemi noti, vedi Aggiunta di lingue in Windows 10: Problemi noti.