Cómo detectar la versión de idioma de Windows

Se requiere la versión del SO del idioma verdadero, no el idioma de la interfaz del usuario o la configuración regional actual.

Caso de uso: instalación de software que tiene que aplicar configuraciones de seguridad y crear cuentas de usuario. Los scripts deben conocer ciertas propiedades del sistema, como los nombres de los grupos de usuarios, en el idioma original del sistema operativo.

(Debería funcionar con Windows XP, Windows Server 2003, Vista, ...)

2

3 Respuestas

Para detectar el idioma del sistema operativo, utilice GetSystemDefaultUILanguage .

Sin embargo, hay formas más directas de encontrar cosas como un nombre de grupo conocido en Windows. Por ejemplo, para obtener el nombre del grupo Usuarios , llame CreateWellKnownSid con WellKnownSidType = 27 (WinBuiltinUsersSid) y luego LookupAccountSid . También se puede consultar el nombre de otros usuarios y grupos conocidos .

3
agregado

Todos los nombres localizados en el sistema operativo tienen una forma neutral de idioma para acceder a ellos para su uso por las aplicaciones nativas y las secuencias de comandos de configuración. los administradores, usuarios, grupos de invitados y cuenta de administrador tienen SID bien conocidos que se pueden usar en lugar de un nombre localizado. Un punto extra a considerar es que todos los nombres predeterminados de los principales pueden ser modificados, y a menudo son administradores de sys confusos que creen que cambiar la cuenta de administrador de dominio o los nombres de grupo a un no predeterminado equivale a una mayor seguridad. No puede confiar en que estas cosas sean el nombre correcto para el idioma de instalación del sistema operativo. Peor aún, algunas de las localizaciones de idioma cambian entre las versiones de SO para un idioma. Por lo tanto, necesitaría construir una asignación muy cuidadosa entre las versiones del SO y los nombres esperados para los idiomas.

Más bien no. Averigüe cómo crear la identificación neutral de configuración regional para su entorno de scripting.

1
agregado

Mi mejor solución hasta ahora: enumere las cuentas y grupos de usuarios locales y compárelos con una lista de nombres conocidos en diferentes idiomas.

0
agregado