使用远程桌面上的Powershell获取Windows DisplayLanguage

使用远程桌面上的Powershell获取Windows DisplayLanguage,windows,powershell,Windows,Powershell,我正在尝试通过远程计算机上的powershell获取Windows显示语言设置。我尝试获取WinUserLanguageList,但这将返回所有语言的列表。Get-WinSystemLocale和Get-Culture也不是我想要的,因为区域性会返回一些语法设置和内容,并且系统本地依赖于我的服务器。这三个值对于远程桌面都是不同的。有没有办法获取远程桌面的当前显示语言 我要找的是远程计算机的此设置: 您看到的语言是Get-WinUserLanguageList列表中的第一种语言 PS C:\>Ge

我正在尝试通过远程计算机上的powershell获取Windows显示语言设置。我尝试获取WinUserLanguageList,但这将返回所有语言的列表。Get-WinSystemLocale和Get-Culture也不是我想要的,因为区域性会返回一些语法设置和内容,并且系统本地依赖于我的服务器。这三个值对于远程桌面都是不同的。有没有办法获取远程桌面的当前显示语言

我要找的是远程计算机的此设置:


您看到的语言是Get-WinUserLanguageList列表中的第一种语言

PS C:\>Get-WinUserLanguageList.LocalizedName 俄语 英国美国 当我更改列表的顺序,并先设置English时,它会反转PowerShell中的顺序

PS C:\>设置WinUserLanguageList-LanguageList en US,ru 证实 是否继续此操作? [Y] 是[N]否[S]挂起[?]帮助默认值为Y:Y PS C:\>Get-WinUserLanguageList.LocalizedName 英国美国 俄语 因此,要获得当前语言,只需调用该列表中的第一个对象

获取WinUserLanguageList[0]。LocalizedName
您看到的语言是Get-WinUserLanguageList列表中的第一种语言

PS C:\>Get-WinUserLanguageList.LocalizedName 俄语 英国美国 当我更改列表的顺序,并先设置English时,它会反转PowerShell中的顺序

PS C:\>设置WinUserLanguageList-LanguageList en US,ru 证实 是否继续此操作? [Y] 是[N]否[S]挂起[?]帮助默认值为Y:Y PS C:\>Get-WinUserLanguageList.LocalizedName 英国美国 俄语 因此,要获得当前语言,只需调用该列表中的第一个对象

获取WinUserLanguageList[0]。LocalizedName 是运行Windows 8或更高版本/Windows Server 2012 R2或更高版本的计算机的最佳解决方案

如果仍需要在Windows 7/Windows Server 2012计算机上远程运行:

背景资料:

在本地执行中,最简单的解决方案是使用$PSUculture返回一个带有语言名称的字符串,例如en US或Get-UICulture返回一个[cultureinfo]对象,如中所示

但是,当您使用PowerShell远程处理时,这不起作用,这就是为什么需要使用上述解决方案/Ash的解决方案的原因:

# Does NOT return the target user's display language.
# Seemingly always returns the OS installation language.
Invoke-Command -ComputerName $someComputer { $PSUICulture }
我不清楚确切的原因,但这可能与远程执行的PowerShell代码在不可见的窗口站中运行有关,该窗口站不同于交互式桌面。

是运行Windows 8或更高版本/Windows Server 2012 R2或更高版本的计算机的最佳解决方案

如果仍需要在Windows 7/Windows Server 2012计算机上远程运行:

背景资料:

在本地执行中,最简单的解决方案是使用$PSUculture返回一个带有语言名称的字符串,例如en US或Get-UICulture返回一个[cultureinfo]对象,如中所示

但是,当您使用PowerShell远程处理时,这不起作用,这就是为什么需要使用上述解决方案/Ash的解决方案的原因:

# Does NOT return the target user's display language.
# Seemingly always returns the OS installation language.
Invoke-Command -ComputerName $someComputer { $PSUICulture }

我不清楚确切的原因,但这可能与远程执行的PowerShell代码运行在与交互式桌面不同的不可见窗口站有关。

很高兴听到这个消息;我的荣幸,@dcrt。很高兴听到这个消息;不客气,@dcrt。这对我不起作用。获取WinUserLanguageList[0]。LocalizedName返回English United Kingdom,而实际上它是English United United United United United United United United United United United United United United United United United United United United United United United United United Unit。那一个实际上在位置1。你在设置的同一部分中的首选语言顺序可能不同。这对我不起作用。获取WinUserLanguageList[0]。LocalizedName返回English United Kingdom,而实际上它是English United United United United United United United United United United United United United United United United United United United United United United United United United Unit。那一个实际上是在位置1。在设置的同一部分中,您的首选语言的顺序可能不同。