必需的是操作系统的真实语言版本,而不是用户界面语言或当前区域设置。
使用案例:必须应用安全设置和用户帐户创build的软件安装。 脚本必须知道某些系统属性,例如OS的原始语言中的用户组名称。
(应与Windows XP,Windows Server 2003,Vista,…一起使用)
要检测操作系统语言,请使用GetSystemDefaultUILanguage 。
但是,有更直接的方法来查找Windows中已知的组名。 例如,获取用户组名为WellKnownSidType = 27 (WinBuiltinUsersSid)
,然后是LookupAccountSid的 CreateWellKnownSid 。 其他知名用户和组的名称也可以被查询。
操作系统中的所有本地化名称都具有语言中立的方式来访问本地应用程序和设置脚本。 管理员,用户,访客组和管理员帐户具有可用于替代本地化名称的众所周知的SID。 需要考虑的另外一点是内置主体的所有默认名称都可以更改,而且通常意义非常明确,但系统管理员认为将域管理员帐户或组名更改为非默认值会增加安全性。 即使是操作系统安装语言的正确名称,也不能依赖这些东西。 更糟糕的是,某些语言的本地化版本会在操作系统版本之间发生变化。 所以你需要在操作系统版本和语言预期名称之间构建一个非常仔细的映射。
而不是。 了解如何为您的脚本环境构建语言环境中立id。
我迄今为止的最佳解决方案:枚举本地用户帐户和组,并与不同语言的已知名称列表进行比较。