Заметки · 11.10.2024

Каждый день с чистого листа

Ранее я уже рассказывал о том, как всегда иметь под рукой дистрибутив свежей версии браузера Chromium-GOST (здесь сайт, здесь гит).

Тема этого поста — автоматизировать очистку кэша и данных авторизации браузера с помощью групповых политик.

Сначала подготовим все необходимые файлы, а именно — нам потребуются reg-файл и ps1-скрипт. Файл реестра будет добавлять на целевые хосты политику назначенных заданий браузера, а скрипт очищать кэш при включении компьютера.

Содержимое reg-файла:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Policies\Chromium]
"IdleTimeout"=dword:0000001e
"PasswordManagerEnabled"=dword:00000000

[HKEY_LOCAL_MACHINE\Software\Policies\Chromium\IdleTimeoutActions]
"1"="clear_browsing_history"
"2"="clear_download_history"
"3"="clear_cookies_and_other_site_data"
"4"="clear_cached_images_and_files"
"5"="clear_password_signin"
"6"="clear_autofill"
"7"="clear_site_settings"

Этот файл я создал на основе документации к шаблонам групповых политик браузера Chromium. Он создает необходимые ветки реестра с групповыми политиками для браузера, без использования самих шаблонов.

В частности, указанные политики содержат интервал срабатывания назначенных заданий (IdleTimeout) и отключают функционал менеджера паролей (PasswordManagerEnabled). Чуть ниже указано создание подветки с перечнем заданий (IdleTimeoutActions).

Обращаю внимание, что значение dword:0000001e в параметре IdleTimeout равно 30 минутам. Корректировать значение можете сами, если воспользуетесь конвертёром dec в hex. Например, этим. Если выставить нулевое значение параметра — таймер назначенных заданий будет отключён.

Содержимое файла ps1-скрипта:

# Перечень директорий
$tmpdirs = @( "C:\Users\*\AppData\Local\Chromium\User Data\Default\Cache\*",
              "C:\Users\*\AppData\Local\Chromium\User Data\Default\GPUCache\*",
              "C:\Users\*\AppData\Local\Chromium\User Data\Default\Login Data",
              "C:\Users\*\AppData\Local\Temp\*" )
 
# Удаление файлов
foreach ($tmpdir in $tmpdirs)
{
    Remove-Item -Path $tmpdir -Recurse -Force -ErrorAction SilentlyContinue -Verbose
}

В переменной $tmpdirs содержится массив с перечнем путей для очистки. В массиве также содержится файл Login Data, в котором хранятся пароли браузера и папка временных файлов. Ниже идёт цикл перебора с удалением всего перечисленного.

Скрипт удалит указанные данные из профилей всех пользователей. Без жалости и сожаления. Будьте к этому готовы.

Терминальная часть закончена. Теперь переходим к созданию объекта групповой политики и сразу проваливаемся в режим редактирования. Все действия будут проводиться в конфигурации компьютера.

Отправляемся в Сценарии (запуск/завершение):

Нам нужна Автозагрузка и её свойства:

На вкладке Сценарии PowerShell добавляем созданный скрипт. В моём случае, он называется clearcache.ps1 и расположился на общедоступном ресурсе.

Параметры реестра я добавлял через Мастер реестра, предварительно выполнив слияние reg-файла с реестром своего компьютера.

В мастере выбираем нужную ветку для создания корректной конфигурации.

На этом создание объекта завершено. Осталось только связать его с подразделением и выполнить обновление групповой политики.

Кстати, на тему обновления политик у меня даже есть отдельный пост.