ฉันจะกำหนดค่า Firefox ผ่านสคริปต์ได้อย่างไร


8

ฉันต้องการกำหนดค่าการตั้งค่า Firefox ต่อไปนี้ผ่านสคริปต์ (VBS หรือแบทช์)

  • หน้าแรกเริ่มต้น
  • เครื่องมือค้นหาเริ่มต้น
  • ปิดใช้งานการอัปเดตอัตโนมัติ

เป็นไปได้ไหม

คำตอบ:


9

คุณสามารถทำได้โดยการสร้างหรือจัดการไฟล์การตั้งค่า Mozillaด้วยภาษาสคริปต์ที่คุณต้องการ

สำหรับรายการการกำหนดค่าตามความชอบที่สามารถตั้งค่าผ่านไฟล์เหล่านี้ได้โปรดดูเอกสารประกอบMozilla Preferencesและabout: configแม้ว่าตัวเลือกที่สอดคล้องกับรายการของคุณจะเป็น: -

  • browser.startup.homepage (หน้าแรกเริ่มต้น)
  • browser.search.defaultenginename (เครื่องมือค้นหาเริ่มต้น)
  • app.update.auto (เปิด / ปิดการอัปเดตอัตโนมัติ)

อย่างไรก็ตามขึ้นอยู่กับสภาพแวดล้อมของคุณคุณอาจพบว่าดีกว่าที่จะผลักดันการตั้งค่าผ่านทางแอดออนที่กำหนดเอง (ดูความคิดเห็น XPI ในคำแนะนำสั้น ๆ เพื่อการตั้งค่า Mozilla ) หรือผ่าน GPO กับFirefoxADMหรือคล้ายกัน


FirefoxADM จะอนุญาตให้คุณเลือกเครื่องมือค้นหาเริ่มต้นหรือไม่
asp316

คลิกที่ลิงค์เพื่อหา!
surfasb

ฉันไม่ได้ใช้ FADM แต่ดูแหล่งที่มามันไม่ปรากฏขึ้น อย่างไรก็ตามคุณอาจปรับเปลี่ยนให้ทำและสนับสนุนการเปลี่ยนแปลงของคุณกลับไปที่โครงการ
Kanji

วันนี้สองปีต่อมาการตั้งค่าbrowser.search.defaultenginenameไม่มีผล การปรับปรุงคำตอบนี้จะดี
แฮร์มันน์

2

คุณสามารถแทนที่ตัวเลือกเบราว์เซอร์ส่วนตัวในไฟล์ user.js ในโฟลเดอร์โปรไฟล์ผู้ใช้ ฉันใช้มันบ่อยครั้งเพื่อแทนที่ตัวเลือกบางอย่างเช่นการวางท่อ Firefox จะต้องเริ่มต้นใหม่หลังจากที่คุณอัปเดต user.js หากไฟล์ user.js ไม่มีอยู่คุณต้องสร้างขึ้นใหม่


0

เพื่อคัดลอก / วางส่วนของคำตอบที่ฉันกำลังมองหา (win env.)

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

เพิ่ม

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

ความพยายามของฉันในการคัดลอกไปยังเครื่องระยะไกลด้วยเส้นทาง Get-Content / cat string.txt / "String" >> ซึ่งจบลงด้วยการทิ้งขยะลงในprefs.jsไฟล์เนื่องจากอักขระ escape ในสตริง


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%

1
ยินดีต้อนรับสู่ Super User คำตอบของคุณจะดีขึ้นถ้าคุณอธิบายรหัสเล็กน้อย ฉันแก้ไขการจัดรูปแบบสำหรับคุณ (และฉันหวังว่าฉันจะไม่ผิดรหัส) ฉันมีข้อสงสัย: ฉันเดาว่ารหัสของคุณเพิ่มบรรทัดแทนที่จะเขียนทับบรรทัดที่มีอยู่แล้ว ฉันถูกไหม? แม้ว่าจะเป็นเพียงการปรากฏตัวครั้งสุดท้ายของตัวเลือกเฉพาะที่นับ (และดังนั้นการเปลี่ยนแปลงของคุณจะมีผลบังคับใช้) ไฟล์จะเติบโตโดยไม่จำเป็นทุกครั้งที่มีการกำหนดค่าใหม่รวมตัวเลือกเหล่านี้มากขึ้นเว้นแต่ Firefox เอง ทาง โซลูชันของคุณทดสอบกับสถานการณ์นี้หรือไม่
Kamil Maciorowski

0

เธรดนั้นค่อนข้างเก่า แต่ฉันต้องการแบ่งปันวิธีการแก้ปัญหาของฉันต่อไป หวังว่านี่จะช่วยใครซักคน เรามีปัญหาที่คล้ายกันและต้องการเพิ่มใบรับรองจากร้านค้า windows ลงใน firefox ดังนั้นฉันจึงสร้างสคริปต์ขึ้นมา อย่างไรก็ตามคุณสามารถเปลี่ยนได้ตามความต้องการของคุณ: เพียงเพิ่มหรือลบบรรทัดที่ :: create cfg_file_name.cfg [... ] และใส่สิ่งที่คุณต้องการเช่นสำหรับหน้าแรกเริ่มเป็นต้น อย่าลืมตั้งค่า ^ ก่อนหน้าสุดท้าย) มิฉะนั้นจะไม่ทำงาน! echo pref("browser.startup.homepage", "http://superuser.com"^);

ตั้งแต่รุ่น 49 คุณสามารถทำเช่นนั้นได้:

@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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.