Текущие требования: Есть NLB-кластер из серверов базирующихся на Windows Server 2008 R2 Standard & Server 2012 R2 Standard с применением роли терминального сервера. Им пользуются сотрудники из регионов, те что за МКАД(ом). А что предполагается из терминального сервера – это работа клиентом с базой данных.

Так вот при работе клиентом у многих людей, статистику у кого именно наблюдаются проблемы с кэшем собирать – это уже перебор. И вот исходя из этой проблемы, я вызвался решить/доработать текущую GPOполитику (Очистка кэша 1С) ну и разобраться в данном вопросе. Просто я когда работал Руководителем IT в Авто бизнесе, уже делал что-то похожее, но это была не GPO, а статическое решение, см. заметку:

Итак, пользователь подключился к NLB-кластеру и его перекинуло на свободный терминальный сервер, далее ему нужно чтобы запустилось окно с возможность выбора баз, а не полноценный рабочий стол, делается это через редактирование вкладки «Среда» свойств доменной учетной записи. Я реализовал все это в рамках этой же GPO.

Шаг №1:

Создаю GPO на OU в который вынесены все пользователи с разбивкой по OUсокращенное имя региона, т.е. структура получается:

CN=User1,OU=Регион1,OU=Region,DC=polygon,dc=local

Итого: GPO: 1C_Cache on Region

  • Фильтр безопасности: Authentication Users
  • Вкладка «Делегирование»
  • Authenticated Users: Чтение

Шаг №2: Создаю командный файл через который и будет производиться запуск скрипта, т.е. скрипт в скрипте:

\\srv-dc.polygon.local\netlogon\cache_new.bat

@echo off

@powershell -WindowStyle Hidden -command "\\srv-dc\netlogon\cache_new.ps1"

@"C:\Program Files (x86)\1cv8\common\1cestart.exe" ENTERPRISE /AppAutoCheckMode /DisableStartupMessages /RunModeOrdinaryApplication

Создаю скрипт очистки кэша 1С:

\\srv-dc\netlogon\cache_new.ps1

Get-childitem -path  "$env:USERPROFILE\AppData\Local\1C\1Cv8\*","$env:USERPROFILE\AppData\Roaming\1C\1Cv8\*" -recurse  | Where {$_.Name -as [guid]} | Remove-Item -Force -Recurse | Unblock-File

В профиле пользователя работающего с при подключении к базе когда появляется окно авторизации формируется GUID каталог, вот этот каталог после перед работой в 1С и нужно удалять.

Шаг №3: Открываю и редактирую созданную в Шаг №1 групповую политику:

GPO: 1C Cache – Конфигурация пользователя – Политики – Административные шаблоны – Компоненты Windows – Службы терминалов – Сервер терминалов – Среда удаленных сеансов – Запускать программу при подключении: включена

  • Путь к программе и имя файла: \\srd-dc.polygon\netlogon\cache_new.bat

После нажимаю «Применить» – «ОК» и закрываю окно «Редактор управления групповыми политиками».

На заметку: От 15.07.2019

Для серверов где ОС Windows Server 2008 R2 нужно разрешить выполнение PowerShell скриптов:

powershell -command set-executionpolicy unrestricted
powershell -command get-executionpolicy

На заметку: От 15.07.2019

На сервера с осью Windows Server 2008 R2 Standard нужно установить Win7AndW2K8R2-KB3191566-x64.msu чтобы отрабатывал коммандлет Unblock-File. Также выявил что файл bat нужно подправить, потому как если это не сделать при подключении под профилем пользователя к TS вы будете получать сообщение вида:

Security waring

Run only script that you trust. While scripts from the internet can be usefule, this script can potentially harn your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message.

@echo off
@powershell -WindowStyle Hidden -NoProfile -ExecutionPolicy Bypass -command "\\srv-dc\netlogon\cache_new.ps1"
@"C:\Program Files (x86)\1cv8\common\1cestart.exe" ENTERPRISE /AppAutoCheckMode /DisableStartupMessages /RunModeOrdinaryApplication

На заметку: От 19.07.2019

На сервера Windows Server 2012 R2 Standard – пакет обновления Win8.1AndW2K12R2-KB3191564-x64.msu, т.к. по умолчанию у меня PowerShell версии 2.0, а будет 5.1

По итогу получаю автоматизированное средство очистки кеша при работе региональных пользователей с NLB-кластером терминальных серверов. Наблюдаю, как идет работа в боевом режиме, в тестовой конфигурации все отрабатывает. Что самое ценное, что шаги отрабатывают, как на Windows Server 2008 R2 & Windows Server 2012 R2. На этом у меня всё, с уважением Олло Александр aka ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru