Полезный ответ A sh - лучшее решение для машин, работающих под управлением Windows 8 или выше / Windows Server 2012 R2 или выше .
Если вам по-прежнему требуется удаленный запуск на машине Windows 7 / Windows Server 2012 :
(Get-ItemProperty 'HKCU:\Control Panel\Desktop' PreferredUILanguages).PreferredUILanguages[0]
Справочная информация :
При выполнении local самым простым решением является использование $PSUICulture
(возвращает строку с именем языка, например en-US
) или Get-UICulture
(возвращает [cultureinfo]
объект), как показано в этот ответ .
Однако этот не работает, когда вы используете PowerShell удаленное взаимодействие (которое почему необходимо вышеуказанное решение / решение A sh):
# Does NOT return the target user's display language.
# Seemingly always returns the OS installation language.
Invoke-Command -ComputerName $someComputer { $PSUICulture }
Мне неясны точные причины, но это может быть связано с тем, что удаленно выполняемый код PowerShell выполняется в невидимая оконная станция, отличная от интерактивного рабочего стола.