Jak skonfigurować Firefox za pomocą skryptu?

8

Chcę skonfigurować następujące ustawienia Firefoksa za pomocą skryptu (VBS lub pakiet)

  • domyślna strona główna
  • domyślna wyszukiwarka
  • wyłącz automatyczną aktualizację

czy to możliwe?

asp316
źródło

Odpowiedzi:

9

Możesz to zrobić, tworząc lub modyfikując pliki preferencji Mozilli za pomocą preferowanego języka skryptowego.

Aby zobaczyć listę preferencji, które można ustawić za pomocą tych plików, zobacz Preferencje Mozilli i dokumentację : config , chociaż te, które odpowiadają twojej liście, wydają się: -

  • browser.startup.homepage (domyślna strona główna)
  • browser.search.defaultenginename (domyślna wyszukiwarka)
  • app.update.auto (włącz / wyłącz automatyczną aktualizację)

Jednak, w zależności od środowiska, może być lepsze wypchnięcie ustawień przez niestandardowy dodatek (patrz komentarze XPI w Krótkim przewodniku po preferencjach Mozilli ) lub przez GPO z FirefoxADM lub podobnym.

Kanji
źródło
Czy FirefoxADM pozwoli ci wybrać domyślną wyszukiwarkę?
asp316,
Kliknij link, aby się dowiedzieć!
surfasb
Nie korzystałem z FADM, ale przeglądanie źródła nie wygląda tak. Jednak prawdopodobnie możesz to zmodyfikować i wnieść swoje zmiany z powrotem do projektu.
Kanji
Dzisiaj, dwa lata później, ustawienie browser.search.defaultenginenamenie działa. Przydałaby się aktualizacja tej odpowiedzi.
Hermann
2

Możesz zastąpić opcje przeglądarki prywatnej w pliku user.js w folderze profili użytkowników. Często go używam, aby zastąpić niektóre opcje, na przykład potokowanie. Firefox musi zostać zrestartowany po aktualizacji user.js. Jeśli plik user.js nie istnieje, musisz go utworzyć.

Gigamegs
źródło
0

aby dosłownie skopiować / wkleić część odpowiedzi, której szukałem (środowisko en)

'C:\Users\User\AppData\Roaming\Mozilla\Firefox\Profiles\#####.default\prefs.js'

Dodaj

user_pref("browser.startup.homepage", "http://www.URL");

moje próby kopiowania na zdalne komputery za pomocą ścieżki Get-Content / cat string.txt / „String” >> zakończyły się wstawieniem śmieci do prefs.jspliku z powodu znaków specjalnych w łańcuchu.

jogjib
źródło
0
cd /D "%APPDATA%\Mozilla\Firefox\Profiles\*.default"

set ffile=%cd%

echo user_pref("browser.startup.homepage", "http://superuser.com");>>"%ffile%\prefs.js"
echo user_pref("browser.search.defaultenginename", "Google");>>"%ffile%\prefs.js"
echo user_pref("app.update.auto", false);>>"%ffile%\prefs.js"
set ffile=

cd %windir%
Hyodo
źródło
1
Witamy w Super User. Twoja odpowiedź będzie lepsza, jeśli trochę wyjaśnisz kod. Naprawiłem dla ciebie formatowanie (i mam nadzieję, że nie złamałem kodu). Mam wątpliwości: wydaje mi się, że Twój kod dodaje wiersze zamiast zastępowania już istniejących. Czy mam rację? Nawet jeśli liczy się tylko ostatnie pojawienie się konkretnej opcji (a zatem Twoje zmiany są skuteczne), plik będzie niepotrzebnie powiększał się przy każdej rekonfiguracji, gromadząc coraz więcej wystąpień tych opcji, chyba że sam Firefox nadpisze plik w inny sposób droga. Czy Twoje rozwiązanie zostało przetestowane pod kątem tego scenariusza?
Kamil Maciorowski
0

