thunderbird-caching-abschalten.ps1
# 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/
thunderbird-caching-abschalten.ps1.txt · Zuletzt geändert: 2017/03/17 11:37 von 127.0.0.1
