# Wähle die prefs.js des Benutzers default. Nur diese wird bearbeitet. # Wird keine gefunden, macht das Skript nichts. $pfad = (Get-ChildItem $Env:appdatathunderbirdprofiles | Where-Object {$_.Name -match "(default)"}).fullname $Datei = Get-ChildItem "$pfadprefs.js" $Aenderung = 0; #Es werden nur 50 Mailkonten berücksichtigt. Mehr sollte keiner haben :o) for($a = 1; $a -lt 50; $a++){ #Existiert ein Mailkonto mit dieser Nummer: if ($Datei | Select-String -pattern "(mail.server.server$a)" ){ #Ist für dieses Mailkonto der offline_download-Eintrag nicht vorhanden, lege ihn an #Einträge, wo der Parameter von offline_download auf true steht, gibt es nicht, da thunderbird so einen Eintrag #aus der Config löschen würde if (!($Datei | Select-String -pattern "(mail.server.server$a.offline_download)" )){ 'user_pref("mail.server.server'+$a+'.offline_download", false);' | Out-File -FilePath $Datei -encoding Default -Append $Aenderung = 1; } } } #Schalte die globale SQL-Suche ab: #Einträge, wo der Parameter von indexer.enabled auf true steht, gibt es nicht, da thunderbird so einen Eintrag #aus der Config löschen würde if ( !($Datei | Select-String -pattern "(mailnews.database.global.indexer.enabled)" )){ 'user_pref("mailnews.database.global.indexer.enabled", false);' | Out-File -FilePath $Datei -encoding Default -Append $Aenderung = 1; } if($Aenderung){ #Lösche die Datei global-messages-db.sqlite #Diese wird zwar neu angelegt, bleibt aber < als 1MB Remove-Item "$pfadglobal-messages-db.sqlite" #Lösche den IMAP-Ordner bis auf die msgFilterRules.dat-Dateien. Verzeichnise bleiben erhalten $ImapDateien = (Get-ChildItem "$pfadImapMail" -exclude 'msgFilterRules.dat', *.msf -Recurse | where {! $_.PSIsContainer}) $ImapDateien | Remove-Item } Siehe: http://www.hp-dv-systeme.de/thunderbird-caching-in-prefs-js-automatisch-abschalten/