Public mode

No access to your tenant or devices. Every item links to its source. What this means

Some sources or documents need attention: 258/260 feeds/APIs · 416/439 docs · checked 20:53 UTC Customize Public modeDiscuss ChangeIntel on Discord

Mozilla Firefox Group Policy settings

424 settings · 8.4 · 13 Oct 2026

0 settings

    No settings match

    Try fewer words or a registry value name. All settings

    Back to the list

    Mozilla › Firefox › Permissions › Location

    Do not allow preferences to be changed

    Computer and userIntune-readyLocation_Locked

    Supported on Firefox 62 or later, Firefox 60.2 ESR or later

    What it does

    If this policy is enabled, location preferences cannot be changed by the user. If this policy is disabled or not configured, the user can change location preferences.

    What it writes

    Hive
    HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
    Registry key
    Software\Policies\Mozilla\Firefox\Permissions\Location
    Value name
    Locked
    When enabled
    DWORD 1
    When disabled
    DWORD 0

    Configure and deploy

    Choose a state; the output below is generated from the template for exactly that.

    State
    Apply to

    Enabled · Computer · template defaults

    Registry file (.reg)

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Permissions\Location]
    "Locked"=dword:00000001
    
    

    PowerShell

    $ErrorActionPreference = 'Stop'
    
    function Set-RegistryValue {
        param(
            [Parameter(Mandatory = $true)][string] $Path,
            [Parameter(Mandatory = $true)][string] $Name,
            [Parameter(Mandatory = $true)][string] $PropertyType,
            [Parameter(Mandatory = $true)][object] $Value
        )
    
        if (-not (Test-Path -LiteralPath $Path)) {
            New-Item -Path $Path -Force | Out-Null
        }
    
        New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
    }
    
    function Remove-RegistryValue {
        param(
            [Parameter(Mandatory = $true)][string] $Path,
            [Parameter(Mandatory = $true)][string] $Name
        )
    
        if (Test-Path -LiteralPath $Path) {
            Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
        }
    }
    
    function Clear-RegistryKeyValues {
        param(
            [Parameter(Mandatory = $true)][string] $Path
        )
    
        if (-not (Test-Path -LiteralPath $Path)) {
            return
        }
    
        foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
            Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
        }
    }
    
    # Policy: Do not allow preferences to be changed
    # Name: Location_Locked
    # Scope: Machine
    # State: Enabled
    # Source: firefox.admx
    
    Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Permissions\Location' -Name 'Locked' -PropertyType 'DWord' -Value 1
    
    • The OMA-URI is an inferred ADMX-backed Policy CSP candidate derived from the source ADMX file name and policy name.
    • Some Microsoft policies use built-in Policy CSP pages whose area names don't match the ADMX file name, so verify the candidate against Microsoft Learn before deployment.

    ADMX profile candidate (OMA-URI)

    ./Device/Vendor/MSFT/Policy/Config/ADMX_firefox/Location_Locked

    ADMX SyncML candidate

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>
        <Replace>
          <CmdID>1</CmdID>
          <Item>
            <Meta>
              <Format>chr</Format>
              <Type>text/plain</Type>
            </Meta>
            <Target>
              <LocURI>./Device/Vendor/MSFT/Policy/Config/ADMX_firefox/Location_Locked</LocURI>
            </Target>
            <Data>&lt;enabled/&gt;</Data>
          </Item>
        </Replace>
        <Final/>
      </SyncBody>
    </SyncML>
    Intune remediation scripts

    Detection

    $ErrorActionPreference = 'Stop'
    $reasons = [System.Collections.Generic.List[string]]::new()
    
    function Test-RegistryValueExists {
        param(
            [Parameter(Mandatory = $true)][string] $Path,
            [Parameter(Mandatory = $true)][string] $Name
        )
    
        if (-not (Test-Path -LiteralPath $Path)) {
            return $false
        }
    
        return $null -ne (Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue)
    }
    
    function Test-RegistryValueEquals {
        param(
            [Parameter(Mandatory = $true)][string] $Path,
            [Parameter(Mandatory = $true)][string] $Name,
            [Parameter(Mandatory = $true)][string] $Kind,
            [Parameter(Mandatory = $true)][object] $Expected
        )
    
        if (-not (Test-Path -LiteralPath $Path)) {
            return $false
        }
    
        $valueObject = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue
        if ($null -eq $valueObject) {
            return $false
        }
    
        $actual = $valueObject.$Name
        switch ($Kind) {
            'String' { return [string]$actual -ceq [string]$Expected }
            'ExpandString' { return [string]$actual -ceq [string]$Expected }
            'DWord' { return [uint32]$actual -eq [uint32]$Expected }
            'QWord' { return [uint64]$actual -eq [uint64]$Expected }
            'MultiString' {
                $actualArray = @($actual)
                $expectedArray = @($Expected)
                if ($actualArray.Count -ne $expectedArray.Count) { return $false }
                for ($index = 0; $index -lt $actualArray.Count; $index++) {
                    if ([string]$actualArray[$index] -cne [string]$expectedArray[$index]) { return $false }
                }
                return $true
            }
            'Binary' {
                $actualArray = [byte[]]$actual
                $expectedArray = [byte[]]$Expected
                if ($actualArray.Length -ne $expectedArray.Length) { return $false }
                for ($index = 0; $index -lt $actualArray.Length; $index++) {
                    if ($actualArray[$index] -ne $expectedArray[$index]) { return $false }
                }
                return $true
            }
            default { return [string]$actual -ceq [string]$Expected }
        }
    }
    
    # Policy: Do not allow preferences to be changed
    # Name: Location_Locked
    # Scope: Machine
    # State: Enabled
    # Source: firefox.admx
    
    $isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Permissions\Location' -Name 'Locked' -Kind 'DWord' -Expected 1
    if (-not $isMatch) {
        $reasons.Add('Value mismatch: HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Permissions\Location\Locked') | Out-Null
    }
    
    if ($reasons.Count -eq 0) {
        Write-Output 'Compliant'
        exit 0
    }
    
    $reasons | ForEach-Object { Write-Output $_ }
    exit 1
    

    Remediation

    $ErrorActionPreference = 'Stop'
    
    function Set-RegistryValue {
        param(
            [Parameter(Mandatory = $true)][string] $Path,
            [Parameter(Mandatory = $true)][string] $Name,
            [Parameter(Mandatory = $true)][string] $PropertyType,
            [Parameter(Mandatory = $true)][object] $Value
        )
    
        if (-not (Test-Path -LiteralPath $Path)) {
            New-Item -Path $Path -Force | Out-Null
        }
    
        New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
    }
    
    function Remove-RegistryValue {
        param(
            [Parameter(Mandatory = $true)][string] $Path,
            [Parameter(Mandatory = $true)][string] $Name
        )
    
        if (Test-Path -LiteralPath $Path) {
            Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
        }
    }
    
    function Clear-RegistryKeyValues {
        param(
            [Parameter(Mandatory = $true)][string] $Path
        )
    
        if (-not (Test-Path -LiteralPath $Path)) {
            return
        }
    
        foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
            Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
        }
    }
    
    # Policy: Do not allow preferences to be changed
    # Name: Location_Locked
    # Scope: Machine
    # State: Enabled
    # Source: firefox.admx
    
    Set-RegistryValue -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\Firefox\Permissions\Location' -Name 'Locked' -PropertyType 'DWord' -Value 1
    

    History 93 retained releases

    1. 6.69 Jan 2025
      • Translations changed; choose a language above to compare its wording.
    2. 6.526 Nov 2024
      • Translations changed; choose a language above to compare its wording.
    3. 6.011 Jul 2024
      • Translations changed; choose a language above to compare its wording.
    4. 4.126 Jun 2023
      • Translations changed; choose a language above to compare its wording.
    5. 4.418 Oct 2022
      • Translations changed; choose a language above to compare its wording.
    6. 2.1019 Apr 2021
      • Translations changed; choose a language above to compare its wording.
    7. 2.823 Feb 2021
      • Translations changed; choose a language above to compare its wording.
    8. 1.113 Dec 2019
      • Translations changed; choose a language above to compare its wording.
    9. 1.1023 Oct 2019
      • Translations changed; choose a language above to compare its wording.
    10. 1.8.229 Jul 2019
      • Translations changed; choose a language above to compare its wording.
    11. 1.618 Mar 2019
      • Translations changed; choose a language above to compare its wording.
    12. 1.414 Dec 2018
      • Translations changed; choose a language above to compare its wording.
    13. 1.317 Oct 2018
      • Supported on [was: SUPPORTED_FF62][now: Firefox 62 or later, Firefox 60.2 ESR or later]
      • Supported on SUPPORTED_FF62; [removed: un]resolved; Blank;
    14. 1.211 Sep 2018
      • Added in this release.

    78 later releases left it unchanged.

    Template

    Internal name
    Location_Locked
    Namespace
    Mozilla.Policies.Firefox
    Template file
    firefox.admx
    Release
    Mozilla Firefox 8.4 · file set a495190075c2a974…
    Definition, editor controls and support

    Definition

    <policy class="Both" displayName="$(string.Location_Locked)" explainText="$(string.Location_Locked_Explain)" key="Software\Policies\Mozilla\Firefox\Permissions\Location" name="Location_Locked" valueName="Locked" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
          <parentCategory ref="Mozilla.Policies.Firefox:Location" />
          <supportedOn ref="Mozilla.Policies.Firefox:SUPPORTED_FF62" />
          <enabledValue>
            <decimal value="1" />
          </enabledValue>
          <disabledValue>
            <decimal value="0" />
          </disabledValue>
        </policy>

    Editor controls

    Supported platforms and category

    Mozilla.Policies.Firefox:category:Location
    <category displayName="$(string.Location_group)" name="Location" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
          <parentCategory ref="Mozilla.Policies.Firefox:Permissions" />
        </category>
    Mozilla.Policies.Firefox:category:Permissions
    <category displayName="$(string.Permissions_group)" name="Permissions" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
          <parentCategory ref="Mozilla.Policies.Firefox:firefox" />
        </category>
    Mozilla.Policies.Firefox:category:firefox
    <category displayName="$(string.firefox)" name="firefox" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
          <parentCategory ref="Mozilla.Policies:Cat_Mozilla" />
        </category>
    Mozilla.Policies.Firefox:definition:SUPPORTED_FF62
    <definition displayName="$(string.SUPPORTED_FF62)" name="SUPPORTED_FF62" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
    Mozilla.Policies:category:Cat_Mozilla
    <category displayName="$(string.mozilla)" name="Cat_Mozilla" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
    Mozilla.Policies.Firefox:category:Location
    <category displayName="$(string.Location_group)" name="Location" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
          <parentCategory ref="Mozilla.Policies.Firefox:Permissions" />
        </category>
    <strings><string id="Mozilla.Policies.Firefox:Location_group">Location</string></strings>
    Mozilla.Policies.Firefox:category:Permissions
    <category displayName="$(string.Permissions_group)" name="Permissions" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
          <parentCategory ref="Mozilla.Policies.Firefox:firefox" />
        </category>
    <strings><string id="Mozilla.Policies.Firefox:Permissions_group">Permissions</string></strings>
    Mozilla.Policies.Firefox:category:firefox
    <category displayName="$(string.firefox)" name="firefox" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
          <parentCategory ref="Mozilla.Policies:Cat_Mozilla" />
        </category>
    <strings><string id="Mozilla.Policies.Firefox:firefox">Firefox</string></strings>
    Mozilla.Policies.Firefox:definition:SUPPORTED_FF62
    <definition displayName="$(string.SUPPORTED_FF62)" name="SUPPORTED_FF62" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
    <strings><string id="Mozilla.Policies.Firefox:SUPPORTED_FF62">Firefox 62 or later, Firefox 60.2 ESR or later</string></strings>
    Mozilla.Policies:category:Cat_Mozilla
    <category displayName="$(string.mozilla)" name="Cat_Mozilla" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
    <strings><string id="Mozilla.Policies:mozilla">Mozilla</string></strings>
    ChangeIntel

    An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

    Sources read 20 Oct 20:53 UTC · 258 of 260 readable · 256 fully read · documentation 416/439 current