Configuring Regional Settings and Windows locales with Group Policy

Configuring Regional Settings and Windows locales with Group Policy is about managing user location settings such as region, currency and time. A locale is a unique combination of language, country/region, and code page. Part of these settings are user-specific, others are system-specific (local machine) and thus apply to all logged-on users.

Table of Contents

Introduction

This article applies to all operating systems starting from Windows Server 2008/Windows 7 all the way up to the latest versions and builds (currently Windows 10 version 1803 and Windows Server 2016 version 1803)!

I know, I know, this topic is a bit of a "golden oldie", but still very relevant today. In my lab environment, I recently found myself struggling with this old topic again. Once again I faced the problem of incorrect regional settings, incorrect time format, incorrect code page and incorrect time zone. And mind you, my lab environment exists of Windows 2016 servers only (OK, I have one 2012 R2 server). Having solved such issues before, I knew I could configure all settings centrally using Group Policy. This blog post is for all of you fellow administrators out there who struggle with the same issues.

I am sure that you are familiar with the Regional Settings Control Panel item. Before you continue with the various sections below, I would like to remind you of the fact that the tabs Formats and Location contain user-specific settings and that settings on the tab Administrative are system-specific.

These system-specific settings concern the international settings for the welcome screen and system accounts as well as the local system's code page for programs that do not support Unicode. For detailed information how to configure the code page please see the article Configuring the time zone and code page with Group Policy on this website.

The rest of this article deals with the user-specific settings (= the first two tabs) only.

Configuring Regional Settings and Windows locales with Group Policy - Regional Settings overview

One last thing. All configurations described in this article are stored in the Windows registry. If you are unsure of the exact value of a setting, for example concerning country codes, I recommend you to first configure the setting using the graphical interface. You than go to the registry and read the configured value, which you can than use in your script or Group Policy setting.

Quick list of the main registry values mentioned in this article

In case you are not in the mood for any blabla, I have listed all relevant registry keys and values in this section. If you know your way around Group Policy Preferences, you do not need to read further. Here it goes.

Regional settings:
Registry key: HKEY_CURRENT_USER\Control Panel\International
Registry value: multiple values in the aforementioned key
You can configure Regional Settings with the Regional Settings Group Policy Preference (User Configuration \ Preferences \ Control Panel Settings \ Regional Options).

24/12 hour clock and AM/PM time settings:
Registry key: HKEY_CURRENT_USER\Control Panel\International
Registry value: sShortTime (REG_SZ)
You can configure the time settings with the Regional Settings Group Policy Preference or with a Group Policy Preference registry item.

(Home) location:
Registry key: HKEY_CURRENT_USER\Control Panel\International\Geo
Registry value: Nation (REG_SZ)
You can configure the (home) location with a Group Policy Preference registry item.

Configuring regional settings using Group Policy

This section deals with the settings configured on the first tab, Formats, of the Regional Settings Control Panel item.

Configuring Regional Settings and Windows locales with Group Policy - Regional Settings Format tab

Ever since the introduction of Group Policy Preferences with Item-Level Targeting (first introduced with Windows Server 2008), managing regional settings has been a breeze. Open your Group Policy Management Console (GPMC.msc) and navigate to User Configuration \ Preferences \ Control Panel Settings \ Regional Options. With a right-mouse click on Regional Options select New.

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Regional Settings

Now you can configure your settings the same way as on a local Regional Settings pane.

Configuring Regional Settings and Windows locales with Group Policy- Group Policy Regional Settings regional options tab

Note: please be aware that this policy item requires you to first enable underlined settings by pressing the F5 or F6 key before you can modify and save them! See the Microsoft article Enable and Disable Settings in a Preference Item for more information.

I recommend to execute this policy in the user's security context (tick the Run in logged-on [...] box on the Common tab).

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Preference common tab run in users context

In case you require multiple Regional Settings configurations within the same Group Policy, use an Item-Level Targeting filter.

Configuring Regional Settings and Windows locales with Group Policy - Configure multiple regional settings

