1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. Mira_Belle

Beiträge von Mira_Belle

  • Wer mag testen? Firefox4backup

    • Mira_Belle
    • 4. Juli 2024 um 13:07

    .DeJaVu Lass es doch jetzt einfach mal gut sein! Die EXE habe ich zurückgezogen, das sollte doch jetzt genügen, oder?
    Wenn ich hier etwas "veröffentliche", dann nur noch Skripte! Zufrieden?
    Und wenn ich so etwas lese

    Zitat

    Du musst noch so viel lernen, du kannst nicht 20 Jahre von anderen in ein ps2exe stecken und Heldin sein.

    bekomme ich das große Kotzen!

    Wie überheblich und arrogant das doch ist!
    Dass ich noch vieles lernen muss, ist mir bekannt, und genau deshalb stellte ich das "Programm" hier ein.
    Ich bat ja um Hilfe!
    Ich habe auch gleich, nach Deinem "Gepoltere", direkt das zugrunde liegende Skript hier eingestellt.
    Und das Nörgeln hört dennoch nicht auf.
    Was das Logo angeht, das gab es nur in der EXE, im Skript wird es ja gar nicht genutzt!
    Zu 7-Zip, bei Firesave hatte es Dich auch nicht gestört, dass Dateien dieses Packers genutzt wurden.
    Ich meine sogar, dass Du selbst sogar empfolen hast die genutzen Dateien durch aktuellere zu ersetzen!

    Wie dem auch sei, sollte 7-Zip mit dem Skript aufgerufen werden, welches man dann ja installiert haben muss,
    ist auch in diesem Fall Dein Einwand für die Füß'.

  • Wer mag testen? Firefox4backup

    • Mira_Belle
    • 4. Juli 2024 um 11:00

    StandingBill Erst einmal ein <3liches Danke für Dein testen.

    Ja ich weiß, das mit dem 7-Zip ist schon irgendwie doof, aber (!) hat natürlich seine Gründe.
    1. Mit dem im System vorhandenem ZIP dauert das Packen ewig.
    2. Bekomme ich es nicht hin, so ein "schönes" Fenster mit Fortschrittsbalken zu generieren.

    Aber wenn Du es Dir mal anschauen möchtest, bitte schön:

    Code
    Add-Type -A System.Windows.Forms
    
    #region Grundeinstellungen
    
      $Reg   = "HKCU:\Software\FF_Backup"
      $Fonts = @(
        [Drawing.Font]::New("Microsoft Sans Serif",12)
        [Drawing.Font]::New("Microsoft Sans Serif",12,[Drawing.FontStyle]"Bold")
      )
      [Windows.Forms.Application]::EnableVisualStyles()
    #endregion
    
    # Funktion zur Anzeige des Hinweisfensters
    function Show-FirefoxRunningDialog {
        $Form = [Windows.Forms.Form]@{Text = "Hinweis"; AutoSize = $true; StartPosition = 'CenterScreen'; Size = "100,100"; Padding = '10,10,10,10'; KeyPreview = $true }
        $Table = [Windows.Forms.TableLayoutPanel]@{Dock = 'Fill'; AutoSize = $true }
        $Flow = [Windows.Forms.FlowLayoutPanel]@{Anchor = 'Top'; AutoSize = $true; AutoSizeMode = 'GrowAndShrink' }
    
        $Label = [Windows.Forms.Label]@{Font = $Fonts[0]; Margin = '10,10,10,10'; AutoSize = $true; Text = "Firefox wird noch ausgeführt.
    
    Soll Firefox beendet werden?" }
    
        $OKButton = [Windows.Forms.Button]@{Size = "120,40"; Text = "OK"; Font = $Fonts[1]; Margin = '10,10,10,10' }
        $OKButton.Add_Click({
            $Form.DialogResult = [System.Windows.Forms.DialogResult]::OK
            $Form.Close()
        })
    
        $CancelButton = [Windows.Forms.Button]@{Size = "120,40"; Text = "Abbrechen"; Font = $Fonts[1]; Margin = '10,10,10,10' }
        $CancelButton.Add_Click({
            $Form.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
            $Form.Close()
        })
    
        $Flow.Controls.Add($OKButton)
        $Flow.Controls.Add($CancelButton)
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize'))
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10))
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190))
        $Table.Controls.Add($Label, 0, 0)
        $Table.Controls.Add($Flow, 0, 1)
        $Table.SetColumnSpan($Flow, 3)
    
        $Form.Controls.Add($Table)
        return $Form.ShowDialog()
    }
    
    # Überprüfen, ob Firefox noch läuft und entsprechend handeln
    if (Get-Process "Firefox" -ErrorAction SilentlyContinue) {
        $result = Show-FirefoxRunningDialog
        if ($result -eq [System.Windows.Forms.DialogResult]::OK) {
            Get-Process "Firefox" | Stop-Process
        } else {
            exit
        }
    }
    
    #region Fensterelemente
      $Form  = [Windows.Forms.Form]@{Text="Firefox4backup"; AutoSize=$true; StartPosition='CenterScreen'; Size="100,100"; Padding='10,10,10,10'; KeyPreview=$true}
      $Table = [Windows.Forms.TableLayoutPanel]@{Dock='Fill'; AutoSize=$true}
      $Flow  = [Windows.Forms.FlowLayoutPanel]@{Anchor='Top'; AutoSize=$true; AutoSizeMode='GrowAndShrink'}
     
      $Open  = [Windows.Forms.Button]@{Size="100,40"; Text="Speicherort"; Font=$Fonts[0]; Anchor='Left'}
     
      $Textbox  = @(
        [Windows.Forms.TextBox]@{Font=$Fonts[0]; Margin='10,10,0,10'; Size="150,30"; Dock='Fill'}
        [Windows.Forms.TextBox]@{Font=$Fonts[1]; Margin='0,10,10,10'; Dock='Fill'; Text=" \BackupFirefox\$(Get-Date -Format 'yyyy.MM.dd')";  Enabled=$false}
      )
      $Checkbox = @(
        [Windows.Forms.Checkbox]@{Text="Programmverzeichnis sichern";      AutoSize=$true; Font=$Fonts[0];Margin='10,10,0,10'}
        [Windows.Forms.Checkbox]@{Text="vorhandenen Ordner überschreiben"; AutoSize=$true; Font=$Fonts[0];Margin='10,0,10,10'; Visible=$false}
      )
    
      $HS = [Hashtable]::Synchronized(@{
        Run       = [Windows.Forms.Button]@{Size="120,40"; Text="Ausführen";       Font=$Fonts[1]; Margin='10,10,10,10'; Enabled=$false}
        SavePath  = $false
        overwrite = $true
      })
    #endregion
    
    #region Fensteranordnung
    $Flow.Controls.Add($HS.Run)
    [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize'))
    [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10))
    [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190))
    $Table.Controls.Add($Open, 0, 0)
    $Table.Controls.Add($Textbox[0], 1, 0)
    $Table.Controls.Add($Textbox[1], 2, 0)
    $Table.Controls.Add($Checkbox[0], 0, 3)
    $Table.Controls.Add($Checkbox[1], 0, 4)
    $Table.Controls.Add($Flow, 0, 5)
    $Table.SetColumnSpan($Checkbox[0], 3)
    $Table.SetColumnSpan($Checkbox[1], 3)
    $Table.SetColumnSpan($Flow, 3)
    
    $Form.Controls.Add($Table)
    #endregion
    
    #region Runspace
      # Firefox-Status überwachen
      $RS = [powershell]::Create().AddScript({
          while ($true) {
              if (Get-Process "Firefox" -ErrorAction SilentlyContinue) {
                  $HS.FirefoxRunning = $true
              } else {
                  $HS.FirefoxRunning = $false
                  $HS.Run.Enabled = $HS.SavePath -and $HS.overwrite
              }
          }
      })
      $RS.Runspace.SessionStateProxy.SetVariable('HS', $HS)
    #endregion
    
    #region Events
      $Form.Add_Load({
        $HS.handle = $RS.BeginInvoke()
        if (Test-Path $Reg) {
            $Textbox[0].Text = Get-ItemPropertyValue $Reg "(default)" -ErrorAction SilentlyContinue
        }
        [void]$this.ActivateControl($Checkbox[0])
      })
      $Form.Add_Closed({[void]$RS.Stop()})
      $Form.Add_KeyDown({
        switch ($_.KeyCode) {
          'Return' {$HS.Run.PerformClick()}
          'Escape' {$this.Hide()}
        }
      })
    
      $HS.Run.Add_Click({
        $this.TopLevelControl.Hide()
        $HS.Action = $true
        $HS.BackupCompleted = $true # Setze den Status auf true, wenn das Backup beginnt
        Set-ItemProperty -Path $Reg -Name "(default)" -Value $Textbox[0].Text.Replace('"', '') -Force
    })
    
      $Textbox.Add_TextChanged({
        if ($this.Text -and (Test-Path $this.Text.Replace('"',''))) {
          $HS.SavePath = $true
          if (Test-Path (Join-Path $this.Text.Replace('"','') "BackupFirefox\$(get-date -Format "yyyy.MM.dd")")) {
            $Checkbox[1].Visible = $true
            $HS.overwrite = $false
          } else {
            $Checkbox[1].Visible = $false
            $HS.overwrite = $true
            $this.TopLevelControl.Size="100,100"
          }
        }
        else {$HS.SavePath = $false}
      })
    
      $Open.Add_Click({
        $Browse = [Windows.Forms.FolderBrowserDialog]@{
          RootFolder   = "MyComputer"
          SelectedPath = if ($HS.SavePath) {$Textbox.Text.Replace('"','')}
        }
        if ($Browse.ShowDialog() -eq 'ok') {$Textbox[0].Text = $Browse.SelectedPath}
      })
     
      $Checkbox[1].Add_CheckStateChanged({$HS.overwrite = $this.Checked})
    #endregion
    
    #region Ausführung
      [void]$Form.ShowDialog()
        $RS.Dispose()
    #endregion
    
    
    if ($HS.Action) {
      $LogPfad = Join-Path $Textbox[0].Text.Replace('"','') $Textbox[1].Text.SubString(1)
      
      if (Test-Path "$LogPfad\Profilverzeichnis.zip") {
        Remove-Item -Force "$LogPfad\Profilverzeichnis.zip"
      }
    
      Compress-Archive -Path "$env:appdata\Mozilla\Firefox\Profiles" -DestinationPath "$LogPfad\Profilverzeichnis.zip" -CompressionLevel Optimal
      Write-Progress -Activity "Profilverzeichnis wird archiviert... " -PercentComplete 100 -Status "Abgeschlossen"
    
      if ($Checkbox[0].Checked) {
      if (Test-Path "$LogPfad\Programmverzeichnis.zip") {
        Remove-Item -Force "$LogPfad\Programmverzeichnis.zip"
      }
        
      Compress-Archive -Path "$env:ProgramFiles\Mozilla Firefox" -DestinationPath "$LogPfad\Programmverzeichnis.zip" -CompressionLevel Optimal
      Write-Progress -Activity "Programmverzeichnis wird archiviert... " -PercentComplete 100 -Status "Abgeschlossen"
      }
    
    
      $date = Get-Date -Format "yyyy.MM.dd - HH.mm.ss"
      $datum = Get-Date -Format "dd.MM.yyyy"
    
      if (!(Test-Path ("$LogPfad\Sicherung am $date.txt"))) {
        $FF_Version = gp 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'| ? DisplayName -like "*firefox*"|select -Expand DisplayVersion
        $Logfile = (New-Item -Path "$LogPfad\Sicherung vom $datum.txt"  -ItemType File -Force).FullName 
          Add-Content $Logfile ("Diese Sicherung ist vom $(get-date -Format "dddd, dd. MMMM yyyy, HH:mm:ss") Uhr`n")
          Add-Content $Logfile ("Die gesicherte Firefox-Version ist: $FF_Version")    
          Add-Content $Logfile "`n`n"       
      }
    
      # Nachricht anzeigen
        Add-Type -AssemblyName System.Windows.Forms
    
      #region Grundeinstellungen
        $Fonts = @(
            [Drawing.Font]::New("Microsoft Sans Serif", 12)
            [Drawing.Font]::New("Microsoft Sans Serif", 12, [Drawing.FontStyle]::Bold)
        )
        [Windows.Forms.Application]::EnableVisualStyles()
      #endregion
    
      #region Fensterelemente
        $Form = [Windows.Forms.Form]@{Text = "Backup abgeschlossen"; AutoSize = $true; StartPosition = 'CenterScreen'; Size = "50,50"; Padding = '10,10,10,10'; KeyPreview = $true }
        $Table = [Windows.Forms.TableLayoutPanel]@{Dock = 'Fill'; AutoSize = $true }
        $Flow = [Windows.Forms.FlowLayoutPanel]@{Anchor = 'Top'; AutoSize = $true; AutoSizeMode = 'GrowAndShrink' }
    
        $Label = [Windows.Forms.Label]@{Font = $Fonts[0]; Margin = '10,10,10,10'; AutoSize = $true; Text = "Backup erfolgreich abgeschlossen." }
    
        $HS = @{Run = [Windows.Forms.Button]@{Size = "120,40"; Text = "OK"; Font = $Fonts[1]; Margin = '10,10,10,10'; Enabled = $true }}
      #endregion
    
      #region Fensteranordnung
        $Flow.Controls.Add($HS.Run)
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize'))
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10))
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190))
        $Table.Controls.Add($Label, 1, 0)
        $Table.Controls.Add($Flow, 0, 1)
        $Table.SetColumnSpan($Flow, 3)
    
        $Form.Controls.Add($Table)
      #endregion
    
      #region Button-Click-Event
        $HS.Run.Add_Click({
            $Form.Close()
        })
      #endregion
    
      #region Ausführung
        [void]$Form.ShowDialog()
      #endregion
    }
    Alles anzeigen


    Apropos 7-Zip, da wurde ja lieber gepoltert, als nachzufragen, warum die "7zG.exe" genutzt wurde.
    Und Vorschläge kamen da natürlich auch keine, obwohl ich extra darum bat.

    Also, wenn mir jemand mitteilen kann, bzw. möchte, wie ich dieses Manko beseitigen kann,
    wäre ich echt glücklich und könnte an andere Baustellen des Skriptes gehen.

  • Wer mag testen? Firefox4backup

    • Mira_Belle
    • 4. Juli 2024 um 01:17
    Zitat von StandingBill

    Eben habe ich die Exe mal spaßeshalber bei Virustotal hochgeladen.
    Das Teil halten 24 von 74 Antivirenprogrammen für Malware. 8)

    Na dann würde ich mal schnell den Rechner runterfahren und von einem Bootstick starten und ihr überprüfen.

  • Wer mag testen? Firefox4backup

    • Mira_Belle
    • 4. Juli 2024 um 00:29
    Zitat von geldhuegel

    Wenn ich das zip herunterladen will, zeigt mir der Defender an, dass es einen Virus enthält und verweigert den Download!

    Lass das mit dem Zip mal, oben steht das PowerShellSkript. Das ist die Grundlage der im Zip enthaltenen EXE.

  • Meldungen über Spam im Forum

    • Mira_Belle
    • 4. Juli 2024 um 00:05
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Wieder einmal "Werbung"!

  • Wer mag testen? Firefox4backup

    • Mira_Belle
    • 3. Juli 2024 um 23:05

    schlingo Danke für das Nachtreten! Hast Du fast 10 Minuten dafür gebraucht?

    .DeJaVu Zwanzig Minuten Später immer noch am Schimpfen, obwohl ich Deiner "Bitte" nachgekommen bin.

    startup Ja, sorry, die Beschreibung ist/war etwas dünn. Darüber hatte ich mir nicht wirklich Gedanken gemacht.

    Wer PowerShellSkript lesen kann, weis was es tut.

    Und ja, das Skript ist nicht perfekt, aber welche Software ist das schon?

    Also in aller Klarheit, wenn ihr es so wollt, es ist eine Beta!
    Benutzung auf eigene Gefahr!


    Zitat von startup
    Zitat von Mira_Belle

    Stattdessen wird nur rumgenölt und rumgestänkert. Danke.

    Genau deshalb: Schuster, bleib bei deinen Leisten :) n8

    Das kann man aber auch ganz böse deuten! Aber Du hast ja einen Smilie dran gemacht. n8.
    Aber wer nichts Neues ausprobiert, bleibt auf der Stelle und entwickelt sich nicht weiter.

    Und wenn das alle so gemacht hätten, wir würden immer noch auf Bäumen leben.

  • Wer mag testen? Firefox4backup

    • Mira_Belle
    • 3. Juli 2024 um 22:49

    startup Du hast einen Narren an mir gefressen, oder?

    Zitat von .DeJaVu

    Ich würde behaupten, das ist das dein Backup-Powershell-Script mit einem NET-Wrapper, der es lediglich entpackt und startet. Kann sich jeder mit dnSpyEx anschauen.


    Zitat von StandingBill

    Ziemlich viel negative Energie hier.
    Lasst sie doch ein Backuptool zusammenbasteln, wenn ihr das Spaß macht.

    Zurecht. Es gibt Grundregeln, wenn man Software verbreiten will. Entweder ist es offen, dann hat es einen Quellcode, oder kommerziell, dann closed source. Hier trifft beides nicht zu. In dem Wrapper kann alles Mögliche enthalten sein. Und daher die extreme Abwertung. Du magst vielleicht Spass dran haben, dein System zu himmeln, die Fehlermeldungen sagen einfach nur, dass hier überhaupt nicht drüber nachgedacht wurde. Nicht mal der Hinweis auf 7zip war gegeben, sowas gehört einfach dabei. Dabei ist 7zip nicht mal das eigentliche Problem hier, auch wenn man die Windows-ZIP-Routine hätte auch nehmen können. Es ist einfach ganz schlechter Stil, nur eine EXE zu verbreiten, keine Beschreibung dabei, nada. Und dann auch noch eine miese Umsetzung mit Wrapper für PS.

    Jetzt hör doch mal auf nur rumzustänkern. Ja, ich habe einen Fehler gemacht, habe aber gleich auf Deinen Hinweis
    das zugrundeliegende Skript nachgereicht.

    Und nein, wie ich schon schrieb, kein Profi! Habe mich wohl nicht an mir unbekannte Gepflogenheiten gehalten, sorry.

    Wenn hier weiter nur gestänkert wird, lösche ich halt einfach alles wieder. So'n Scheiß muss ich mir nicht geben!

    Und ich dachte, dass man mir hier eventuell unter die Arme greift, Hilfe anbietet und mich anleiten würde,
    Dinge besser zu machen.

    Stattdessen wird nur rumgenölt und rumgestänkert. Danke.

  • wow, AVM mit 16 Millionen Euro bestraft

    • Mira_Belle
    • 3. Juli 2024 um 22:38

    Mh, es ging eigentlich nicht um ein Produkt! Es ging um Preisabsprachen mehrerer Produkte.

    Und aus diesem Grund nannte ich jene Unternehmen, da diese genau wegen gleicher Vergehen Strafe zahlen mussten.

    Aber gut, lange Zeit habe ich "Müller" boykottiert, und dabei liebte ich die Müllermilch.
    Nun Jahre sind vergangen und aus der "kleinen" Firma ist ein riesiger Konzern geworden.
    Ich kann deren Produkte im Grunde gar nicht mehr meiden, ob im Aldi einen Pudding, im Lidl einen Joghurt,
    die Milch von Weihenstephan, egal was für ein Molkereiprodukt, fast überall hat dieser Konzern seine Finger drin.

    Ich habe das geschrieben, weil ich auch so dachte wie Du.
    Und ich will Dir Deine Meinung und Dein Handeln auch gar nicht absprechen.

  • Wer mag testen? Firefox4backup

    • Mira_Belle
    • 3. Juli 2024 um 22:22

    StandingBill
    HKCU:\Software\FF_Backup wird ja auch beim ersten Start angelegt, aber auch nur, wenn eine LW ausgewählt wurde.
    Und 7-zip muss installiert sein, sorry.

    Sören Hentzschel Bis dahin tut's das Tool. BackUp mit einem klick.

    Wenn ich das alles zu Fuß machen will, dauert's länger.
    Und ja, das komplette Profil mit allem drum und dran wird gesichert.
    Habe auch schon daran gedacht, einen Excludeparameter einzubauen.

    Das BackUp wird komprimiert und verschlüsseln sollte auch gehen, wenn ich es noch einbaue,

    Aber gut, ist halt nicht plattformübergreifend.

    Aber jeder fängt mal mit einer Fingerübung an.


    Leute, hört doch bitte auf, über Sinn und/oder Zweck zu diskutieren.

    Wenn ihr es nicht braucht, nicht haben wollt, ist das ok,
    aber lasst mir doch einfach den Spaß und das gute Gefühl, wenn das Teil macht, was es soll.

    Danke.

  • Wer mag testen? Firefox4backup

    • Mira_Belle
    • 3. Juli 2024 um 22:08
    Zitat von .DeJaVu

    Kein Quellcode, kein Vertrauen, keine Nutzung. Und ich weiss, wovon ich rede.

    Sorry.

    Code
    Add-Type -A System.Windows.Forms
    
    #region Grundeinstellungen
      $7z    = "$env:ProgramFiles\7-zip\7zG.exe"
      $Reg   = "HKCU:\Software\FF_Backup"
      $Fonts = @(
        [Drawing.Font]::New("Microsoft Sans Serif",12)
        [Drawing.Font]::New("Microsoft Sans Serif",12,[Drawing.FontStyle]"Bold")
      )
      [Windows.Forms.Application]::EnableVisualStyles()
    #endregion
    
    # Funktion zur Anzeige des Hinweisfensters
    function Show-FirefoxRunningDialog {
        $Form = [Windows.Forms.Form]@{Text = "Hinweis"; AutoSize = $true; StartPosition = 'CenterScreen'; Size = "100,100"; Padding = '10,10,10,10'; KeyPreview = $true }
        $Table = [Windows.Forms.TableLayoutPanel]@{Dock = 'Fill'; AutoSize = $true }
        $Flow = [Windows.Forms.FlowLayoutPanel]@{Anchor = 'Top'; AutoSize = $true; AutoSizeMode = 'GrowAndShrink' }
    
        $Label = [Windows.Forms.Label]@{Font = $Fonts[0]; Margin = '10,10,10,10'; AutoSize = $true; Text = "Firefox wird noch ausgeführt.
    
    Soll Firefox beendet werden?" }
    
        $OKButton = [Windows.Forms.Button]@{Size = "120,40"; Text = "OK"; Font = $Fonts[1]; Margin = '10,10,10,10' }
        $OKButton.Add_Click({
            $Form.DialogResult = [System.Windows.Forms.DialogResult]::OK
            $Form.Close()
        })
    
        $CancelButton = [Windows.Forms.Button]@{Size = "120,40"; Text = "Abbrechen"; Font = $Fonts[1]; Margin = '10,10,10,10' }
        $CancelButton.Add_Click({
            $Form.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
            $Form.Close()
        })
    
        $Flow.Controls.Add($OKButton)
        $Flow.Controls.Add($CancelButton)
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize'))
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10))
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190))
        $Table.Controls.Add($Label, 0, 0)
        $Table.Controls.Add($Flow, 0, 1)
        $Table.SetColumnSpan($Flow, 3)
    
        $Form.Controls.Add($Table)
        return $Form.ShowDialog()
    }
    
    # Überprüfen, ob Firefox noch läuft und entsprechend handeln
    if (Get-Process "Firefox" -ErrorAction SilentlyContinue) {
        $result = Show-FirefoxRunningDialog
        if ($result -eq [System.Windows.Forms.DialogResult]::OK) {
            Get-Process "Firefox" | Stop-Process
        } else {
            exit
        }
    }
    
    #region Fensterelemente
      $Form  = [Windows.Forms.Form]@{Text="Firefox4backup"; AutoSize=$true; StartPosition='CenterScreen'; Size="100,100"; Padding='10,10,10,10'; KeyPreview=$true}
      $Table = [Windows.Forms.TableLayoutPanel]@{Dock='Fill'; AutoSize=$true}
      $Flow  = [Windows.Forms.FlowLayoutPanel]@{Anchor='Top'; AutoSize=$true; AutoSizeMode='GrowAndShrink'}
     
      $Open  = [Windows.Forms.Button]@{Size="100,40"; Text="Speicherort"; Font=$Fonts[0]; Anchor='Left'}
     
      $Textbox  = @(
        [Windows.Forms.TextBox]@{Font=$Fonts[0]; Margin='10,10,0,10'; Size="150,30"; Dock='Fill'}
        [Windows.Forms.TextBox]@{Font=$Fonts[1]; Margin='0,10,10,10'; Dock='Fill'; Text=" \BackupFirefox\$(Get-Date -Format 'yyyy.MM.dd')";  Enabled=$false}
      )
      $Checkbox = @(
        [Windows.Forms.Checkbox]@{Text="Programmverzeichnis sichern";      AutoSize=$true; Font=$Fonts[0];Margin='10,10,0,10'}
        [Windows.Forms.Checkbox]@{Text="vorhandenen Ordner überschreiben"; AutoSize=$true; Font=$Fonts[0];Margin='10,0,10,10'; Visible=$false}
      )
    
      $HS = [Hashtable]::Synchronized(@{
        Run       = [Windows.Forms.Button]@{Size="120,40"; Text="Ausführen";       Font=$Fonts[1]; Margin='10,10,10,10'; Enabled=$false}
        SavePath  = $false
        overwrite = $true
      })
    #endregion
    
    #region Fensteranordnung
    $Flow.Controls.Add($HS.Run)
    [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize'))
    [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10))
    [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190))
    $Table.Controls.Add($Open, 0, 0)
    $Table.Controls.Add($Textbox[0], 1, 0)
    $Table.Controls.Add($Textbox[1], 2, 0)
    $Table.Controls.Add($Checkbox[0], 0, 3)
    $Table.Controls.Add($Checkbox[1], 0, 4)
    $Table.Controls.Add($Flow, 0, 5)
    $Table.SetColumnSpan($Checkbox[0], 3)
    $Table.SetColumnSpan($Checkbox[1], 3)
    $Table.SetColumnSpan($Flow, 3)
    
    $Form.Controls.Add($Table)
    #endregion
    
    #region Runspace
      # Firefox-Status überwachen
      $RS = [powershell]::Create().AddScript({
          while ($true) {
              if (Get-Process "Firefox" -ErrorAction SilentlyContinue) {
                  $HS.FirefoxRunning = $true
              } else {
                  $HS.FirefoxRunning = $false
                  $HS.Run.Enabled = $HS.SavePath -and $HS.overwrite
              }
          }
      })
      $RS.Runspace.SessionStateProxy.SetVariable('HS', $HS)
    #endregion
    
    #region Events
      $Form.Add_Load({
        $HS.handle = $RS.BeginInvoke()
        if (Test-Path $Reg) {
            $Textbox[0].Text = Get-ItemPropertyValue $Reg "(default)" -ErrorAction SilentlyContinue
        }
        [void]$this.ActivateControl($Checkbox[0])
      })
      $Form.Add_Closed({[void]$RS.Stop()})
      $Form.Add_KeyDown({
        switch ($_.KeyCode) {
          'Return' {$HS.Run.PerformClick()}
          'Escape' {$this.Hide()}
        }
      })
    
      $HS.Run.Add_Click({
        $this.TopLevelControl.Hide()
        $HS.Action = $true
        $HS.BackupCompleted = $true # Setze den Status auf true, wenn das Backup beginnt
        Set-ItemProperty -Path $Reg -Name "(default)" -Value $Textbox[0].Text.Replace('"', '') -Force
    })
    
      $Textbox.Add_TextChanged({
        if ($this.Text -and (Test-Path $this.Text.Replace('"',''))) {
          $HS.SavePath = $true
          if (Test-Path (Join-Path $this.Text.Replace('"','') "BackupFirefox\$(get-date -Format "yyyy.MM.dd")")) {
            $Checkbox[1].Visible = $true
            $HS.overwrite = $false
          } else {
            $Checkbox[1].Visible = $false
            $HS.overwrite = $true
            $this.TopLevelControl.Size="100,100"
          }
        }
        else {$HS.SavePath = $false}
      })
    
      $Open.Add_Click({
        $Browse = [Windows.Forms.FolderBrowserDialog]@{
          RootFolder   = "MyComputer"
          SelectedPath = if ($HS.SavePath) {$Textbox.Text.Replace('"','')}
        }
        if ($Browse.ShowDialog() -eq 'ok') {$Textbox[0].Text = $Browse.SelectedPath}
      })
     
      $Checkbox[1].Add_CheckStateChanged({$HS.overwrite = $this.Checked})
    #endregion
    
    #region Ausführung
      [void]$Form.ShowDialog()
        $RS.Dispose()
    #endregion
    
    if ($HS.Action) {
      $LogPfad = Join-Path $Textbox[0].Text.Replace('"','') $Textbox[1].Text.SubString(1)
      if (Test-Path "$LogPfad\Profilverzeichnis.zip") {rm -force "$LogPfad\Profilverzeichnis.zip"}
      &$7z a -mx5 -bso0 -bsp1 "$LogPfad\Profilverzeichnis.zip" "$env:appdata\Mozilla\Firefox\Profiles" | out-string -stream | Select-String -Pattern "\d+(?=%)" -AllMatches |
        ForEach-Object { Write-Progress -Activity "Profilverzeichnis wird archiviert... " -PercentComplete ([int]$_.Matches.Value) -Status " "}
      if ($Checkbox[0].Checked) {
        if (Test-Path "$LogPfad\Programmverzeichnis.zip") {rm -force "$LogPfad\Programmverzeichnis.zip"}
        &$7z a -mx5 -bso0 -bsp1 "$LogPfad\Programmverzeichnis.zip" "$env:ProgramFiles\Mozilla Firefox" | out-string -stream | Select-String -Pattern "\d+(?=%)" -AllMatches |
          ForEach-Object { Write-Progress -Activity "Programmverzeichnis wird archiviert... " -PercentComplete ([int]$_.Matches.Value) -Status " "}
      }
    
      $date = Get-Date -Format "yyyy.MM.dd - HH.mm.ss"
      $datum = Get-Date -Format "dd.MM.yyyy"
    
      if (!(Test-Path ("$LogPfad\Sicherung am $date.txt"))) {
        $FF_Version = gp 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'| ? DisplayName -like "*firefox*"|select -Expand DisplayVersion
        $Logfile = (New-Item -Path "$LogPfad\Sicherung vom $datum.txt"  -ItemType File -Force).FullName 
          Add-Content $Logfile ("Diese Sicherung ist vom $(get-date -Format "dddd, dd. MMMM yyyy, HH:mm:ss") Uhr`n")
          Add-Content $Logfile ("Die gesicherte Firefox-Version ist: $FF_Version")    
          Add-Content $Logfile "`n`n"       
      }
    
      # Nachricht anzeigen
        Add-Type -AssemblyName System.Windows.Forms
    
      #region Grundeinstellungen
        $Fonts = @(
            [Drawing.Font]::New("Microsoft Sans Serif", 12)
            [Drawing.Font]::New("Microsoft Sans Serif", 12, [Drawing.FontStyle]::Bold)
        )
        [Windows.Forms.Application]::EnableVisualStyles()
      #endregion
    
      #region Fensterelemente
        $Form = [Windows.Forms.Form]@{Text = "Backup abgeschlossen"; AutoSize = $true; StartPosition = 'CenterScreen'; Size = "50,50"; Padding = '10,10,10,10'; KeyPreview = $true }
        $Table = [Windows.Forms.TableLayoutPanel]@{Dock = 'Fill'; AutoSize = $true }
        $Flow = [Windows.Forms.FlowLayoutPanel]@{Anchor = 'Top'; AutoSize = $true; AutoSizeMode = 'GrowAndShrink' }
    
        $Label = [Windows.Forms.Label]@{Font = $Fonts[0]; Margin = '10,10,10,10'; AutoSize = $true; Text = "Backup erfolgreich abgeschlossen." }
    
        $HS = @{Run = [Windows.Forms.Button]@{Size = "120,40"; Text = "OK"; Font = $Fonts[1]; Margin = '10,10,10,10'; Enabled = $true }}
      #endregion
    
      #region Fensteranordnung
        $Flow.Controls.Add($HS.Run)
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize'))
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10))
        [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190))
        $Table.Controls.Add($Label, 1, 0)
        $Table.Controls.Add($Flow, 0, 1)
        $Table.SetColumnSpan($Flow, 3)
    
        $Form.Controls.Add($Table)
      #endregion
    
      #region Button-Click-Event
        $HS.Run.Add_Click({
            $Form.Close()
        })
      #endregion
    
      #region Ausführung
        [void]$Form.ShowDialog()
      #endregion
    }
    Alles anzeigen
  • Wer mag testen? Firefox4backup

    • Mira_Belle
    • 3. Juli 2024 um 20:52

    Gibt nicht wirklich so viel dazu zu sagen.

    Erstellt ein Backup!

    Als erstes wird geprüft, ob der Firefox läuft,
    wenn ja, lässt er sich beenden, wenn nein, dann beendet man das Tool.

    Wenn der FF beendet wurde, dann öffnet sich ein Fenster, wo man das Backup hin haben möchte.
    Des Weiteren kann in einer Checkbox angegeben werden, dass auch das Programmverzeichnis gesichert werden soll.

    Probiert es mal aus.

    Grundvoraussetzung ist aber, dass der Firefox ganz normal im Programmverzeichnis %ProgramFiles% installiert wurde
    und dass sich das Profilverzeichnis unter %appdata%\Mozilla\Firefox\ befindet.

    Daran arbeite ich noch.

    Ansonsten bin ich für Verbesserungsvorschläge offen.

    Nachtrag.

    OK, der Name ist doof, aber Firesave wollte ich nicht nehmen und BackUp4Firefox fand ich jetzt auch nicht so prikelnd.
    Vielleicht gibt es ja einen besseren Vorschlag?


    ---------------------------------------------------------------------------------------------------------------------------------------------------

    Vergesst die EXE, nehmt das Skript und wer mit der Powershell umzugehen weis, bekommt das auch selber hin
    aus einem PS1 eine EXE zu machen.

    Aber mir ging es ja nie um die EXE selber, sondern um deren Funktion und die sind in dem Skript gegeben,

    denn das ist/war ja die Grundlage!

  • Autostart nicht abzustellen - OT Beiträge

    • Mira_Belle
    • 3. Juli 2024 um 16:37

    startup Es geht um Endverbraucher, von denen kann so gut wie niemand die Software kontrollieren, die er einsetzt.
    Und da spielt es gar keine Rolle, ob Windows, Linux oder MacOS eingesetzt wird.
    Viele dieser User lassen also die Finger von der Reg, was ja auch nicht immer schlecht ist.

  • wow, AVM mit 16 Millionen Euro bestraft

    • Mira_Belle
    • 3. Juli 2024 um 16:33

    startup Mh. Apple, Microsoft, HP, Sony und, und, und, werden auch nicht mehr genutzt bzw. weiter empfolen?

    Wenn es danach ginge, durfte man gar nichts mehr kaufen.
    VW, BMW usw, Nestle, Procter & Gamble usw, Müller usw. Alles Firmen (Konzerne), die schon mal beim "Schummeln"
    erwischt wurden und Strafe zahlen mussten. Und das ist nur ein kleiner Auszug der Firmen mit Verfehlungen!

    AVM wurde erwischt, hat Strafe gezahlt und gut ist.

  • Formularfeld speichert keine Eingabe mehr

    • Mira_Belle
    • 1. Juli 2024 um 16:48
    Zitat von Boersenfeger
    Zitat von Sören Hentzschel
    Zitat von Boersenfeger

    Eine Rückmeldung darüber, wie sich das Verhalten mit einem neuen, nackten Profil darstellt sollte Aufschluss bringen.

    Ein neues Profil wurde doch schon getestet.

    Nein, es wurde ein neues Profil erstellt mit Recovery von Passwörtern und Lesezeichen und nach Installation von UBlock Origin.

    Und genau deshalb fragte ich nach 1. einem Start im Fehlerbehebungsmodus
    und 2. nach einem jungfräulichen Profil!

    Denn nur so kann der Fehler eingegrenzt werden.
    Ist der Fehler auch im Fehlerbehebungsmodus mit den Dateien für Passwörter und Lesezeichen immer noch vorhanden,
    ist zu vermuten, dass die entsprechenden Dateien defekt sind.
    Um ganz sicher zugehen, jungfräulichen Profil und testen.
    Ist es so, könnte man versuchen, die entsprechenden Dateien durch die eines anderen Rechners zu ersetzen,
    wenn nicht alle Passwörter und Lesezeichen bekannt sind. Wäre aber auch nur ein verzweifelter Versuch.
    Am besten Firefox entsprechende Dateien selber neu machen lassen.
    Sind dann zwar Passwörter und Lesezeichen futsch, aber er läuft dann wieder wie er soll.

    Eventuell die Lesezeichen alle exportieren, nur so als Backup.

  • Zugangsdaten in Formularfeldern

    • Mira_Belle
    • 1. Juli 2024 um 16:39
    Zitat von Sören Hentzschel
    Zitat von Mira_Belle

    Aber mal eine kleine Nachfrage, womit kann man diese Datei den bearbeiten?
    Wenn ich diese mit z.B. Notepad++ öffne, steht da nur Kauderwelsch.

    Zum Beispiel damit:

    https://sqlitebrowser.org/

    Immer nur bei geschlossenem Firefox, aber am besten gar nicht, bevor man sich etwas kaputt macht. ;)

    Danke, zum Schnüffeln ist das doch bestimmt gut!
    Und selbstredend gibt es vorher noch ein Backup, eben damit nichts kaputtgeht.

  • Zugangsdaten in Formularfeldern

    • Mira_Belle
    • 1. Juli 2024 um 12:45
    Zitat von 2002Andreas
    Zitat von Mira_Belle

    in den Dateien key4.db und logins.json gespeichert.

    Da werden Passwörter und Benutzernamen gespeichert.

    Nun ja, dann habe ich das,

    Zitat von wurstel68

    ... bei einer Login-Seite wird ein einmal benutzter Username voreingetragen, bzw. eine Liste der verschiedenen bereits genutzen Zugangs-Usernamen angezeigt. Wo speichert Firefox das bzw. wie, wo kann man das editieren oder löschen? Ich finde da nirgens etwas. Cache löschen hilft nicht. Ach ja, Passwörter speichern ist deaktiviert.

    wohl falsch aufgefasst.

    Bitte um Entschuldigung.


    2002Andreas Aber mal eine kleine Nachfrage, womit kann man diese Datei den bearbeiten?
    Wenn ich diese mit z.B. Notepad++ öffne, steht da nur Kauderwelsch.

  • Zugangsdaten in Formularfeldern

    • Mira_Belle
    • 1. Juli 2024 um 10:55

    Die Daten werden in den Dateien key4.db und logins.json gespeichert.
    Ob diese bearbeitbar sind, weiß ich jetzt nicht. Persönlich würde ich da die Finger von lassen.

    Aber hier mal ein Link von Mozilla

    Passwortverwaltung – Speichern, Löschen und Ändern gespeicherter Zugangsdaten und Passwörter in Firefox | Hilfe zu Firefox

  • Über 110.000 Websites verteilen Malware durch Supply-Chain-Attacke

    • Mira_Belle
    • 26. Juni 2024 um 15:09

    Aber klar doch, alles, was von MS kommt, ist sowas von toll.

    Zugegeben, externe AV hat hier und da so ihre Probleme,
    aber der viel gepriesene Defender ist auch nicht so Fehlerfrei,
    wie hier immer so propagiert wird.
    Aber ja, besser als gar nichts.

    Und doch, wurde AV und FW auf dem System infrage gestellt!
    Es ist kein Unsinn! Wer suchet, der findet, ich werde niemanden benennen,
    das Verhältnis zu einigen Usern hier ist eh schon schwierig genug.

  • Über 110.000 Websites verteilen Malware durch Supply-Chain-Attacke

    • Mira_Belle
    • 26. Juni 2024 um 14:05

    Ach ja, und eine AV auf dem Rechner ist sowieso Blödsinn!
    War das nicht die Aussage von einigen Fachleuten?

    Es ärgert mich ungemein, wenn ich immer so als Dummerchen hingestellt werde.


    Und hier noch einmal eine Info.

    JavaScript-Service Polyfill.io: 100.000 Sites binden Schadcode über CDN ein
    Mehrere Sicherheitsforscher melden eine aktive Bedrohung durch das Content Delivery Network von Polyfill.io. Google sperrt Werbung von betroffenen Ads-Seiten.
    www.heise.de
  • Formularfeld speichert keine Eingabe mehr

    • Mira_Belle
    • 26. Juni 2024 um 11:15

    Supporter Und hast Du in das neue Profil die Dateien (key4.db und/oder logins.json) mit den Passwörtern kopiert?

    Oder hast Du die "formhistory.sqlite" aus dem alten Profil kopiert?

    War das neue Profil wirklich "jungfräulich"?

Unterstütze uns!

Jährlich (2025)

104,5 %

104,5% (679,10 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon