Intune · Windows 10

Set additional clocks to Windows 10 using Intune

· 4 min read · Intune, Windows 10

When you work for an international company, or you have to deliver support in other timezones, you might find yourself Googling for time in different timezones from time to time. At least I did.

Then I start looking for a way to make this easier and I was thinking to use BGInfo do reflect the time on my background. When struggling with this for 2 hours, I accidentally stumbled upon this setting, where you can display 2 additional clocks:

I was very surprised and Tweeted about it. Seems that I was not the only one. This setting seemed undiscovered for many people. I also learned that this setting came with Windows Vista, so it was sitting there the whole time. So now you know!

You can find this feature in the Data & Time settings.

Windows Date and Time settings showing the additional clocks configuration

I also learned that you can more clocks in the Alarms & Clock app. You can even pin them to your start menu.

Windows Alarms and Clock app displaying multiple world clocks

How to push it to your devices#

So, you have now configured this on your workstation (you’re welcome), and you wonder if you can set this up for your other machines. This setting can be configured using registry keys. To see it yourself, configure the clock and check: Computer\HKEY_CURRENT_USER\Control Panel\TimeDate\AdditionalClocks

Registry Editor showing the configured additional clock values

I wrote a small script to set this up. We wrap it up in a Win32 app to push it with Intune, but you can also use the scripts to use with your current management system.

To start, create a folder on your local hard drive, and put in both install.ps1 and uninstall.ps1 files. Also, create an empty output folder. Change the values of both clocks to your needs. If you want to set just 1 clock, you’ll have to tweak the script a little bit to delete the code for clock 2.

Enter a Displayname and a Timezone for both clocks by changing the variables. You’ll find all the timezones by using the tzutil /l command in your command prompt or by checking the list from Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. You can also use this website as a reference. If your not sure, just set up the clock on your machine, and check the Computer\HKEY_CURRENT_USER\Control Panel\TimeDate\AdditionalClocks key.

Your folder would look something like this:

File Explorer folder containing clock installation scripts and output folder

Install.ps1#
PowerShell
<#
Change the values of the clocks to your needs
Edit the Displayname and Timezones for both clocks
If you want to set only one clock, just remove the section from the script.

Test before use!
This will overwrite the current settings (if set)
#>

#Set DisplayName and TimeZone for additional Clock 1
$Clock1DisplayName = 'Pune'
$Clock1TimeZone = 'India Standard Time'

## Change this!
#Set DisplayName and TimeZone for additional Clock 2
$Clock2DisplayName = 'Melbourne'
$Clock2TimeZone = 'AUS Eastern Standard Time'

#Define path and regkeys
$Clock1 = 'HKCU:\Control Panel\TimeDate\AdditionalClocks\1\'
$Clock2 = 'HKCU:\Control Panel\TimeDate\AdditionalClocks\2\'
$RegKeyPath = 'HKCU:\Control Panel\TimeDate\AdditionalClocks\'

#Set Clock 1

    New-Item -Path $RegKeyPath -Name '1' -Force
    New-ItemProperty -Path $Clock1 -Name 'Enable' -Value '1' -PropertyType DWORD -Force
    New-ItemProperty -Path $Clock1 -Name 'DisplayName' -Value $Clock1DisplayName -PropertyType String -Force
    New-ItemProperty -Path $Clock1 -Name 'TzRegKeyName' -Value $Clock1TimeZone -PropertyType String -Force

#Set Clock 2

    New-Item -Path $RegKeyPath -Name '2' -Force
    New-ItemProperty -Path $Clock2 -Name 'Enable' -Value '1' -PropertyType DWORD -Force
    New-ItemProperty -Path $Clock2 -Name 'DisplayName' -Value $Clock2DisplayName -PropertyType String -Force
    New-ItemProperty -Path $Clock2 -Name 'TzRegKeyName' -Value $Clock2TimeZone -PropertyType String -Force
Uninstall.ps1#
PowerShell
<#
Test before use!
#>

#Define path and regkeys
$Clock1 = 'HKCU:\Control Panel\TimeDate\AdditionalClocks\1\'
$Clock2 = 'HKCU:\Control Panel\TimeDate\AdditionalClocks\2\'

#Delete Clock 1

    Remove-Item $Clock1 -Recurse -Force

#Delete Clock 2

    Remove-Item $Clock2 -Recurse -Force

Wrap the scripts with IntuneWinAppUtil#

Use the https://github.com/Microsoft/Microsoft-Win32-Content-Prep-Tool to wrap the scripts into a intunewin package.

Win32 Content Prep Tool packaging the clock scripts for Intune

You’ll find the intunewin install file in the output folder. We need this for the next step.

Head over to https://endpoint.microsoft.com to add a new App. Pick a Win32 app and browse for the intunewin installer that we just created. Change the values for the Name, Description, and Publisher.

Intune admin center adding the packaged clock installer as a Win32 app

Enter the install command and uninstall command and make sure you select User as the install behavior.

Install command: powershell.exe -executionpolicy Bypass .\install.ps1

Uninstall command: powershell.exe -executionpolicy Bypass .\uninstall.ps1

Intune Win32 app settings for install and uninstall commands

Select the operating system architecture that you support and pick your minimum operating system version. Optional, add requirements.

Intune Win32 app requirements for architecture and minimum Windows version

To detect if the app is succesfully installed, we check of the register keys are created by adding them to the Detection rules. Add both Computer\HKEY_CURRENT_USER\Control Panel\TimeDate\AdditionalClocks\1 and Computer\HKEY_CURRENT_USER\Control Panel\TimeDate\AdditionalClocks\2

Intune detection rules checking the additional clock registry keys

In this example, I skip the dependencies and assign the app to a test group of devices.

Intune app assignment targeting a test device group

Review the settings and create the app.

Intune app review page before creating the Win32 app

Next, head over to your test device and see if the additional clocks show up.

Windows test device displaying the configured additional clocks

Uninstall#

The uninstall script will delete both entries (clocks) from the registry, using the uninstall script.

PowerShell uninstall script removing the additional clock registry entries

Wrap up#

I was happily surprised to find this setting, and I think this can be really useful in some cases. As I stated earlier, you can use this script to use with other solutions than Intune. You could also use GPO, startup scripts, and create the solutions that fit your needs.

Happy deploying!

Comments

Comments load when you scroll here.