Διαχείριση των ενημερώσεων του Firefox

Firefox Enterprise Firefox Enterprise Τελευταία ενημέρωση: 1 εβδομάδα πριν

Αυτό το άρθρο απευθύνεται σε διαχειριστές ΤΠ που επιθυμούν να ρυθμίσουν το Firefox στους υπολογιστές των οργανισμών τους.

Προτείνουμε να διατηρήσετε ενεργοποιημένες τις αυτόματες ενημερώσεις για όλα τα προϊόντα Firefox ώστε να βεβαιωθείτε ότι διαθέτετε τις πιο πρόσφατες διορθώσεις ασφαλείας και όλες τις λειτουργίες. Όμως, οι συνθήκες εργασίας του κάθε χρήστη ενδέχεται να μην επιτρέπουν τις αυτόματες ενημερώσεις.

Και οι ταχείες εκδόσεις και οι εκδόσεις εκτεταμένης υποστήριξης του Firefox μπορούν να χρησιμοποιηθούν σε εταιρικά περιβάλλοντα. Αν σας ανησυχούν οι συχνές και μεγάλες ενημερώσεις, προτείνουμε να δείτε το Επιλογή καναλιού ενημερώσεων για το Firefox για να μάθετε περισσότερα σχετικά με την έκδοση εκτεταμένης υποστήριξης του Firefox.

Συχνότητα μεγάλων ενημερώσεων Σκοπός μεγάλων ενημερώσεων Συχνότητα μικρών ενημερώσεων Σκοπός μικρών ενημερώσεων
ESR Κάθε χρόνο

Ημερολόγιο

Νέες λειτουργίες και διορθώσεις σφαλμάτων των τελευταίων 12 μηνών Κάθε 2 εβδομάδες ή όποτε είναι απαραίτητο Διόρθωση κρίσιμων σφαλμάτων ασφαλείας ή σταθερότητας
RR Κάθε 2 εβδομάδες

Ημερολόγιο

Νέες λειτουργίες και διορθώσεις σφαλμάτων των τελευταίων 2 εβδομάδων Όταν είναι απαραίτητο, μεταξύ των μεγάλων εκδόσεων Διόρθωση κρίσιμων σφαλμάτων ασφαλείας ή σταθερότητας


Απενεργοποίηση των ενημερώσεων του 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
}

Συγκρίνετε την εγκατεστημένη έκδοση με την πιο πρόσφατη έκδοση του Firefox ESR που διατίθεται στον ιστότοπο της Mozilla.

Έλεγχος της προγραμματισμένης διεργασίας

Το Firefox βασίζεται σε μια προγραμματισμένη διεργασία παρασκηνίου για τη λήψη και την εφαρμογή των ενημερώσεων.

Εκτελέστε την εξής εντολή μέσω του PowerShell:

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

-> Βεβαιωθείτε ότι:

  • Η διεργασία υπάρχει
  • Η διεργασία είναι ενεργοποιημένη
  • Η διεργασία εκτελείται επιτυχώς χωρίς σφάλματα

Έλεγχος της Υπηρεσίας συντήρησης της Mozilla

Στα Windows, η εγκατάσταση και η εκτέλεση των ενημερώσεων του Firefox ενδέχεται να απαιτούν την Υπηρεσία συντήρησης της Mozilla. Αυτή η υπηρεσία επιτρέπει στο Firefox να εφαρμόζει ενημερώσεις χωρίς να απαιτούνται δικαιώματα διαχειριστή.

Έλεγχος για το αν η υπηρεσία υπάρχει και την κατάστασή της

Εκτελέστε την εξής εντολή μέσω του PowerShell:

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

-> Αναμενόμενη συμπεριφορά:

  • Η υπηρεσία υπάρχει
  • Η κατάσταση είναι RunningStopped, με δυνατότητα εκκίνησης)
  • Η ιδιότητα StartType έχει οριστεί σε Automatic ή Manual
  • Εάν η υπηρεσία απουσιάζει, το Firefox ενδέχεται να μην εφαρμόζει αυτόματα τις ενημερώσεις.

Χειροκίνητη έναρξη της υπηρεσίας (εάν απαιτείται)

Εάν η υπηρεσία υπάρχει αλλά δεν εκτελείται, δοκιμάστε να την εκκινήσετε. Εκτελέστε την εξής εντολή μέσω του PowerShell:

Start-Service -Name MozillaMaintenance

Ελέγξτε ξανά αν η υπηρεσία εκκινεί χωρίς σφάλματα.

