cardinal
Goto Top

Firefox per Gruppenrichtlinie administrieren

Hallo zusammen,
ich möchte eine ganz konkrete Einstellung für alle Firefox user per Gruppenrichtlinie festlegen.

Hintergrund ist, dass bei uns primär Firefox zum Einsatz kommt, und wir ausserdem eine interne Wiki mit file:/// Dateiverweisen in das interne Netzwerk haben.

Soweit ich das bisher feststellen kann, ist die einzige native Lösung im Forefox lokale Hyperlinks zu öffnen, das Erstellen einer user.js bzw prefs.js im Profilpfad des Firefox Benutzers mit folgendem Inhalt:

user_pref("capability.policy.policynames", "localfilelinks");  
user_pref("capability.policy.localfilelinks.sites", "http://www.example.com");  
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");  

Die Möglichkeit den Wert "CheckLoadURI" per Registry zu beeinflussen wurde leider seit Version 1.5 entfernt.

Ich habe dieses Verfahren schon erfolgreich getestet, nun möchte ich, dass jeder Client automatisch die korrekten Einstellungen erhält.

Die modifizierte Firefox Version von FrontMotion würde ich ungerne nutzen, da unsere Clients in verschiedenen Sprachen arbeiten, und ich deshalb das Programm nicht per Softwareverteilung ausrollen möchte.

Ein Script welches beim Login die user.js automatisch aus dem Netzwerk in den Profilpfad kopiert erscheint leider wegen der verschiedenen Ordnernamen je user nicht machbar.

Generell frage ich mich, warum ein aufstrebendes Programm wie Firefox keine adm Templates mitliefert.

Ich wäre für jede Idee dankbar mein Ziel zu erreichen.

Alle Clients arbeiten mit Windows XP SP3 und Firefox 3.0.1

Content-ID: 94821

Url: https://administrator.de/forum/firefox-per-gruppenrichtlinie-administrieren-94821.html

Ausgedruckt am: 23.12.2024 um 03:12 Uhr

bastla
bastla 19.08.2008 um 20:13:48 Uhr
Goto Top
Hallo Cardinal!

Ein Script welches beim Login die user.js automatisch aus dem Netzwerk in den Profilpfad kopiert erscheint leider wegen der verschiedenen Ordnernamen je user nicht machbar.
Da hast Du natürlich recht - "Script" würde ich das auch nicht nennen face-wink:
@for /f "delims=" %%i in ('dir "%userprofile%\user.js" /s /b') do @copy "\\Server\Share\user.js" "%%i">nul  
Mit dieser Zeile in einem Login-Script sollten alle unterhalb von %userprofile% liegenden "user.js" durch die Version in "\\Server\Share" ersetzt werden.

Grüße
bastla
Cardinal
Cardinal 19.08.2008 um 20:31:40 Uhr
Goto Top
Hi danke dir, ich habe mich wohl etwas unklar ausgedrückt.

Mit dem variablen Namen war nicht der Name des userpofiles von Windows gemeint.

Der Profilordner vom Firefox hat ebenfalls einen variablen Namen.

\Mozilla\Firefox\Profiles\<variabel>.default

Wobei mir gerade die Idee kommt die Datei einfach in alle Ordner unter \Mozilla\Firefox\Profiles\ mit dem namen *.default zu kopieren.
Da dürfte es ja immer nur einen geben.
Ist das unter Windows machbar?

Also würde sowas funktionieren?:
@for /f "delims=" %%i in ('dir "%userprofile%\Mozilla\Firefox\Profiles\*.default\user.js" /s /b') do @copy "\\Server\Share\user.js" "%%i">nul  
bastla
bastla 19.08.2008 um 20:37:55 Uhr
Goto Top
Hallo Cardinal!

Hi danke dir, ich habe mich wohl etwas unklar ausgedrückt.
Nein, hast Du nicht.
Der Profilordner vom Firefox hat ebenfalls einen variablen Namen.
Das weiß ich und habe ich berücksichtigt.
Wobei mir gerade die Idee kommt die Datei einfach in alle Ordner unter \Mozilla\Firefox\Profiles\ mit dem namen *.default zu kopieren.
Fast genau das macht die gepostete Zeile - es wird nach allen Vorkommen von "user.js" unterhalb des Profilordners des Benutzers gesucht und durch Kopieren jede gefundene "user.js" durch die die neue Version ersetzt.
Da dürfte es ja immer nur einen geben.
... und wenn nicht: siehe oben ...

