Допустим у вас пользователи подключаются к терминальному серверу на w!nd0w5 2oo8 и там работают с 1С. Кэш 1С копится, беспощадно кушая место на диске. Удобно чистить кэш 1С его с помощью PowerShell.
Сначала на терминальном сервере создаём файл enableps.bat с таким содержимым:
powershell -Command Set-ExecutionPolicy RemoteSigned
Потом запускаем enableps.bat двойным кликом левой кнопкой мыши. Таким образом мы разрешаем выполнение PowerShell на сервере.
Теперь дело за самим PowerShell скриптом, который будет чистить кэш 1С у всех пользователей. Создаём опять же на сервере ещё один файл, но теперь с расширением не *.bat, а *.ps1, например 1crmcache.ps1 с таким содержимым:
Get-ChildItem "C:\Users\*\AppData\Local\1C\1Cv82\*","C:\Users\*\AppData\Roaming\1C\1Cv82\*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse
Закидываем этот файл в планировщик заданий и всё. По расписанию будет происходить чистка директорий
C:\Users\*\AppData\Local\1C\1Cv82\*
C:\Users\*\AppData\Roaming\1C\1Cv82\*
Сначала на терминальном сервере создаём файл enableps.bat с таким содержимым:
powershell -Command Set-ExecutionPolicy RemoteSigned
Потом запускаем enableps.bat двойным кликом левой кнопкой мыши. Таким образом мы разрешаем выполнение PowerShell на сервере.
Теперь дело за самим PowerShell скриптом, который будет чистить кэш 1С у всех пользователей. Создаём опять же на сервере ещё один файл, но теперь с расширением не *.bat, а *.ps1, например 1crmcache.ps1 с таким содержимым:
Get-ChildItem "C:\Users\*\AppData\Local\1C\1Cv82\*","C:\Users\*\AppData\Roaming\1C\1Cv82\*" | Where {$_.Name -as [guid]} |Remove-Item -Force -Recurse
Закидываем этот файл в планировщик заданий и всё. По расписанию будет происходить чистка директорий
C:\Users\*\AppData\Local\1C\1Cv82\*
C:\Users\*\AppData\Roaming\1C\1Cv82\*
Комментариев нет:
Отправить комментарий