Очищення сміття Firefox у профілях користувачів на термінальному сервері

Відбудеться так що на термінальному сервері починає бракувати дискового простору. Якщо немає можливості його розширити доводиться шукати що очистити.

Пошук показав, що в папках профілів користувачів багато місця займає папка %APPDATA%\Mozilla\Firefox\Profiles\

Але в ній не все можна видаляти. Так як можна зашкодити профіль Firefox. Які файли та папки за що відповідають можна почитати тут: https://support.mozilla.org/ru/kb/profili-gde-firefox-hranit-polzovatelskie-dannye

Після прочитання різних статей та форумів знайшов що можна чистити на постійній основі. Це каталог %APPDATA%\Mozilla\Firefox\Profiles*.default-esr\storage\default

Але варіант каталогів три .default-esr, .default та .default-release

На основі цього я написав скрипт для чищення:

$usersFolderPath = "C:\Users"
$users = Get-ChildItem -Path $usersFolderPath | Where-Object { $_.PSIsContainer -and !( $_.Name -match "Public|Default") }
foreach ($user in $users) {
    $firefoxFolderPath = "$($user.FullName)\AppData\Roaming\Mozilla\Firefox\Profiles"
    $userName = $user.Name
    if (Test-Path $firefoxFolderPath) {
        # Шукаємо профілі із закінченням .default-release*, .default*, и .default-esr*
        $profileFolders = Get-ChildItem -Path $firefoxFolderPath | Where-Object { 
            $_.PSIsContainer -and ($_.Name -like "*.default-release*" -or $_.Name -like "*.default*" -or $_.Name -like "*.default-esr*") 
        }
        foreach ($profile in $profileFolders) {
            $storagePath = "$($profile.FullName)\storage\default"
            if (Test-Path $storagePath) {
                # Видалення всіх файлів усередині storage\default
                Get-ChildItem -Path "$storagePath\*" -File -Recurse | Remove-Item -Force -ErrorAction SilentlyContinue
                # Видалення всіх каталогів усередині storage\default
                Get-ChildItem -Path "$storagePath\*" -Directory | ForEach-Object { Remove-Item -Recurse -Force $_.FullName }
                Write-Host "Користувач: $userName; Профіль: $($profile.Name); Видалено вміст папки storage\default"
            }
        }
    }
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *