Problemen met Firefox-updates in Windows oplossen

Firefox Enterprise Firefox Enterprise Aangemaakt: 5 dagen geleden

Dit artikel is bedoeld voor IT-beheerders die Firefox op de computers in hun organisatie willen instellen.

Als een Windows-apparaat Firefox-updates niet zoals verwacht ontvangt of toepast, gebruik dan de volgende controles om de oorzaak te achterhalen. Zorg er voordat u begint voor dat het updatebeleid voor Firefox van uw organisatie is geconfigureerd zoals bedoeld.

Zie Firefox-updates beheren voor algemene informatie over het beheren van updates.

Als een werkstation geen Firefox-updates ontvangt, kunnen de volgende PowerShell-controles helpen de hoofdoorzaak te achterhalen.

Lokale registersleutels voor Groepsbeleid (GPO) controleren

Voer de volgende opdracht uit:

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

Verwachte waarden:

Registerwaarde Verwachte waarde
DisableAppUpdate 0
AppAutoUpdate 1

Als deze waarden niet zijn ingesteld zoals verwacht, zijn Firefox-updates mogelijk uitgeschakeld door lokaal of domein-Groepsbeleid.

Geïnstalleerde Firefox-versie controleren

Voer de volgende PowerShell-opdracht uit:

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
}

Vergelijk de geïnstalleerde versie met de nieuwste Firefox ESR-versie die beschikbaar is op de website van Mozilla.

Geplande taak controleren

Firefox is afhankelijk van een op de achtergrond geplande taak om updates te downloaden en toe te passen.

Voer de volgende PowerShell-opdracht uit:

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

-> Zorg ervoor dat:

  • De taak bestaat
  • De taak is ingeschakeld
  • De taak succesvol en zonder fouten wordt uitgevoerd

Mozilla Maintenance Service controleren

Op Windows kan voor Firefox-updates de Mozilla Maintenance Service vereist zijn, die geïnstalleerd en actief moet zijn. Met deze service kan Firefox updates toepassen zonder dat beheerdersrechten nodig zijn.

Controleren of de service bestaat en wat de status ervan is

Voer de volgende PowerShell-opdracht uit:

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

-> Verwacht gedrag:

  • De service bestaat
  • De status is Wordt uitgevoerd (of Gestopt, maar kan worden gestart)
  • StartType is ingesteld op Automatisch of Handmatig
  • Als de service ontbreekt, kan Firefox updates mogelijk niet automatisch toepassen.

De service handmatig starten (indien nodig)

Als de service bestaat maar niet wordt uitgevoerd, probeer deze dan te starten. Voer de volgende PowerShell-opdracht uit:

Start-Service -Name MozillaMaintenance

Controleer opnieuw of de service zonder fouten start.

De Mozilla Maintenance Service opnieuw installeren

Als de service ontbreekt of beschadigd is, kan deze opnieuw worden geïnstalleerd met het Firefox-installatieprogramma:

  1. Download het Firefox-installatieprogramma dat overeenkomt met uw implementatie (ESR of standaarduitgave).
  2. Voer het installatieprogramma uit als beheerder.
  3. Zorg ervoor dat Mozilla Maintenance Service installeren is geselecteerd.

Controleer na de installatie de status van de service opnieuw.

UAC-prompt die tijdens updates om beheerdersaanmeldgegevens vraagt

Op sommige werkstations activeert een update een UAC-prompt met de titel Firefox Updater Software die om beheerdersaanmeldgegevens vraagt, ook al is de Mozilla Maintenance Service geïnstalleerd en in orde. Standaardgebruikers kunnen de update niet voltooien en de prompt verschijnt opnieuw bij elke start van Firefox.

Oorzaak

Voordat de Maintenance Service wordt gebruikt, controleert de Firefox-updater de UAC-configuratie van het werkstation (IsUnpromptedElevation-test in de broncode van de updater). Als UAC is geconfigureerd voor stille verhoging, gaat Firefox ervan uit dat de verhoging zonder prompt zal plaatsvinden – zoals bij een beheerder – en slaat het de Maintenance Service over. Maar als de aangemelde gebruiker niet daadwerkelijk een beheerder is, is de verhoging niet stil en toont Windows in plaats daarvan een UAC-aanmeldprompt.

Dit gebeurt alleen als aan alle drie de volgende voorwaarden wordt voldaan:

  1. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdmin is ingesteld op 0 (beveiligingsoptie Gebruikersaccountbeheer: gedrag van de prompt voor verhoging voor beheerders in de modus voor beheerdersgoedkeuring = Verhogen zonder vragen; Windows-standaard is 5)
  2. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\PromptOnSecureDesktop is ingesteld op 0 (beveiligingsoptie Gebruikersaccountbeheer: overschakelen naar het beveiligde bureaublad wanneer om verhoging wordt gevraagd = Uitgeschakeld; Windows-standaard is 1)
  3. De aangemelde gebruiker heeft een UAC-gefilterd token: lid van een groep met privileges (Administrators, Backup Operators, Power Users, etc.), inclusief groepen die zijn gemarkeerd als deny-only, of houder van gevoelige privileges (zoals SeBackupPrivilege of SeDebugPrivilege) die zijn verleend via Groepsbeleid. Merk op dat op privileges gebaseerde filtering niet zichtbaar is in whoami /groups.

Diagnose

Controleer het updater-logboek op de volgende signatuur:

Get-Content "C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\*\updates\0\update.log"

...
After checking IsUnpromptedElevation, useService=false
Elevating via a UAC prompt
Writing status to file: failed: 9
...

De regel useService=false na de IsUnpromptedElevation-controle bevestigt deze oorzaak (fout 9 betekent dat de gebruiker de UAC-prompt heeft geannuleerd). Noot: na een eerste mislukte poging tonen volgende logboekvermeldingen useService=false vanaf de eerste regel, zonder de After checking...-regels (resterende status, zie Oplossing).

Controleer vervolgens de UAC-waarden en de status van de wachtende update:

reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v PromptOnSecureDesktop
Get-Content "C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\*\updates\0\update.status"

Mogelijke update.status-waarden:

Waarde Betekenis
pending-service Update gedownload, de Maintenance Service zal worden gebruikt (normaal)
pending Firefox heeft de Maintenance Service voor deze update opgegeven (resterende status na een mislukking)
applied-service Update succesvol toegepast via de Maintenance Service

Oplossing

  1. Sluit Firefox.
  2. Voer de volgende opdrachten uit in een PowerShell met verhoogde rechten:
    • Het standaardgedrag van de UAC-verhogingsprompt voor beheerders herstellen
      reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 5 /f
    • Het beveiligde bureaublad voor verhogingsprompts opnieuw inschakelen
      reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v PromptOnSecureDesktop /t REG_DWORD /d 1 /f
    • De resterende updatestatus wissen (anders verschijnt de prompt nog een laatste keer)
      Remove-Item "C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\*\*" -Recurse -Force
  3. Start Firefox, ga naar Help > Over Firefox en wacht op Herstarten om Firefox bij te werken.
  4. Herstart Firefox: de update moet worden toegepast zonder UAC-prompt.

-> Opmerkingen:

  • Het herstellen van een van de twee UAC-waarden is voldoende om de foutieve toestand te doorbreken; het herstellen van beide brengt het werkstation terug naar de Windows-standaardinstellingen.
  • Als deze UAC-waarden worden afgedwongen door een domein-Groepsbeleid, worden ze geherinitialiseerd bij de volgende beleidsvernieuwing (controleer met gpupdate /force) — de oplossing moet dan op GPO-niveau worden toegepast.
  • Als alternatief lost het verwijderen van de gebruiker uit de groep met privileges (en vervolgens afmelden en weer aanmelden) het probleem ook op.

Verificatie

Na de update bevat het nieuwe update.log After checking IsUnpromptedElevation, useService=true en toont het update.status applied-service.

BITS-overdrachten controleren (Background Intelligent Transfer Service)

Firefox gebruikt BITS om updates op de achtergrond te downloaden.

Voer de volgende PowerShell-opdracht uit:

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
        }
    }
}

-> Wat te controleren

  • JobState toont de huidige overdrachtsstatus (overdragen, onderbroken, voltooid of fout).
  • ProgressPercent geeft de downloadvoortgang aan.
  • RemoteURL toont de URL die door Firefox wordt gebruikt om de update op te halen.

-> Als de download is geblokkeerd

Als de voortgang niet vordert of de taak mislukt, controleer dan of de URL die wordt getoond in RemoteURL niet wordt geblokkeerd door uw netwerk, firewall of proxy.

Kopieer en plak ter bevestiging de URL in een browser en controleer of de download succesvol start.

Firefox-gerelateerde bestanden in C:\ProgramData weergeven

Firefox-updatebestanden worden gedownload en opgeslagen op de volgende locatie.

Voer de volgende PowerShell-opdracht uit:

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} 
}

Dit helpt te controleren of updatebestanden zijn gedownload en om onvolledige of vastgelopen bestanden te identificeren.

Gerelateerde artikelen

Deze aardige mensen hebben geholpen bij het schrijven van dit artikel:

Illustration of hands

Vrijwilliger worden

Laat uw expertise groeien en deel deze met anderen. Beantwoord vragen en verbeter onze kennisbank.

Meer info