One way to distinguish users is to filter based on Active Directory security group membership, for example:

  • German (Austria): filtered on the Active Directory Group usrsAustria
  • French (France): filtered on the Active Directory Group usrsFrance
  • English (United States): filtered on the Active Directory Group usrsEnglish

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Regional Settings Item-Level Targeting button

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Regional Settings Item-Level Targeting

In the end, all regional settings are configured in the registry in the HKEY_CURRENT_USER hive. The regional settings consist of multiple values. You find all settings in the following registry key:

Control Panel\International

Configuring the 24/12 hour clock and AM/PM using Group Policy

It may happen that after configuring the regional settings for a user, the time in the system tray is not shown in the correct format. You can correct the time format on the Time tab in the Regional Settings Group Policy Preference (see also the previous paragraph) or directly in the registry (using either a script or a Group Policy Preference).

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Regional Settings time tab

Please take a look at the screenshot below. The regional settings have been modified from English (United States) to German (Austria). In most countries in Europe, a 24-hour clock is used without AM / PM at the end. In the example below, the time is not displayed as it should be. In our example, a 12-hour clock is displayed as well as AM / PM (nachm. stands for PM in German). What the clock should display is a 24-hour time notation without AM / PM at the end.

Configuring Regional Settings and Windows locales with Group Policy - Short time not modified

The short time value determines how the time in the system tray is displayed; a 24 or 12-hour clock (with or without leading zeros) and with or without AM / PM. This value is written in the registry in the HKEY_CURRENT_USER hive. The exact registry key and value are:

Control Panel\International -> sShortTime (REG_SZ)

The following possible values exist:

  • h:mm = 12-hour clock without leading zeros and without AM / PM
  • hh:mm = 12-hour clock with leading zeros and without AM / PM
  • h:mm tt = 12-hour clock without leading zeros and with AM / PM
  • hh:mm tt = 12-hour clock with leading zeros and with AM / PM
  • H:mm = 24-hour clock without leading zeros and without AM / PM
  • HH:mm = 24-hour clock with leading zeros and without AM / PM
  • H:mm tt = 24-hour clock without leading zeros and with AM / PM
  • HH:mm tt = 24-hour clock with leading zeros and with AM / PM

A capital H sets the clock to a 24-hour format; a small h sets the clock to a 12-hour format. A double hh or HH adds a leading zero (when the hour is one digit only). If tt is present at the end than AM / PM is displayed. Also, note the space between the clock settings and the tt value.

Here are some examples:

  • h:mm = 7:30 or 10:42
  • hh:mm = 07:30 or 10:42
  • h:mm tt = 7:30 AM or 10:42 PM
  • hh:mm tt = 07:30 AM or 10:42 PM
  • H:mm = 7:30 or 23:42
  • HH:mm = 07:30 or 23:42
  • H:mm tt = 7:30 AM or 23:42 PM
  • HH:mm tt = 07:30 AM or 23:42 PM

The last two examples in the previous list will not be used much in practice: a 24-hour clock with AM / PM at the end. The drop down menu in the Regional Settings does not allow you configure this, but you can configure this on the Time tab of the Regional Settings Group Policy Preference and by directly configuring the registry (using a Group Policy Preference registry item for example). Adding the prefix AM / PM to a 24-hour clock notation looks a bit weird, but it is technically possible:
Configuring Regional Settings and Windows locales with Group Policy - Short time 24-hour including am an pm

Now we have all the information we need to set the correct time configuration for all users. There are two easy ways how to accomplish this:

  1. Configure the clock using a Regional Settings Group Policy Preference
  2. Configure the clock using a Group Policy Preference registry item

Configure the clock using a Regional Settings Group Policy Preference

Please read the section Configuring regional settings using Group Policy in this article to understand how to configure the user's regional settings. After you have configured at least one regional setting configuration, modify this configuration and go to the Time tab.

On this tab you can modify the time format to anything you want. Before you can modify anything, first make sure to press the F5 button to turn all the red lines to green lines. Green lines indicate that anything you change will be saved after clicking the Apply or OK button. At the bottom of the tab a detailed description of the various configuration options is provided. In the example below I changed the format HH:mm:ss to h:mm:ss tt, changing the clock from a 24-hour to a 12-hour clock and adding AM / PM.

Configuring Regional Settings and locales with Group Policy - Regional Settings Group Policy Preference Time tab

Configure the clock using a Group Policy Preference registry item

Open your Group Policy Management Console (GPMC.msc) and navigate to User Configuration \ Preferences \ Windows Settings \ Registry. With a right-mouse click on Registry select New \ Registry Item. Configure the registry item as follows:

  • Action: replace
  • Hive: HKEY_CURRENT_USER
  • Key path: Control Panel\International
  • Value name: sShortTime
  • Value data: <your value>, e.g. HH:mm

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Preference set short time

I recommend to execute this policy in the user's security context (tick the Run in logged-on [...] box on the Common tab).

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Preference common tab run in users context

In case you require multiple locations for a variety of scenarios within the same Group Policy, use an Item-Level Targeting filter. This is explained in the section Configuring regional settings using Group Policy.

The registry item is now created and will be deployed to all users to whom the particular Group Policy applies. Configuring Regional Settings and Windows locales with Group Policy - Group Policy Preference short time configured

It is possible to rename the registry item afterwards:

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Preference short time rename

Just remember that modifying the item resets it to its original name (=the value name) and you will have to rename it again.

Configuring the (home) location setting using Group Policy

This section deals with the Home Location setting configured on the second tab, Location, of the Regional Settings Control Panel item.Configuring Regional Settings and Windows locales with Group Policy - Regional Settings Location

The location cannot be changed using the Regional Settings Group Policy Preference. Instead, a Group Policy Preference registry item needs to be used.

The location is stored in the Windows registry in the HKEY_CURRENT_USER hive. The exact registry key and value are:

Control Panel\International\Geo -> Nation (REG_SZ)

Configuring Regional Settings and Windows locales with Group Policy - Regional Settings Location tab and registry

To determine the country ID, change the location manually on the second tab of the Control Panel item Regional Settings and than check the aforementioned registry value. For example, when I select Austria as my location, the value Nation is set to 14. Before it was 244, which is the country ID for the United States.

Now we have all the information we need to set the correct location for all users. The easiest way to accomplish this is by using a Group Policy Preference.
Open your Group Policy Management Console (GPMC.msc) and navigate to User Configuration \ Preferences \ Windows Settings \ Registry. With a right-mouse click on Registry select New \ Registry Item. Configure the registry item as follows:

  • Action: replace
  • Hive: HKEY_CURRENT_USER
  • Key path: Control Panel\International\Geo
  • Value name: Nation
  • Value data: <your value>, e.g. 14

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Location

I recommend to execute this policy in the user's security context (tick the Run in logged-on [...] box on the Common tab).

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Preference common tab run in users context

In case you require multiple locations for a variety of scenarios within the same Group Policy, use an Item-Level Targeting filter. This is explained in the section Configuring regional settings using Group Policy.

The registry item is now created and will be deployed to all users to whom the particular Group Policy applies.

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Preference location configured

It is possible to rename the registry item afterwards:

Configuring Regional Settings and Windows locales with Group Policy - Group Policy Preference location rename

Just remember that modifying the item resets it to its original name (=the value name) and you will have to rename it again.

I hope this article was of some help to you.

Share this post:
Dennis Span on EmailDennis Span on LinkedinDennis Span on Twitter
Dennis Span
Dennis Span
Dennis Span works as a Senior Citrix Architect for a large insurance company in Vienna, Austria. He holds multiple certifications such as CCE-V, CCIA and CCEA. In 2017, Dennis became a Citrix Technology Advocate (CTA). Besides his interest in virtualization technologies and blogging, he loves spending time with his family as well as snowboarding, playing basketball and rowing. He is fluent in Dutch, English, German and Slovak and speaks some Spanish.

Leave a Reply

Your email address will not be published.

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.