Вопрос

Требуется указать истинную языковую версию операционной системы, а не язык пользовательского интерфейса или текущие настройки локали.

Пример использования:установка программного обеспечения, которое должно применять настройки безопасности и создание учетной записи пользователя.Скрипты должны знать определенные системные свойства, такие как имена групп пользователей на языке оригинала операционной системы.

(Должен работать с Windows XP, Windows Server 2003, Vista, ...)

Это было полезно?

Решение

Для определения языка операционной системы используйте GetSystemDefaultUILanguage.

Однако существуют более простые способы поиска таких вещей, как известное название группы в Windows.Например, чтобы получить имя для Пользователи групповой вызов CreateWellKnownSid Создать Well knownsid с WellKnownSidType = 27 (WinBuiltinUsersSid) а потом Поисковый идентификатор учетной записи.Название для других известные пользователи и группы также может быть задан вопрос.

Другие советы

Все локализованные имена в операционной системе имеют нейтральный к языку способ доступа к ним для использования собственными приложениями и скриптами настройки.администраторы, пользователи, группы гостей и учетная запись администратора имеют хорошо известные SID, которые можно использовать вместо локализованного имени.Дополнительным моментом, который следует учитывать, является то, что все имена по умолчанию встроенных участников могут быть изменены, и часто это делают благонамеренные, но сбитые с толку системные администраторы, которые считают, что изменение имен учетных записей администраторов домена или групп на имена, отличные от стандартных, повышает безопасность.Вы не можете полагаться на то, что эти вещи даже являются правильным названием для языка установки операционной системы.Что еще хуже, некоторые языковые локализации меняются в зависимости от выпуска операционной системы для того или иного языка.Таким образом, вам нужно будет создать очень тщательное сопоставление между версиями операционной системы и ожидаемыми названиями языков.

Лучше не надо.Узнайте, как создать нейтральный по локали идентификатор для вашей среды написания сценариев.

Мое лучшее решение на данный момент:перечислите локальные учетные записи пользователей и группы и сравните со списком известных имен на разных языках.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top