Thor Logo dbatools

Get-DbaLocaleSetting

View Source
Klaas Vandenberghe (@PowerDBAKlaas)
Windows, Linux, macOS

Synopsis

Retrieves Windows locale settings from the registry on SQL Server computers for regional configuration analysis.

Description

Retrieves Windows locale settings from the Control Panel\International registry key on one or more computers. These settings directly impact SQL Server’s date/time formatting, currency display, number formatting, and collation behavior.

Useful for auditing regional configurations across your SQL Server environment, troubleshooting locale-related issues, or ensuring consistent settings before SQL Server installations. The function accesses the current user’s locale settings from HKEY_CURRENT_USER\Control Panel\International.

Requires Local Admin rights on destination computer(s).

Syntax

Get-DbaLocaleSetting
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-EnableException]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Get-DbaLocaleSetting -ComputerName sqlserver2014a

Gets the Locale settings on computer sqlserver2014a.

Example: 2
PS C:\> 'sql1','sql2','sql3' | Get-DbaLocaleSetting

Gets the Locale settings on computers sql1, sql2 and sql3.

Example: 3
PS C:\> Get-DbaLocaleSetting -ComputerName sql1,sql2 -Credential $credential

Gets the Locale settings on computers sql1 and sql2 using SQL Authentication to authenticate to the servers.

Optional Parameters

-ComputerName

Specifies the computer names where you want to retrieve Windows locale settings from the registry. Accepts SQL Server instance names but extracts only the computer portion.
Use this to audit regional configurations across your SQL Server environment, especially before installations or when troubleshooting locale-related issues with date formats, currency display, or
collation behavior.

PropertyValue
Aliascn,host,Server
RequiredFalse
Pipelinetrue (ByValue)
Default Value$env:COMPUTERNAME
-Credential

Credential object used to connect to the computer as a different user.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-EnableException

By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with “sea of red” exceptions, but is inconvenient because it basically disables advanced scripting.
Using this switch turns this “nice by default” feature off and enables you to catch exceptions with your own try/catch.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default ValueFalse

Outputs

PSCustomObject

Returns one object per computer with Windows locale settings from the HKEY_CURRENT_USER\Control Panel\International registry key.

Standard properties (always included):

  • ComputerName: The name of the computer where locale settings were retrieved

Additional properties (dynamically retrieved from registry):

The command dynamically reads all values from the HKEY_CURRENT_USER\Control Panel\International registry key and adds them as properties. Common properties include:

Locale and Language Settings:

  • Locale: The locale code (e.g., “00000410” for Italian)
  • LocaleName: The locale name in standard format (e.g., “it-IT”)
  • sLanguage: The language abbreviation (e.g., “ITA”)
  • sCurrency: The currency symbol (e.g., “€”)

Date and Time Formatting:

  • sLongDate: Format string for long date display
  • sShortDate: Format string for short date display
  • sTimeFormat: Format string for time display
  • sShortTime: Format string for short time display

Numeric Formatting:

  • sDecimal: Decimal separator character (e.g., “.”)
  • sList: List separator character (e.g., “,” or “;”)
  • iDigits: Number of digits after decimal separator

Additional Integer Settings (prefixed with ‘i’):

  • iCountry: Country/region identifier
  • iCurrDigits: Number of digits for currency
  • iCurrency: Currency format (0=prefix, 1=suffix)
  • iDate: Date format (0=M/D/Y, 1=D/M/Y, 2=Y/M/D)
  • iFirstDayOfWeek: First day of week (0=Sunday, 1=Monday, etc.)
  • iFirstWeekOfYear: First week of year definition
  • iLZero: Leading zero display (0=none, 1=display)
  • iTime: Time format (0=12-hour, 1=24-hour)
  • iTLZero: Time leading zero for hours (0=none, 1=display)

Additional String Settings (prefixed with ’s’):

  • sAM: AM symbol for 12-hour format
  • sPM: PM symbol for 12-hour format
  • sThousand: Thousands separator character Note: The actual properties returned depend on what is configured in the registry. Not all standard properties may be present on all systems. Use Select-Object * to see all properties available for a specific computer.