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-Key: 94821

Url: https://administrator.de/contentid/94821

Printed on: April 19, 2024 at 13:04 o'clock

Member: bastla
bastla Aug 19, 2008 at 18:13:48 (UTC)
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
Member: Cardinal
Cardinal Aug 19, 2008 at 18:31:40 (UTC)
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  
Member: bastla
bastla Aug 19, 2008 at 18:37:55 (UTC)
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
Member: Cardinal
Cardinal Aug 19, 2008 at 18:41:41 (UTC)
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.
Member: bastla
bastla Aug 19, 2008 at 18:50:43 (UTC)
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?
Member: Cardinal
Cardinal Aug 19, 2008 at 18:54:26 (UTC)
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!
Member: bastla
bastla Aug 19, 2008 at 18:59:45 (UTC)
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
Mitglied: 61801
61801 Aug 19, 2008 at 19:32:21 (UTC)
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
Member: Cardinal
Cardinal Aug 20, 2008 at 08:51:17 (UTC)
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ß
Member: bastla
bastla Aug 20, 2008 at 08:59:01 (UTC)
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
Mitglied: 61801
61801 Aug 20, 2008 at 09:20:43 (UTC)
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.
Mitglied: 61801
61801 Aug 22, 2008 at 07:24:48 (UTC)
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
Member: SBKSBK
SBKSBK Nov 20, 2008 at 15:39:10 (UTC)
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
Member: bastla
bastla Nov 20, 2008 at 16:13:50 (UTC)
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 ...
Member: SBKSBK
SBKSBK Nov 20, 2008 at 16:21:58 (UTC)
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
Member: bastla
bastla Nov 20, 2008 at 16:27:53 (UTC)
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
Member: N1ckNam3
N1ckNam3 Mar 19, 2009 at 08:34:14 (UTC)
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