LogoLogo
OSDeploy.comTwitterGitHubPowerShell Gallery
  • Overview
  • Release Notes
    • 2019 Archive
  • OSDeploy Home
  • Module
    • Functions
      • Get-DownOSDBuilder
      • Get-OSBuilds
      • Get-OSDBuilder
      • Get-OSMedia
      • Get-PEBuilds
      • Import-OSMedia
      • Initialize-OSDBuilder
      • New-OSBuild
      • New-OSBuildMultiLang
      • New-OSBuildTask
      • New-OSDBuilderContentPack
      • New-OSDBuilderISO
      • New-OSDBuilderUSB
      • New-OSDBuilderVHD
      • New-OSDBuildPack
      • New-PEBuild
      • New-PEBuildTask
      • Show-OSDBuilderInfo
      • Update-OSMedia
    • GitHub
    • PowerShell Gallery
  • Docs
    • Basics
      • Requirements
      • Installation
      • Get-OSDBuilder
        • Get-OSDBuilder -Update
    • OSImport
      • Import-OSMedia
      • Import-OSMedia Automation
      • Import-OSMedia -Update
      • Import-OSMedia -BuildNetFX
      • Download FeatureUpdates
    • OSMedia
      • Get-OSMedia
      • Download OSMediaUpdates
      • Download OneDrive
      • Update-OSMedia
        • Updates Parameter
        • SkipComponentCleanup Parameter
    • Download Updates
    • Media Functions
      • OS Information
      • Create an ISO
      • Create a USB
      • Create a VHD
    • ContentPacks
      • Content
        • Media
        • OSCapability
        • OSDrivers PEDrivers
        • OSExtraFiles PEExtraFiles
        • OSPackages
        • OSPoshMods PEPoshMods
        • OSRegistry PERegistry
        • OSScripts PEScripts
        • OSStartLayout
        • PEADK
        • PEDaRT
      • MultiLang Content
        • OSLanguagePacks
        • OSLanguageFeatures
        • OSLocalExperiencePacks
        • PEADKLang
      • New-OSBuildTask
      • New-OSBuild
      • Recipes
        • MultiLang FOD NetFX3
        • Multilang FOD RSAT
        • Frogger
    • OSBuild
      • New-OSBuildTask
        • Basic Parameters
          • CustomName
          • EnableNetFX3
          • EnableFeature
          • DisableFeature
          • RemoveAppx
          • RemoveCapability
          • RemovePackage
          • WinPEAutoExtraFiles
        • Content Parameters
          • ContentDrivers
          • ContentExtraFiles
          • ContentPackages
          • ContentScripts
          • ContentStartLayout
          • ContentUnattend
        • WinPE Content Parameters
          • ContentWinPEADK
          • ContentWinPEDaRT
          • ContentWinPEDrivers
          • ContentWinPEExtraFiles
          • ContentWinPEScripts
        • Manual Editing
        • SaveAs
        • Templates
        • Language Parameters
      • New-OSBuild
        • OSBuild Validate
        • OSBuild Download
        • OSBuild Execute
      • Content Directory
        • ADK
        • DaRT
        • Drivers
          • Intel Wireless
          • Intel Bluetooth
          • Intel Ethernet
        • ExtraFiles
        • IsoExtract
        • Mount (Managed)
        • OneDrive
        • OSDUpdate (Managed)
        • Packages
        • Scripts
        • StartLayout
        • Unattend
          • Windows System Image Manager
    • Advanced
      • Settings
        • Redirecting Paths
        • Disable Global Settings
        • Citrix PVS Target Device
        • Automatic Downloads
        • Import-OSMedia
        • Update-OSMedia
      • OSMedia Baseline
      • MultiLang Baseline
        • Clean Start
        • Add Primary Operating System
        • ContentPack Configuration
        • New-OSBuild
        • New-OSBuild PE
    • Legacy Operating Systems
      • Windows 7 SP1
        • Build and Capture
      • Windows Server 2012 R2
    • Windows MultiLang
      • Requirements
      • OSMedia
      • OSBuild Task
      • OSBuild Task WinPE
      • OSBuild
      • OSBuild Test
      • OSBuild MultiLang
      • OSBuild MultiLang Test
    • Support
      • Review the Logs
  • External Links
    • Addons
      • OSDBuilder Import Tool (Andrew Jimenez)
    • WebCast
      • Offline WaaS Servicing (Modern Deployment)
    • Training
      • Arthur
      • DeploymentMX (2018)
      • Brian Gonzales
      • Ben Whitmore
      • Manel Rodero
      • DeploymentMX (2019)
Powered by GitBook
On this page
  • ContentPack Structure
  • Source Content
  • My Recommendation
  • New-OSDBuilderContentPack
  • Copy LanguageFeatures

Was this helpful?

  1. Docs
  2. ContentPacks
  3. MultiLang Content

OSLanguageFeatures

ContentPack Structure

Directories within OSLanguageFeatures are created by default and follows this logical arrangement

OSLanguageFeatures\$ReleaseId $Architecture

Source Content

Source Content is copied from the Features On Demand ISO which can be downloaded from MSDN or VLSC. The LanguageFeatures are in the root of the ISO

My Recommendation

If you are working with MultiLang (Multiple Languages), follow this recommendation

New-OSDBuilderContentPack

Create a new ContentPack for each of the languages you are working with. In this example, I will create the following ContentPacks in PowerShell for my additional languages

PS C:\> New-OSDBuilderContentPack -Name "MultiLang de" -ContentType MultiLang
PS C:\> New-OSDBuilderContentPack -Name "MultiLang es" -ContentType MultiLang
PS C:\> New-OSDBuilderContentPack -Name "MultiLang en" -ContentType MultiLang
PS C:\> New-OSDBuilderContentPack -Name "MultiLang fr" -ContentType MultiLang

Copy LanguageFeatures

Copy the Language Features to the proper destination directory. If a destination directory doesn't exist, create one using the same naming format as the existing directories. This can be somewhat tricky, so if you can automate it, give it a go. This is the script I used

#Path to your Features On Demand ISO
$SourceISO = 'G:\'

#The Language of Base Media
$BaseLanguage = 'en-us'

#Language to copy
$Languages = @('de','en','es','fr')

#Initialize OSDBuilder Variables
Initialize-OSDBuilder

foreach ($Language in $Languages) {
    New-OSDBuilderContentPack -ContentType MultiLang -Name "MultiLang $Language"

    $Destination = "$GetOSDBuilderHome\ContentPacks\MultiLang $Language\OSLanguageFeatures\1903 x64"
    $DestinationB = "$GetOSDBuilderHome\ContentPacks\MultiLang $Language\OSLanguageFeatures\1909 x64"

    #Exclude your Base Language
    $LanguageFeatures = Get-ChildItem $SourceISO | ? {$_.Name -match 'LanguageFeatures'} | ? {$_.Name -like "*-$($Language)-*"}

    foreach ($item in $LanguageFeatures | ? {$_.Name -notmatch $BaseLanguage}) {
        Copy-Item $item.FullName $DestinationA -ea SilentlyContinue
        Copy-Item $item.FullName $DestinationB -ea SilentlyContinue
    }
}

Which gives me the following results (keep in mind the same files are used for ReleaseId 1903 and 1909)

PreviousOSLanguagePacksNextOSLocalExperiencePacks

Last updated 5 years ago

Was this helpful?