darkscabs
Goto Top

Datei in Firefox Profilordner kopieren

Hallo Zusammen,

ich möchte eine Java Datei im Firefox in den Profilordner kopieren. Da wir knapp 600 Rechner haben, suche ich nach einem Weg diese Prozedur zu automatisieren. Wenn ich den Pfad %appdata%\Roaming\Mozilla\Firefox\Profiles\"Zufallszahl.default" nehme habe ich das Problem, dass der Profilordner immer "Zufallszahl.default" heißt. Wenn man außderdem den Firefox schon mal bereinigt hat steht hinter "Zufallszahl.default" noch eine andere Zahl.

Wie kann ich den Profilordner angeben, so dass es bei jedem Benutzer passt und die Java Datei dort eingefügt wird. Gibt es vielleicht eine Variable für den Profilordner?

Schon mal ein Danke im Voraus.

Gruß
DarkScabs

Content-Key: 342008

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

Printed on: April 16, 2024 at 21:04 o'clock

Member: sabines
sabines Jun 29, 2017 at 12:28:50 (UTC)
Goto Top
Moin,

was spricht denn dagegen die Datei einfach in alle vorhandenen Profilordner unterhalb von Profiles zu kopieren?

Gruss
Mitglied: 133417
Solution 133417 Jun 29, 2017 updated at 15:45:51 (UTC)
Goto Top
Das Default-Profile steht in der profiles.ini unter %APPDATA%\Mozilla\Firefox.

Powershell zum "korrekten" Auslesen des aktuellen Default-Profils aus der ini.
function Get-IniContent([string]$ini){
    $dic = @{}
    [regex]::matches((gc $ini | out-string),'(?ism)^\[(?<Sectionheader>[^\]]+)\]\s*(?<Sectionbody>.*?)(?=(^\[|\Z))') | select -Expand Captures | %{  
        $props = @{}
        $_.Groups['Sectionbody'].Value -split '[\r\n]+' | ?{$_ -match '='} | %{  
            $line = $_.split('=')  
            $props.($line.trim()) = $line[1].trim().trim('"')  
        }
        $dic.($_.Groups['Sectionheader'].Value) = $props  
    }
    return $dic
}

$profilepath = (Get-IniContent "$env:APPDATA\Mozilla\Firefox\profiles.ini").GetEnumerator() | ?{$_.Value.Default -eq 1} | %{"$env:APPDATA\Mozilla\Firefox\$($_.Value.Path.replace('/','\'))"}  
$profilepath
# Datei kopieren
copy-item "\\Server\Freigabe\datei.jar" -Destination $profilepath -Force  
Gruß
Member: DarkScabs
DarkScabs Jun 29, 2017 at 12:33:18 (UTC)
Goto Top
Hi,

da spricht nix dagegen. Hast du eventuell einen Script dafür?

Gruß
Member: BassFishFox
BassFishFox Jun 29, 2017 at 14:11:27 (UTC)
Goto Top
Halloele,

Das hast Du doch schon erhalten durch @133417 seinen Script!

BFF
Member: DarkScabs
DarkScabs Jun 29, 2017 updated at 14:28:51 (UTC)
Goto Top
Hi,

@133417 danke für den Script. Es funktioniert. Weißt du zufällig ab welcher Powershell Version der Script funktioniert? Weil ich nämlich einen Windows 10 Rechner habe da ist version 5.1 drauf da funktioniert es auch und ich habe einen Windows 7 Rechner der Version 2.0 hat, bei dem funktioniert es nicht.

Fehlermeldungen:

Der Typ [ordered] kann nicht gefunden werden: Stellen Sie sicher, dass die Assembly, die diesen Typ enthält, geladen wird.

Get-Content : Es wurde kein Parameter gefunden, der dem Parameternamen "raw" entspricht.

Sie können keine Methode für einen Ausdruck mit dem Wert NULL aufrufen.

Die Benennung "stop" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.

Grüße
Mitglied: 133417
Solution 133417 Jun 29, 2017 updated at 14:31:38 (UTC)
Goto Top
Habs dir oben so umgeschrieben das es auch in PS 2.0 läuft.
Member: DarkScabs
DarkScabs Jun 29, 2017 at 15:00:21 (UTC)
Goto Top
Hi,

vielen Dank. Es kommt aber immer noch ein Fehler:

In einem Null-Array kann kein Index erstellt werden.

Ich mach für heute Feierabend und schaue mir morgen das Problem an.

Grüße
Mitglied: 133417
Solution 133417 Jun 29, 2017 at 15:44:32 (UTC)
Goto Top
Tippfehler, ist korrigiert.
Member: DarkScabs
DarkScabs Jul 13, 2017 at 12:11:01 (UTC)
Goto Top
Hi,

vielen Dank es hat funktioniert.

Grüße