Wątek jest trochę stary, ale i tak chcę udostępnić moje rozwiązanie. Mam nadzieję, że to komuś pomoże. Mieliśmy podobny problem i chcieliśmy dodać certyfikaty ze sklepu Windows do Firefoksa. Więc stworzyłem skrypt, aby to zrobić. W każdym razie możesz to zmienić do swoich potrzeb: po prostu dodaj lub usuń wiersze z :: create cfg_file_name.cfg [...] i wstaw to, czego potrzebujesz, np. Do strony startowej i tak dalej. Pamiętaj, aby ustawić ^ przed ostatnim), w przeciwnym razie to nie zadziała! echo pref("browser.startup.homepage", "http://superuser.com"^);

Od wersji 49 możesz to zrobić w następujący sposób:

@echo off
setlocal enabledelayedexpansion
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: MAIN INFORMATION
:: Title: Change about:config entries in Mozilla Firefox
:: Author: I-GaLaXy-I
:: Version: 1.1
:: Last Modified: 10.01.2018
:: Last Modified by: I-GaLaXy-I
::------------------------------------------------------------------------------
:: This script will add two files, which will change about:config parameters of
:: Mozilla Firefox. You can change the name of these two files and remove or add
:: parameters according to your needs. Renaming the files could be essential, if
:: a user creates own files and you don't want to overwrite them.
:: 
:: If the two files already exist and the script is run, the complete content
:: of both files will be overwritten!
::
:: Note: You may have to run it with administrative privileges!
::
:: More information: https://developer.mozilla.org/en-US/Firefox/Enterprise_deployment
:: http://kb.mozillazine.org/Locking_preferences
::------------------------------------------------------------------------------
:: Subtitle: Import CAs from Windows certificate store
:: More information: https://serverfault.com/questions/722563/how-to-make-firefox-trust-system-ca-certificates
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: Set the name of the .cfg file
set cfg_file_name=add_win_certstore_cas

:: Set the name of the .js file
set js_file_name=add_win_certstore_cas

:: Registry keys to check for the installation path of Mozilla Firefox
set regkey1="HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\App Paths\firefox.exe" /v "Path"
set regkey2="HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\shell\open\command" /ve

:: Get installation path of Mozilla Firefox (if not found exit script):
reg query %regkey1%
if %errorlevel%==0 (
    :: First key found, getting path
    for /f "tokens=2* delims=    " %%a in ('reg query %regkey1%') do set path_firefox=%%b
) else (
    :: If first key not found, try another one:
    reg query %regkey2%
    if !errorlevel!==0 (
        for /f "tokens=2* delims=    " %%a in ('reg query %regkey2%') do set path_firefox=%%b
        set path_firefox=!path_firefox:\firefox.exe=!
        for /f "useback tokens=*" %%a in ('!path_firefox!') do set path_firefox=%%~a
) else (
    :: No key found, exit script
    exit
))

:: Create cfg_file_name.cfg if it doesn't exist and input the following lines.
:: Caution! If cfg_file_name.cfg already exists, all lines will be overwritten!
:: Add more lines as needed with the following syntax: 
::echo pref("<name_of_config_entry>", <value>^);
(
    echo //Firefox Settings rolled out via KACE from Systec
    echo //Do not manually edit this file because it will be overwritten!
    echo //Import CAs that have been added to the Windows certificate store by an user or administrator.
    echo pref("security.enterprise_roots.enabled", true^);
) > "%path_firefox%\%cfg_file_name%.cfg"

:: Create js_file_name.js if it doesn't exist and input the following lines.
:: Caution! If js_file_name.js already exists, all lines will be overwritten!
(
    echo /* Firefox Settings rolled out via KACE from Systec
    echo Do not manually edit this file because it will be overwritten! */
    echo pref("general.config.obscure_value", 0^);
    echo pref("general.config.filename", "%cfg_file_name%.cfg"^);
) > "%path_firefox%\defaults\pref\%js_file_name%.js"

:: Files created, exit
exit
I-GaLaXy-I
źródło