Do you know that moment? You’ve got your Intune environment perfectly set up, Autopilot profiles configured, and you think, ‘Yes, worldwide rollout, no problem!’ But then… reality hits. Devices start up in a different language than expected, and users ask you why their keyboard suddenly types hieroglyphs. Yeah, that. Apparently, the device was rolled out in the wrong language.
It’s like planning a world trip, but your suitcases are packed by a blind monkey. And let’s be honest, Autopilot profiles that are supposed to handle the language are sometimes as reliable as a weather forecast.
Luckily, I’m not the only one who’s encountered this problem. Peter Klapwijk already wrote a useful blog post about deploying language packs via Intune, in which he explained how to install specific languages. Very handy, but I thought: that can be more efficient!
The PowerShell Script: A More Efficient Solution
That’s why I developed a PowerShell script that supports all language packs that Microsoft offers. No more hassle with manually looking up language codes, my script handles it all. Just enter the correct ‘language tag,’ and your Intune rollout speaks any language you want.
Features of My Script:
- Full language support: Install any language Microsoft supports, using language tags.
- Intune integration: Roll out the script as a Win32 app and automate your language settings.
- Flexibility: Use the script to set specific languages for different regions.
- Rollback: Based on the language tag that has will registered in regedit as OriginalLanguage will be used as language tag when the rollback featured is in use.
- Custom Timezone: Timezone overwrite possibility that isn’t matching with language tag/region
In short, my script ensures that your Intune rollout doesn’t turn into a language disaster. It’s like adding a universal translator to your Intune toolkit.
Examples
Warning: Ensure that VPN or proxy scenarios are considered, as they can impact the accuracy of the language detection based on the public IP address. It is recommended to manually specify the language tag in such cases to avoid incorrect language deployment.
Install a specific language and reboot
.\Deploy-LanguagePack.ps1 -languageTag en-US -AutoReboot
Automatically detect, install language pack and reboot
.\Deploy-LanguagePack.ps1 -AutoDetect -AutoReboot
install a specific language, custom timezone and reboot
.\Deploy-LanguagePack.ps1 -languageTag en-US -TimeZone 'W. Europe Standard Time' -AutoReboot
- Grab the .intunewin file from my repo
- Add the .intunewin file as Win32App to Intune.
- Use the following commands:
# Install command
%windir%\SysNative\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -file Deploy-LanguagePack.ps1 -languageTag nl-NL -TimeZone 'W. Europe Standard Time' -AutoReboot
# Uninstall command
%windir%\SysNative\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -file Deploy-LanguagePack.ps1 -Rollback -AutoReboot
4. Select under Detection rules: Use a custom detection script
Use the detection script from here.
Re-install the OOBE language
.\Deploy-LanguagePack.ps1 -Rollback -AutoReboot
Re-install the OOBE language with custom timezone
.\Deploy-LanguagePack.ps1 -Rollback -TimeZone 'W. Europe Standard Time' -AutoReboot
Say Goodbye to Language Problems
Try my script below and let your Intune rollout speak!