Google Compute Engine Windows 区域设置

Google Compute Engine Windows 区域设置

我正在尝试使用自动 PowerShell 启动脚本为 Google Compute Engine Windows 实例上的所有用户设置默认语言环境/区域。

我尝试过以下脚本:

Import-Module International

#set home location to Australia
Set-WinHomeLocation -GeoId 12

# Set locale to English (Australia) (needs a restart)
Set-WinSystemLocale en-AU

# Set regional format (date/time etc.) to English (Australia) - this applies to all users
Set-Culture en-AU

# Set the language list for the user, forcing English (Australia) to be the only language
Set-WinUserLanguageList en-AU -Force

以及此脚本,使用区域 xml 文件将与上述相同的设置复制到默认帐户和系统帐户:

& "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin\gsutil" cp gs://mybucket/auregion.xml C:\
& $env:SystemRoot\System32\control.exe "intl.cpl,,/f:`"c:\auregion.xml`""

auregion.xml 的内容:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
   <!--User List-->
   <gs:UserList>
       <gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/> 
   </gs:UserList>
   <gs:UserLocale> 
       <gs:Locale Name="en-AU" SetAsCurrent="true"/> 
   </gs:UserLocale>
   <gs:SystemLocale Name="en-AU"/>
   <!--location--> 
   <gs:LocationPreferences> 
       <gs:GeoID Value="12"/> 
   </gs:LocationPreferences>
</gs:GlobalizationServices>

但当设置为windows-启动脚本-ps1或者作为sysprep-专门化脚本-ps1在 GCE 中。我知道脚本正在运行,因为它还通过正在运行的 tzutil 设置时区,并且它确实为第二个脚本创建了 auregion.xml 文件。

当远程用户运行虚拟机时,相同的脚本也能正常工作。

也许有更简单的方法?除了创建自定义图像外,我在 GCE 中看不到任何用于自动设置区域设置的配置选项。

答案1

发布一个答案供查看该主题的用户参考。

Set-WinSystemLocale 将使用'与 GCE 上的启动脚本一起工作windows-启动脚本-ps1' 键。这需要重新启动,因为它似乎无法在 sysprep specialize 期间进行设置。

对于 Set-WinHomeLocation、Set-Culture 和 Set-WinUserLanguageList,无法使用 GCE 上的启动脚本设置值,因为它需要当前用户的所有更改设置。

相关内容