了解get-culture命令

时间:2014-04-01 22:03:52

标签: powershell powershell-v3.0 windows-server-2012 cultureinfo culture

我最近在PowerShell脚本中遇到了与文化相关的返回值的问题。同一个脚本返回不同的值,具体取决于它是哪台机器。 所以我认为文化设置可能不同,并且它返回了一台服务器。

get-culture : de-DE

对于另一个,就像:en-US

一个值是键盘设置,但另一个(第二个)代表什么?

是第二个绑定到操作系统安装的值还是只是一个设置? 在PowerShell中是否有一个命令可以更改值?

当然我首先阅读了gelp get-help get-culture

DESCRIPTION
    The Get-Culture cmdlet gets information about the current culture settings. This includes information about the
    current language settings on the system, such as the keyboard layout, and the display format of items such as
    numbers, currency, and dates.

但我对此并不满意。

1 个答案:

答案 0 :(得分:4)

Cmdlet Get-Culture 的帮助包含一个子标题名称​​相关链接。请注意最后两行。

  

相关链接
  在线版本:http://go.microsoft.com/fwlink/p/?linkid=293965
  集文化   得到-的UICulture

搜索帮助时,也请使用 Get-Command Cmdlet。

Get-Command "*culture*"

您可以使用内置的 Powershell 变量来查看“当前文化”。

$PSCulture
$PSUICulture

以下代码块返回三种不同文化的短日期模式。

### Creates an array of cultureinfo objects:
$myCulturesArray = @(    
    ( $myDECulture = New-Object System.Globalization.CultureInfo("de-DE") ),
    ( $myGBCulture = New-Object System.Globalization.CultureInfo("en-GB") ),
    ( $myUSCulture = New-Object System.Globalization.CultureInfo("en-US") )
);

### Outputs today's date using each CultureInfo object
$myCulturesArray | foreach { 
  (Get-date).ToString('d', $_ ) 
}

进一步阅读:

Tobias Weltner汇集了一组非常有用的pdfs,第3卷是关于文化的。
此外,在提示符处:

Get-Help Get-Culture -Full
help about_Script_Internationalization