Grüße
bastla
Cardinal
Cardinal 19.08.2008 um 20:41:41 Uhr
Goto Top
Achso!
Okay, da gibt es dann nur das Problem, dass die user.js defaultmäßig nicht existiert.

Zwar könnte ich die schon vorhandene prefs.js nehmen, aber dann würde ich benutzerdefinierte Einstellungen gegebenfalls überschreiben, was nicht passieren sollte.
bastla
bastla 19.08.2008 um 20:50:43 Uhr
Goto Top
Hallo Cardinal!

Da ja beide ("prefs.js" und "user.js") in den selben Ordner sollen, machen wir's eben so:
@for /f "delims=" %%i in ('dir "%userprofile%\Mozilla\Firefox\Profiles\prefs.js" /s /b') do @copy "\\Server\Share\user.js" "%%~dpi">nul  
Wenn Du das als Demo sehen willst, kannst Du an der Kommandozeile eingeben (oder vielleicht doch besser pasten face-wink):
@for /f "delims=" %i in ('dir "%userprofile%\Mozilla\Firefox\Profiles\prefs.js" /s /b') do @echo copy "\\Server\Share\user.js" "%~dpi"  
Grüße
bastla

P.S.: Sollte der Pfad nicht eigentlich "%userprofile%\Anwendungsdaten\Mozilla\Firefox\Profiles\..." heißen?
Cardinal
Cardinal 19.08.2008 um 20:54:26 Uhr
Goto Top
Richtig, da ich aber etwas unsicher war (benutze gerade vista) habe ich das einfach mal weggelassen ;) Das hätte ich dann schon wieder dazugenommen wenn ich mich morgen früh ransetze face-smile

Ja super, ich werds dann morgen gleich mal testen und vom Erfolg berichten.

Danke dir!
bastla
bastla 19.08.2008 um 20:59:45 Uhr
Goto Top
Hallo Cardinal!

Noch ein Nachtrag: Da ich zB eine weitere "prefs.js" unterhalb von "extensions" gefunden habe (und nicht weiß, ob eine dazukopierte "user.js" dort stören würde), könnten zumindest Pfade mit dem Bestandteil "extensions" so ausgefiltert werden:
@for /f "delims=" %%i in ('dir "%userprofile%\Anwendungsdaten\Mozilla\Firefox\prefs.js" /s /b^|findstr /v "extensions"') do @copy "\\Server\Share\user.js" "%%~dpi">nul  
Grüße
bastla
61801
61801 19.08.2008 um 21:32:21 Uhr
Goto Top
also ich hab ein Tool programmiert, welches nur die benötgten Einstellungen für jedes Firefox Profil ändert.

d.h. der User ist weiterhin in der Lage seinen Firefox zu personalisieren.
Das Tool rufe ich im Loginscript auf, und dann werden so sachen wie Startseite, Proxy-Dienste, Cache-Größe,... richtig gesetzt.

bei bedarf kann ich mal ein bisschen Source postn.

edit:
coded in VB.NET mit Framework >=2.0
Cardinal
Cardinal 20.08.2008 um 10:51:17 Uhr
Goto Top
Danke hat bestens funktioniert. Anfansg leichte Probleme.

So klappts:

@for /f "delims=" %%i in ('dir "%userprofile%\Mozilla\Firefox\Profiles\prefs.js" /s /b') do copy "\\Server\Share\user.js" "%%~dpi">nul  

bei dem @copy musste das @ weg ;)

@61801, ein Tool? interessant wäre es, wenn damit eine zentrale Adminverwaltung möglich wäre. Dann immer her mit dem Code face-wink

Gruß
bastla
bastla 20.08.2008 um 10:59:01 Uhr
Goto Top
@Cardinal
Freut mich, wenn's funktioniert ...
bei dem @copy musste das @ weg ;)
... kann ich allerdings nicht glauben ...

@61801
Dein Ansatz ist natürlich der hier angedachten "Brutal-Variante" vorzuziehen (und hört sich außerdem so an, als könnte daraus ein sehr interessantes Tutorial werden - wenn Du also einmal so richtig nix zu tun haben solltest ... face-wink)

Grüße
bastla
61801
61801 20.08.2008 um 11:20:43 Uhr
Goto Top
ok, also vorweg mal:
Mein Prog ist wirklich nur rudimentär aufgebaut.
Manche Profi-Programmierer mögen sagen es ist schlecht
Ich sage: Es funktioniert face-smile

Source muss ich erst raussuchen...

