如何在Windows 2016

时间:2018-06-06 05:13:34

标签: windows powershell automation locale packer

我目前正在为Windows 2016基础映像构建AWS AMI。我是通过为打包程序创建模板来实现此目的的,并且我在让系统和默认用户帐户正确设置其区域设置时遇到问题。

我需要将Locale设置为en-AU(AWS AMI默认为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测试,测试将通过,但我以管理员用户身份运行它们失败。

我正在寻找与控制面板相同的脚本“复制设置'您可以通过控制面板使用的按钮。

administrative tab under control panel/region

0 个答案:

没有答案