Get-DbaLocaleSetting
View SourceSynopsis
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.
| Property | Value |
|---|---|
| Alias | cn,host,Server |
| Required | False |
| Pipeline | true (ByValue) |
| Default Value | $env:COMPUTERNAME |
-Credential
Credential object used to connect to the computer as a different user.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| 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.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| Default Value | False |
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.
dbatools