Επανεγκατάσταση της Υπηρεσίας συντήρησης της Mozilla

Εάν η υπηρεσία απουσιάζει ή δεν λειτουργεί σωστά, μπορείτε να την εγκαταστήσετε εκ νέου μέσω του προγράμματος εγκατάστασης του Firefox:

  1. Κάντε λήψη του προγράμματος εγκατάστασης του Firefox που αντιστοιχεί στον τύπο διανομής σας (ESR ή κανονική κυκλοφορία).
  2. Εκτελέστε το πρόγραμμα εγκατάστασης ως διαχειριστής.
  3. Βεβαιωθείτε ότι έχει ενεργοποιηθεί η επιλογή Εγκατάσταση Υπηρεσίας συντήρησης Mozilla.

Μετά την εγκατάσταση, ελέγξτε ξανά την κατάσταση της υπηρεσίας.

Προτροπή UAC που ζητά διαπιστευτήρια διαχειριστή κατά τις ενημερώσεις

Σε ορισμένους σταθμούς εργασίας, μια ενημέρωση ενεργοποιεί ένα μήνυμα προτροπής UAC με τίτλο Firefox Updater Software, το οποίο ζητά διαπιστευτήρια διαχειριστή, παρόλο που η Υπηρεσία συντήρησης της Mozilla είναι εγκατεστημένη και λειτουργεί σωστά. Οι απλοί χρήστες δεν μπορούν να ολοκληρώσουν την ενημέρωση και το μήνυμα επανεμφανίζεται σε κάθε εκκίνηση του Firefox.

Αιτία

Πριν από τη χρήση της Υπηρεσίας συντήρησης, το πρόγραμμα ενημέρωσης του Firefox ελέγχει τη διαμόρφωση UAC του σταθμού εργασίας (έλεγχος IsUnpromptedElevation στον πηγαίο κώδικα του προγράμματος ενημέρωσης). Εάν το UAC έχει διαμορφωθεί για «σιωπηλή» ανύψωση δικαιωμάτων, το Firefox υποθέτει ότι η ανύψωση θα πραγματοποιηθεί χωρίς κανένα μήνυμα προτροπής, όπως θα συνέβαινε για έναν διαχειριστή, και παρακάμπτει την Υπηρεσία συντήρησης. Ωστόσο, εάν ο συνδεδεμένος χρήστης δεν είναι στην πραγματικότητα διαχειριστής, η ανύψωση δεν είναι σιωπηλή και τα Windows εμφανίζουν το μήνυμα προτροπής UAC.

Αυτό συμβαίνει μόνο όταν πληρούνται και οι τρεις ακόλουθες προϋποθέσεις:

  1. Το HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdmin έχει οριστεί σε 0 (επιλογή ασφαλείας Έλεγχος λογαριασμού χρήστη: Συμπεριφορά της προτροπής ανύψωσης δικαιωμάτων για διαχειριστές σε λειτουργία έγκρισης διαχειριστή = Ανύψωση χωρίς προτροπή· η προεπιλογή των Windows είναι 5)
  2. Το HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\PromptOnSecureDesktop έχει οριστεί σε 0 (επιλογή ασφαλείας Έλεγχος λογαριασμού χρήστη: Μετάβαση στην ασφαλή επιφάνεια εργασίας κατά την εμφάνιση προτροπής για ανύψωση δικαιωμάτων = Απενεργοποιημένο· η προεπιλογή των Windows είναι 1)
  3. Ο συνδεδεμένος χρήστης έχει ένα φιλτραρισμένο διακριτικό UAC: είναι μέλος μιας προνομιούχας ομάδας (Διαχειριστές, Χειριστές αντιγράφων ασφαλείας, Έμπειροι χρήστες κ.λπ.), συμπεριλαμβανομένων των ομάδων που έχουν επισημανθεί ως μόνο-άρνηση, ή κάτοχος ευαίσθητων δικαιωμάτων (όπως SeBackupPrivilege ή SeDebugPrivilege) που έχουν εκχωρηθεί μέσω της Πολιτικής ομάδας. Σημειώστε ότι το φιλτράρισμα βάσει δικαιωμάτων δεν είναι ορατό στο whoami /groups.

Διάγνωση

Ελέγξτε το αρχείο καταγραφής του προγράμματος ενημέρωσης για την ακόλουθη υπογραφή: 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
...

