Найти тему

Упрощаем жизнь с 1С: скрипт для удаления кэша на терминальном сервере

Проблемы с 1С, особенно после обновлений, часто решаются простым удалением кеша. Но если у вас терминальный сервер с множеством пользователей, ручное удаление кеша каждого – не самая приятная задача.

К счастью, в PowerShell есть решение! С помощью небольшого скрипта можно очистить кеш всех пользователей одной командой.

Что делает скрипт:

  • Удаляет кеш для баз 1С версий 8.2 и 8.3, расположенный в папках:
C:\Users\*\AppData\Local\1C\1Cv82\* 
C:\Users\*\AppData\Roaming\1C\1Cv82\* 
C:\Users\*\AppData\Local\1C\1Cv8\* 
C:\Users\*\AppData\Roaming\1C\1Cv8\*
  • Игнорирует кеш для баз, которые в данный момент открыты.

Как использовать:

  1. Скопируйте приведенный ниже код в текстовый файл и сохраните его с расширением .ps1.
  2. Запустите скрипт от имени администратора.
  3. Рекомендуется запускать скрипт, когда 1С не запущена, чтобы обеспечить полную очистку кеша.

Текст скрипта:

Get-ChildItem "C:\Users*\AppData\Local\1C\1Cv82*","C:\Users*\AppData\Roaming\1C\1Cv82*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse

Get-ChildItem "C:\Users*\AppData\Local\1C\1Cv8*","C:\Users*\AppData\Roaming\1C\1Cv8*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse