2

How can I use either CMD or PowerShell to change the display language only, for all users in a Windows 10 Pro?

I would rather avoid using any external ps1 file or batch file. I have seen some solutions that require you to use XML files or a PS1 scripts. But I would prefer if there is a cmdlet or just a couple of commands that can do this without having to download any script files.

  • "I would rather avoid using any external ps1 file or batch file." What do you mean by this? – DavidPostill Mar 30 '18 at 21:19
  • I would like to run a command that is not dependent of having a ps1 script if that makes sense... – Arete Mar 30 '18 at 21:40
6

Consider using the Set-WinSystemLocale and/or Set-WinUserLanguageList PowerShell cmdlets right from the PowerShell command line or IDE with no script and with a couple simple commands.


Commands

Note: Be sure to replace en-US with the language/locale for your need.

Set-WinSystemLocale en-US
Set-WinUserLanguageList en-US

Further Resources

  • So I tested this in a VM and it seems to work very well. Only caveat is that the language you add will have to be downloaded from the Control Panel after the commands which sort of defeats the purpose of one-liners I guess. – Arete Apr 6 '18 at 9:46
0

OK, now, I am confused. This sounds like you are new to PowerShell and don't know how to do this? That's fine, it happens. But you don't need cmd or PoSH at all to do this. That is what GPO is for. See the pointers below.

However, you are on a PowerShell forum, post a question that says..

Change display language in Windows 10 with CMD or PowerShell How can I use either CMD or PowerShell to change the display language only

... then you say

I would like to run a command that is not dependent of having a ps1 script if that makes sense...

Sooo.. why are you asking this question on a PoSH forum if you don't want to use PoSH, after you specifically asked for a .cmd or .ps1 to do this?

If you don't want to use .cmd or .ps1, then this is not a question for this forum.

So, this leaves you with using some .exe or a GPO. which is a question for another forum.

Group Policy settings that apply only to Windows 10 Enterprise and Education Editions

https://docs.microsoft.com/en-us/windows/client-management/group-policies-for-enterprise-and-education-editions

Change Windows language by Group Policy?

https://social.technet.microsoft.com/Forums/windows/en-US/69a84dc3-3e2a-42c5-ae50-a77ccd499fd5/change-windows-language-by-group-policy?forum=w7itproui

BTW, there are pre-builts scripts for you to do this.

How to change display language in Windows 10 (change/install LP/remove LP)

This script sample can change the system display language in Windows 10 : (list installed language packs/change current language/install new available language pack from DFS/MDT/UNC share/remove installed languge

https://gallery.technet.microsoft.com/scriptcenter/How-to-change-display-80448f7f

Or

Change OS language using PowerShell While browsing Script Repository Jump this interesting requirement was noticed. https://social.technet.microsoft.com/wiki/contents/articles/24450.change-os-language-using-powershell.aspx

Or

https://stackoverflow.com/questions/30921796/change-os-language-silently-windows-7

Or, are you saying, you want to only use the built in cmdlets vs something like what I am pointer you to above?

Well, that fact that you are asking the forum to write this for you, means you are using something potentially external.

*** Update ** * For the OP comment

Are you saying that there is no command for this?

Always look to help files first.

# Get parameters, examples, full and Online help for a cmdlet or function

# Get a list of all functions
Get-Command -CommandType Function

# Get a list of all commandlets
Get-Command -CommandType Cmdlet

# Get a list of all functions for the specified name
Get-Command -Name '*display*' -CommandType Function
Get-Command -Name '*registry*' -CommandType Function
Get-Command -Name '*language*' -CommandType Function

# Get a list of all commandlets for the specified name
Get-Command -Name '*display*'  -CommandType Cmdlet
Get-Command -Name '*registry*'  -CommandType Cmdlet
Get-Command -Name '*language*'  -CommandType Cmdlet

# get function / cmdlet details
(Get-Command -Name Set-ItemProperty).Parameters
Get-help -Name Set-ItemProperty -Examples
Get-help -Name Set-ItemProperty -Full
Get-help -Name Set-ItemProperty -Online


Get-Help about_*
Get-Help about_Functions

# Find all cmdlets / functions with a target parameter
Get-Help * -Parameter Append

Get-Command -CommandType cmdlet `
| Where-Object { $_.parameters.keys -match 'credential'} `
| Format-Wide name -AutoSize 

# All Help topics locations
explorer "$pshome\$($Host.CurrentCulture.Name)"
  • I dont think you read the question thoroughly, but yes, cmdlets would be nice, or any other command for that matter. – Arete Mar 31 '18 at 9:40
  • What you wrote under "BTW, there are pre-builts scripts for you to do this." is exactly what i do not want. I do not want a full script to do this but simply commands that I can run alone, without a script. – Arete Mar 31 '18 at 9:55
  • Many things cannot be done with just a cmdlet, because it simply may not exist. cmdlets are nothing but scripts (functions) called from a module. You can see that by looking at a cmdlets source code. Sometimes you have to write a script, even if it s one liner (meaning a real one liner, or putting all you. stuff on one line using bunches of semi-colon, but even that is just a script masquerading as a one liner. ) Yet, I included that in the response as well, but what you are after, if the system are in ADDS, it best to use GPO for it. – postanote Mar 31 '18 at 20:16
  • Are you saying that there is no command for this? – Arete Mar 31 '18 at 20:24
  • By your response here, this means that you had not yet gone through the resource links I provided above. Anyway, correct. There is no cmdlet/function called, for example, Set-OSDisplaylanguage or New-OSDisplayLanguage. This is registry setting on Windows computers. So, you have to use the registry cmdlets to do this. Meaning you have to write a one-liner/function script to do this. That last link to stackoverflow, I included above show this. PoSH provides a lot of stuff, but you are going to have to put in the work where it does not directly. No getting around that. Nothing does everything. – postanote Apr 1 '18 at 0:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.