管理Firefox更新

Firefox for Enterprise Firefox for Enterprise 最后更新于:
此译文由机器根据英语内容翻译而来,未经人工审核,可能包含错误。若希望修订此内容,请由此处开始。

本文的对象是为组织或机构的电脑配置 Firefox 的 IT 管理员。

我们建议长期启用所有 Firefox 部署的自动更新来确保已安装了最新安全补丁且所有功能正常工作,但您的特定环境可能会阻止自动更新。

Firefox Rapid Release 和 Firefox Extended Support Release 均可用于您的企业环境。如果您担心频繁的大型更新,我们建议您查看 如何选择Firefox升级渠道 来了解有关 Firefox Extended Support Release 的更多信息。

重大更新频率 重大更新范围 小型更新频率 小型更新范围
ESR 每年

查看更新日历

增加新功能并修复12个月之内的问题 每四周或必要时 重要的稳定性改进及安全问题修复
RR 每四周

查看更新日历

增加新功能并修复4周内的问题 在重大更新之间不定期发布 重要的稳定性改进及安全问题修复


禁用 Firefox 更新

自动更新是默认启用的,但您可以通过 DisableAppUpdate(禁用应用更新)策略 手动禁用。

启用更新后,可以通过启用 AppAutoUpdate 策略 来静默安装更新,无需用户批准。

排查 Firefox 更新问题

如果工作站没有收到 Firefox 更新,以下 PowerShell 检查可以帮助确定根本原因。

检查本地组策略 (GPO) 注册表项

运行以下命令:

Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Mozilla\Firefox" | 
Select-Object DisableAppUpdate, AppAutoUpdate

预期值:

注册表值 预期值
DisableAppUpdate 0
AppAutoUpdate 1

如果这些值未按预期设置,则 Firefox 更新可能已被本地或域组策略禁用。

检查已安装的 Firefox 版本

运行以下 PowerShell 命令:

Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" |
Where-Object { $_.PSChildName -like "Mozilla Firefox*" } |
ForEach-Object {
    Get-ItemProperty $_.PsPath |
    Select-Object DisplayName, DisplayVersion, Publisher, InstallDate
}

将安装的版本与 Mozilla 网站上提供的最新 Firefox ESR 版本进行比较。

检查计划任务

Firefox 依赖后台计划任务来下载和应用更新。

运行以下 PowerShell 命令:

Get-ScheduledTask | 
Where-Object { $_.TaskName -like "*Firefox Background Update*" } | 
ForEach-Object { Get-ScheduledTaskInfo $_ }

-> 确保:

  • 任务存在
  • 任务已启用
  • 任务成功运行且无错误

检查 Mozilla Maintenance Service

在 Windows 上,Firefox 更新可能需要安装并运行 Mozilla Maintenance Service。该服务允许 Firefox 在不需要管理员权限的情况下应用更新。

检查服务是否存在及其状态

运行以下 PowerShell 命令:

Get-Service -Name MozillaMaintenance -ErrorAction SilentlyContinue |
Select-Object Name, DisplayName, Status, StartType

-> 预期行为:

  • 服务存在
  • 状态为 Running(或 Stopped,但能够启动)
  • StartType 设置为 AutomaticManual
  • 如果该服务缺失,Firefox 可能无法自动应用更新。

手动启动服务(如果需要)

如果服务存在但未运行,请尝试启动它。运行以下 PowerShell 命令:

Start-Service -Name MozillaMaintenance

再次检查服务是否无错误地启动。

重新安装 Mozilla Maintenance Service

如果服务缺失或损坏,可以使用 Firefox 安装程序重新安装:

  1. 下载与您的部署相匹配的 Firefox 安装程序(ESR 或标准版)。
  2. 以管理员身份运行安装程序。
  3. 确保选中 Install Mozilla Maintenance Service

安装后,重新检查服务状态。

检查 BITS 传输(后台智能传输服务)

Firefox 使用 BITS 在后台下载更新。

运行以下 PowerShell 命令:

Get-BitsTransfer | 
Where-Object { $_.DisplayName -match 'mozilla' -or $_.RemoteName -match 'mozilla' } | 
ForEach-Object {
    $job = $_
    foreach ($file in $job.FileList) {
        [PSCustomObject]@{
            DisplayName        = $job.DisplayName
            JobState           = $job.JobState
            BytesTransferredMB = [math]::Round($file.BytesTransferred / 1MB, 2)
            BytesRemainingMB   = [math]::Round(($file.BytesTotal - $file.BytesTransferred) / 1MB, 2)
            ProgressPercent    = if ($file.BytesTotal -gt 0) { 
                                     [math]::Round(($file.BytesTransferred / $file.BytesTotal * 100), 2) 
                                 } else { 0 }
            RemoteURL          = $file.RemoteName
            LocalPath          = $file.LocalName
        }
    }
}

-> 检查内容

  • JobState 显示当前传输状态(传输中、已暂停、已完成或错误)。
  • ProgressPercent 表示下载进度。
  • RemoteURL 显示 Firefox 用于检索更新的 URL。

-> 如果下载被阻止

如果进度没有推进或作业失败,请验证 RemoteURL 中显示的 URL 没有被您的网络、防火墙或代理阻止。

要进行确认,请将 URL 复制并粘贴到浏览器中,检查下载是否成功开始。

列出 C:\ProgramData 中与 Firefox 相关的文件

Firefox 更新文件会下载并存储在以下位置。

运行以下 PowerShell 命令:

Get-ChildItem -Path "C:\ProgramData\Mozilla-*" -Recurse | 
Select-Object @{ Name="Path"; Expression={$_.FullName} }, 
              @{ Name="Type"; Expression={ if ($_.PSIsContainer) { "Directory" } else { "File" } } }, 
              @{ Name="Size"; Expression={$_.Length} },
              @{ Name="LastModified"; Expression={$_.LastWriteTime} 
}

这有助于验证更新文件是否已下载,并识别不完整或停滞的文件。

此文章在这些用户的协助下写成:

Illustration of hands

志愿者

分享知识并培养专业技能。解答问题并改进我们的知识库。

详细了解