PowerShell Очистка кэша 1с

Надоело бегать по компьютерам пользователей и очищать кэш 1с в ручную? Не знаешь как на удаленном серваке почистить мусор от кэша всех пользователей? Тогда тебе сюда!
Все что нам понадобится для решения этой задачи это среда разработки скриптов PowerShell.
Основные моменты:
- Кэш пользователя 1с располагается по следующему пути: “\ИмяКомпьютера\c$\Users\ИмяПользователя\AppData\Local (или Roaming)\1C\1cv8\”
- Удалять будем только файлы, содержащие в наименовании GUID: “15b4a98c-9e79-4f14-b510-970a9999c095”;
- Удаляться будут только те файлы и папки, которые на данный момент пользователь не использует (т.е. не запущена у пользователя база 1с, использующая эти файлы).
Готовые варианты скриптов для решения этой задачи:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#вставляем в буфер обмена значение # Из папки \Local #Удаляем кэш конкретного пользователя с компьютера (по имени компьютера) Get-ChildItem "\\ИМЯ_КОМПЬЮТЕРА\c$\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\1C\1cv8\*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse #Удаляем кэш конкретного пользователя с компьютера (по ip компьютера) Get-ChildItem "\\10.11.12.189\c$\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\1C\1cv8\*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse #Удаляем кэш всех пользователей с компьютера Get-ChildItem "\\10.11.12.189\c$\Users\*\AppData\Local\1C\1cv8\*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse # Из папки \Roaming #Удаляем кэш конкретного пользователя с компьютера (по имени компьютера) Get-ChildItem "\\ИМЯ_КОМПЬЮТЕРА\c$\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\1C\1cv8\*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse #Удаляем кэш конкретного пользователя с компьютера (по ip компьютера) Get-ChildItem "\\10.11.12.189\c$\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\1C\1cv8\*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse #Удаляем кэш всех пользователей с компьютера Get-ChildItem "\\10.11.12.189\c$\Users\*\AppData\Roaming\1C\1cv8\*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse |
Запускаем скрипт прямо из PowerShell и наслаждаемся результатом. Естественно нужно понимать что у компьютера (ОС), с которой запускаются данные скрипты, есть доступы к удаленным машинам и права, которые позволяют ей удалять на них файлы. Если что, решайте вопрос со своим администратором сети – думаю он поможет вам с этим разобраться.
0
norm statya!