Configure Windows Language Settings using Omnissa Dynamic Environment Manager (DEM)

VDI allows users to access their desktop environments from virtually anywhere, providing flexibility and mobility. However, as companies expand their global footprint, it's essential for these virtual environments to be adaptable and multilingual. Having support for multiple Windows languages in VDI is not just a convenience; it's a necessity. It ensures that employees can work in their native language, boosting productivity, reducing errors, and enhancing overall user experience.

Allowing users to choose their preferred language ensures that they feel comfortable and confident while navigating their virtual desktop, which directly contributes to a more efficient and effective workflow. This user-centric approach leads to higher job satisfaction and better overall performance.

To achieve this, a solution leveraging Omnissa Dynamic Environment Manager (DEM) and Microsoft PowerShell will be implemented.

Agenda:

1.       Implementation of a user language switch interface using Powershell

2.       Implementation of Shortcuts and user Interface Design elements using DEM

3.       Optional: Set Keyboardlayout in case it differs from Omnissa Horizon synced language

 

Implementation of a user language switch interface using Powershell

The following Powershell commands will be used to set the language:

Set-WinUILanguageOverride -Language de-DE 

This command sets the Windows user interface language to the two letter code defined in this case German (Germany) for the current user account. It overrides the default system language settings to provide a customized user experience in the specified language.

Set-Culture -CultureInfo de-DE 

This command sets the culture settings to the two-letter code defined in this case German (Germany) for the current user account. It affects the formatting of dates, times, numbers, and currency, adapting them to the conventions used in Germany.

Logging off and then back on is required and ensures that all settings are refreshed and applied uniformly. The full script is displayed below:

# Load Windows Forms assembly
Add-Type -AssemblyName System.Windows.Forms
# Create a message box with Yes and No buttons to ask about changing the language
$result = [System.Windows.Forms.MessageBox]::Show("Do you want to change the Windows display language to German?", "Change Language", [System.Windows.Forms.MessageBoxButtons]::YesNo)

# Check the user's response
if ($result -eq [System.Windows.Forms.DialogResult]::Yes) {
    # Change the Windows display language to German
    Set-WinUILanguageOverride -Language de-DE
    Set-Culture -CultureInfo de-De
     
    # Ask if the user wants to log off now
    $logoffResult = [System.Windows.Forms.MessageBox]::Show("The Windows display language has been changed to German. A logoff is required to apply the changes. Do you want to log off now?", "Log Off Required", [System.Windows.Forms.MessageBoxButtons]::YesNo)
    
    if ($logoffResult -eq [System.Windows.Forms.DialogResult]::Yes) {
        # Log off the user
        shutdown.exe /l
    } else {
        [System.Windows.Forms.MessageBox]::Show("Please log off later to apply the changes.", "Log Off Later")
    }
} else {
    [System.Windows.Forms.MessageBox]::Show("The Windows display language has not been changed.", "No Change")
}

Implementation of Shortcuts and user Interface Design elements using DEM

Dynamic Environment Manager (DEM) is a versatile tool that allows IT administrators to manage and configure user environments dynamically. One of its capabilities is to place shortcuts in the Start menu, complete with custom icons.

Here's how it works:

Shortcut Creation: DEM can be configured to create shortcuts in specific locations, such as the Start menu. This allows users to quickly access frequently used applications or resources.

Custom Icons: When creating these shortcuts, DEM also allows administrators to specify custom icons. This can be useful for branding purposes or simply to make the shortcuts easily recognizable. Windows icons must be stored using a local path. Therefore, it is one easy option to put them into the user’s profile.

 Shortcut:


Target: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Arguments: -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File \\...\Set-Display-Language-to-DE.ps1
IconPath: %APPDATA%\Change-Language-Keyboard-Icons\DE.ico

Files and Folders:

Create a Files and Folders configuration to copy the ico files to the local Users profile.

Optional: Set Keyboardlayout in case it differs from Omnissa Horizon synced language

Powershell Script:

 # Load Windows Forms assembly
Add-Type -AssemblyName System.Windows.Forms
# Change the Windows Keyboard to German
Set-WinUserLanguageList de-DE -force
[System.Windows.Forms.MessageBox]::Show("The Windows keyboard layout has been changed to German.", "Change successful")

For DEM the procedure is identical.

 

The result should now look like this in the Windows Start menu.



 

Comments