Как установить информацию о локали для всех учетных записей пользователей (включая системного пользователя и пользователя сетевой службы) в Windows 2016 - PullRequest
0 голосов
/ 06 июня 2018

В настоящее время я работаю над созданием AWS AMI для базового образа Windows 2016.Я делаю это, создавая шаблон для упаковщика, и у меня возникают проблемы с правильной настройкой локали системы и учетных записей пользователей по умолчанию.

Мне нужно установить для Locale значение en-AU (по умолчанию AMI для AWS - en-US).

До сих пор я безуспешно пробовал следующие командлеты Powershell:

# Update Locale settings
Set-Culture en-AU
Set-WinSystemLocale en-AU
Set-WinUserLanguageList en-AU -Force

Вышеуказанное работает только для пользователя, от имени которого запускается упаковщик.

Я использую Inspec для проверки результата с помощью следующих тестов:

control "validate-locale-settings" do 
    # Check that the WinSystemLocale is set to en-AU
    describe command('Get-WinSystemLocale') do
       its('stdout') { should match /en-AU/ }
    end

    describe registry_key('Timezone','HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation') do
        it { should have_property_value 'DaylightName', :string, 'AUS Eastern Daylight Time' }
        it { should have_property_value 'TimeZoneKeyName', :string, 'AUS Eastern Standard Time' }
    end

    # Check that the test user is being set to en-AU
    describe command('(Get-ItemProperty "REGISTRY::HKLM\Control Panel\International").LocaleName') do
        its('stdout') { should match /en-AU/ }
    end
end

Тест пройдет, если я запустил тест inspec как пользователь упаковщика, но я запустил их какадминистратор, они терпят неудачу.

Я ищу сценарий, эквивалентный кнопке «Копировать настройки» на панели управления, которую вы можете использовать через панель управления.

административная вкладка под панелью управления/ область

...