Servergespeichertes Active Directory Profil – Mozilla Firefox Profil bearbeiten
Vor kurzem Stand ich vor der Aufgabe mehrere Mozilla Firefox Profile von Usern mit servergespeicherten Profile in unterschiedlichen Active Directory Gruppen anzupassen.
Mit der Lösung das an den Arbeitsplätzen direkt zu tun war ich von vornherein nicht einverstanden und neue Gruppenrichtlinien kann man in größeren Unternehmensstrukturen nicht mal eben so einführen
Die Einstellungen können im Firefox händisch abgeändert werden. Hierzu gibt man „about:config“ in die Adresszeile ein.
Ich habe mir nun entsprechend eine Batch-Datei gebastelt mit der ich vordefinierte Werte hinzufügen bzw. neu in die „Prefs.js“ suchen und schreiben kann.
Das kleine Hindernis war lediglich mit einem UNC-Pfad (Fehlermeldung: CMD unterstützt keine UNC-Pfade als aktuelles Verzeichnis) umgehen zu können, sodass die Batch auch auf den xxxxx.default Ordner in dem die „Prefs.js“ liegt zugreifen kann.
Mein Netzwerkpfad des servergespeicherten Profils ist wie folgt aufgebaut:
\\LERNTT200\Profile\Username.CTX.V2\AppData\Roaming\Mozilla\Firefox\Profiles
Unter diesem Pfad liegen die servergespeicherten Active Directory Benutzerprofile der Anwender unter denen auch die FireFox-Einstellungen abgelegt sind.
1. Im ersten Schritt besteht die Möglichkeit den Benutzernamen des Anwenders einzugeben, damit dieser über eine Variable in dem Netzwerkpfad übergeben wird und direkt prüft ob der Pfad auch vorhanden ist.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | @echo off color 9f chcp 1252 cls :WahlJ Echo. Echo ======================================================== Echo Bitte stellen Sie sicher, dass der Anwender vollstaendig Echo von dem System abgemeldet ist. Echo ======================================================== Echo. Echo. Echo ======================================================== Echo Bitte geben Sie die AD-Benutzerkennung des Anwenders ein. Echo ======================================================== Echo. if "%1"=="" goto eingabe set ADUser=%1 :eingabe set /p ADUser=AD-Benutzerkennung eingeben: if exist "\\LERNTT200\Profile\%ADUser%.CTX.V2\AppData\Roaming\Mozilla\Firefox\Profiles" ( goto ausgabe ) goto keinordner |
2. Ist der Pfad vorhanden wird dieser übergeben. Nun wird mit einer for Angabe nach dem ordner „xxxxx.default“ gesucht. Das xxxxx steht dafür für eine von Firefox vordefinierte Kombination aus Buchstaben und Zahlen.
Der gesamte Pfad wird zum Schluß als %ffile% deklariert.
1 2 3 4 5 6 7 8 9 10 | :ausgabe cls Echo. Echo ======================================================== Echo FireFox wird vorbereitet. Echo ======================================================== Echo. set fdir="\\LERNTT200\Profile\%ADUser%.CTX.V2\AppData\Roaming\Mozilla\Firefox\Profiles" for /d %%d in ("%fdir%\*") do set ffile=%%d |
3. Damit nun keine Einstellungen doppelt in das Profil gespeichert werden, wird die Datei „Prefs.js“ nach den Einstellungsangaben die später geändert werden sollen durchsucht. In meinem Fall beläuft sich die Suche auf „gfx.direct2d.disabled, gfx.direct2d.force-enabled, gfx.use_text_smoothing_setting und gfx.downloadable_fonts.enabled“. Zeilen die diese Angaben beinhalten werden vollständig gelöscht.
1 2 3 4 5 6 7 8 9 10 11 12 | cls Echo. Echo ======================================================== Echo Bearbeitung des Profils für %ADUser% laeuft. Echo ======================================================== Echo. for /f "delims=" %%i in ('dir /s /b "%ffile%\prefs.js"') do (move "%%i" "%%i.bak" & findstr /v /i "gfx.direct2d.disabled" "%%i.bak">"%%i" & del "%%i.bak") 2>NUL >NUL for /f "delims=" %%i in ('dir /s /b "%ffile%\prefs.js"') do (move "%%i" "%%i.bak" & findstr /v /i "gfx.direct2d.force-enabled" "%%i.bak">"%%i" & del "%%i.bak") 2>NUL >NUL for /f "delims=" %%i in ('dir /s /b "%ffile%\prefs.js"') do (move "%%i" "%%i.bak" & findstr /v /i "gfx.use_text_smoothing_setting" "%%i.bak">"%%i" & del "%%i.bak") 2>NUL >NUL for /f "delims=" %%i in ('dir /s /b "%ffile%\prefs.js"') do (move "%%i" "%%i.bak" & findstr /v /i "gfx.content.azure.enabled" "%%i.bak">"%%i" & del "%%i.bak") 2>NUL >NUL for /f "delims=" %%i in ('dir /s /b "%ffile%\prefs.js"') do (move "%%i" "%%i.bak" & findstr /v /i "gfx.downloadable_fonts.enabled" "%%i.bak">"%%i" & del "%%i.bak") 2>NUL >NUL |
4. Nun werden die gewünschten Einstellungsangaben in die Profildatei geschrieben.
1 2 3 4 5 6 7 | echo user_pref("gfx.direct2d.disabled", true); >>%ffile%\prefs.js echo user_pref("gfx.direct2d.force-enabled", true); >>%ffile%\prefs.js echo user_pref("gfx.use_text_smoothing_setting", true); >>%ffile%\prefs.js echo user_pref("gfx.content.azure.enabled", true); >>%ffile%\prefs.js echo user_pref("gfx.downloadable_fonts.enabled", false); >>%ffile%\prefs.js set ffile= cd %windir% |
5. Nun erfolgt noch eine Abfrage ob erneut ein Profil bearbeitet oder die Batch Datei geschlossen werden soll.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | cls Echo. Echo ======================================================== Echo FireFox wurde konfiguriert. Echo. Echo Benutzer bearbeitet: %ADUser% Echo. Echo ======================================================== Echo. ECHO Moechten Sie einen weiteren Benutzer konfigurieren? SET /P X=(J)a oder (N)ein?: IF /I "%X%"=="J" goto :WahlJ IF /I "%X%"=="N" goto :WahlN |
6. Wichtig zum Ende hin ist nun der Part, wenn der Pfad nicht gefunden werden konnte. Hier wird dann ein kurzer Hinweis ausgegeben.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | :keinordner cls Echo. Echo ============================================================================== Echo Profilordner von %ADUser% wurde nicht gefunden. Echo Es wurde versucht den folgenden Ordner zu finden: Echo. Echo \\LERNTT200\Profile\%ADUser%.CTX.V2\AppData\Roaming\Mozilla\Firefox\Profiles Echo ============================================================================== Echo. ECHO Moechten Sie es erneut versuchen? SET /P X=(J)a oder (N)ein?: IF /I "%X%"=="J" goto :WahlJ IF /I "%X%"=="N" goto :WahlN :WahlN |
7. Die Datei wird nun als xxx.bat Datei abgespeichert.
Ich wünsche viel Spaß und biete als Download noch ein Demoprojekt an.
Download: Demoprojekt