Derweil eine kleine Denkhilfe:
es werden alle user.js datein in allen Profilen "behandelt"
mein prog liest die datei ein
sucht nach gewissen Zeilen (die ich voher alle reinprogrammiert hab)
und sollte die einstellung geändert werden, so wird die Ist-Zeile mit meiner Soll-Zeile ausgetauscht.
Die ganze Datei wieder abgespeichert und fertig.


Derweil sind eben nur Proxy-Settings drinnen (und Cache)
Das Ganze Prog wir mit Befehlszeilen Parameter gestartet, welche die einstellungen in einer definierten Reihenfolge verlangt
=>Loginscript ruft dann ca. sowas auf:
HTL-proxy.exe proxy.***.local 8080 (usw.)

habs eben für meine Schule programmiert wo ich admin bin=>und Firefox auch bevorzugt wird.
61801
61801 22.08.2008 um 09:24:48 Uhr
Goto Top
so gut, habs mal hochgeladen.
am besten aber hier mitlesen, falls es noch änderungen gibt die wichtig sind.... (der Link zum Source ist ganz oben TU 305
http://foren.activevb.de/cgi-bin/foren/view.pl?forum=6&msg=70054&am ...

mfg
Kriechi
SBKSBK
SBKSBK 20.11.2008 um 16:39:10 Uhr
Goto Top
Ich habe aus dem obenstehenden Skript, eine Variante generiert bei der das Firefox-Profil des jeweiligen PC/Users mit einem Standardprofil mit Addon und Einstellungen kopiert wird.

Die Batch sieht wie folgt aus:
@echo off
@for /f "delims=" %%i in ('dir "%userprofile%\Anwendungsdaten\Mozilla\Firefox\Profiles\" /s /b') do @xcopy "\\sbkwin2003\ntd\netapp\Firefox\Firefox\Profiles\Profil" "%%i" /kreischy

Der Kopiervorgang funktioniert zwar korrekt, die Schleife fängt aber immer wieder von vorne an. Was ist da falsch?

Hat jemand einen Tipp?

Gruss SBK
bastla
bastla 20.11.2008 um 17:13:50 Uhr
Goto Top
Hallo SBKSBK und willkommen im Forum!
Hat jemand einen Tipp?
Sieh Dir einmal die Ausgabe von
dir "%userprofile%\Anwendungsdaten\Mozilla\Firefox\Profiles\" /s /b
an - dann wird klar sein, dass nicht "immer wieder von vorne" begonnen wird, sondern für die Schleife gilt: "works as designed" face-wink (wie Biber das gerne formuliert).

Abhilfe schaffen könnte ersatzweise:
dir "%userprofile%\Anwendungsdaten\Mozilla\Firefox\Profiles\*.default" /s /b /ad
Grüße
bastla

P.S.: Nach einem "echo off" benötigst Du die "@" nicht mehr zum Unterdrücken der Befehlsanzeige, und bei "xcopy" sind zumindest die Schalter "/s" und "/y" unnötig ...
SBKSBK
SBKSBK 20.11.2008 um 17:21:58 Uhr
Goto Top
Hallo bastla,

Ich könnt Dich knutschen face-smile

Mit Deinen Tips hat das einwandfrei funktioniert und ich habe sogar das Prinizip vom @ in der Befehlszeile verstanden. Hatte vorgängig in anderen Foren mehrere erfolglose versuche gestartet und hier innerhalb 30 Minuten die Lösung erhalten.

Muss wohl das Forum unbedingt zuoberst in die Favoritenliste platzieren...

Thanks a lot.

SBK
bastla
bastla 20.11.2008 um 17:27:53 Uhr
Goto Top
Hallo SBKSBK!
Muss wohl das Forum unbedingt zuoberst in die Favoritenliste platzieren...
Wie, das hattest Du noch nicht? face-wink

Freut mich, wenn's passt face-smile - sonst hätte ich noch die Variante "Flächendeckung" anbieten müssen (als Demo nur mit "echo"):
for /d %%i in ("%userprofile%\Anwendungsdaten\Mozilla\Firefox\Profiles\*.*") do echo "%%i"
Näheres siehe "for /?"

Grüße
bastla
N1ckNam3
N1ckNam3 19.03.2009 um 09:34:14 Uhr
Goto Top
Hallo!

Bin zwar a bissl spät dran, aber des könnte auch der Grund sein, warum ich an Deinen Artikel nich rankomme face-sad

Gibts evtl. ne Möglichkeit des nochmal irgendwo hochzuladen?

Viel Dank und MfG