Η γραμμή useService=false μετά τον έλεγχο IsUnpromptedElevation επιβεβαιώνει αυτήν την αιτία (το σφάλμα 9 σημαίνει ότι ο χρήστης ακύρωσε το μήνυμα προτροπής UAC). Σημείωση: μετά την πρώτη αποτυχία, τα επόμενα αρχεία καταγραφής εμφανίζουν useService=false από την πρώτη γραμμή, χωρίς τις γραμμές After checking... (υπολειμματική κατάσταση, δείτε την ενότητα Λύση).

Στη συνέχεια, ελέγξτε τις τιμές UAC και την κατάσταση της εκκρεμούς ενημέρωσης:

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"

Πιθανές τιμές του update.status:

Τιμή Σημασία
pending-service Έγινε λήψη της ενημέρωσης, θα χρησιμοποιηθεί η Υπηρεσία συντήρησης (κανονική λειτουργία)
pending Το Firefox εγκατέλειψε την προσπάθεια χρήσης της Υπηρεσίας συντήρησης για αυτήν την ενημέρωση (υπολειμματική κατάσταση μετά από αποτυχία)
applied-service Η ενημέρωση εφαρμόστηκε επιτυχώς μέσω της Υπηρεσίας συντήρησης

Λύση

  1. Κλείστε το Firefox.
  2. Εκτελέστε τις ακόλουθες εντολές σε ένα PowerShell με αυξημένα δικαιώματα:
    • Επαναφορά της προεπιλεγμένης συμπεριφοράς για το μήνυμα προτροπής ανύψωσης UAC για διαχειριστές
      reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 5 /f
    • Εκ νέου ενεργοποίηση της ασφαλούς επιφάνειας εργασίας για προτροπές ανύψωσης
      reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v PromptOnSecureDesktop /t REG_DWORD /d 1 /f
    • Εκκαθάριση της υπολειμματικής κατάστασης ενημέρωσης (διαφορετικά, το μήνυμα προτροπής θα εμφανιστεί για μια τελευταία φορά)
      Remove-Item "C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\*\*" -Recurse -Force
  3. Εκκινήστε το Firefox, μεταβείτε στη Βοήθεια > Σχετικά με το Firefox και περιμένετε να εμφανιστεί η επιλογή Επανεκκίνηση για ενημέρωση του Firefox.
  4. Επανεκκινήστε το Firefox: η ενημέρωση πρέπει να εφαρμοστεί χωρίς κανένα μήνυμα προτροπής UAC.

-> Σημειώσεις:

  • Η επαναφορά οποιασδήποτε από τις δύο τιμές UAC είναι αρκετή για να διορθώσει την εσφαλμένη συνθήκη· η επαναφορά και των δύο επαναφέρει τον σταθμό εργασίας στις προεπιλογές των Windows.
  • Εάν αυτές οι τιμές UAC επιβάλλονται από μια Πολιτική ομάδας τομέα, θα γίνει επαναφορά τους στην επόμενη ανανέωση της πολιτικής (ελέγξτε το με το gpupdate /force). Έπειτα, η διόρθωση πρέπει να εφαρμοστεί σε επίπεδο GPO.
  • Εναλλακτικά, η κατάργηση του χρήστη από την προνομιούχα ομάδα (και, στη συνέχεια, η αποσύνδεση και η επανασύνδεση) επιλύει επίσης το πρόβλημα.

Επαλήθευση

Μετά την ενημέρωση, θα πρέπει το νέο update.log να περιέχει το After checking IsUnpromptedElevation, useService=true και το update.status να εμφανίζει applied-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» εμφανίζει το URL που χρησιμοποιείται από το Firefox για την ανάκτηση της ενημέρωσης.

-> Εάν η λήψη έχει αποκλειστεί

Εάν η λήψη δεν προχωράει ή αν η εργασία αποτυγχάνει, βεβαιωθείτε ότι το URL που εμφανίζεται στην ιδιότητα «RemoteURL» δεν έχει αποκλειστεί από το δίκτυο, το τείχος προστασίας ή τον διακομιστή μεσολάβησής σας.

Για να το επαληθεύσετε, αντιγράψτε και επικολλήστε το URL σε ένα πρόγραμμα περιήγησης και ελέγξτε εάν η λήψη ξεκινά με επιτυχία.

Παράθεση των αρχείων που σχετίζονται με το Firefox στον φάκελο C:\ProgramData

Τα αρχεία ενημερώσεων του 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

Συμμετοχή

Μοιραστείτε την εμπειρία σας με άλλους χρήστες. Απαντήστε σε ερωτήσεις και βελτιώστε τη γνωσιακή βάση μας.

Μάθετε περισσότερα