Как закрывать все RDP соединения для PDA
Работая на удаленке (мы работаем через день в связи с этим COVID-19
) поступила задача: нужно на связке под склад которая состоит из одного сервера чисто под кластер 1С
+ роль Terminal Server
, а другого под SQL Server
под одну базу настроить чтобы все RDP
соединения терминалов сбора данных завершались в 03
часа ночи каждый день.
И вот работая подключаюсь ни по Remote Desktop Gateway
соединению («Доступ к RDP через авторизацию RADIUS», а по своему «Доступ по RDP через SSH туннель» я приступил к решению данной задачи.
Что имеем:
srv-db03.polygon.local
Hardware: Supermicro X10DRi
OS: Server 2016 Std
Processor: Intel® Xeon® CPU E5-2660 v4 @ 2.00GHz 2.00 GHz (2 processor)
RAM: 128Gb
используется под SQL Server 13.0.5026.0
srv-db04.polygon.local
Hardware: Supermicro X10DRi
OS: Server 2016 Std
Processor: Intel® Xeon® CPU E5-2660 v4 @ 2.00GHz 2.00 GHz (2 processor)
RAM: 128Gb
используется как
кластер 1С Предприятия 8.3 (x86-64) 8.3.16.1063
Terminal Server
Print Server (под принтеры этикеток: TSC TDP-225, TOSHIBA B-FP3D)
Терминалы сбора данных:
PDA GP G-5000
PDA Zebra MC330K
PDA ATOL SMARTPRO
Учетные данные:
Login: pda0001 - pda0040
Из имеющихся настроек посредством GPO
есть только настройки если сессия активна, неактивна, отключена завершать через определенное время, но это не подходит.
В связи с этим под такую задачу не придумал лучше, как написать простенький bat
—файл, который через планировщик заданий на srv-db04
запустит скрипт который произведен выборку определенных пользователей и завершить их сессии.
C:\Scripts\endses.bat
1234567891011121314151617 | @echo offrem end session for srv-db04rem 03:00 nightrem logoff %userid14% /server:%host14% /VMset host=”srv-db04″rem for /f “tokens=1” %%i in (C:\scripts\pda2.txt) DO logoff %%i /server:%host% /VM rem find all pda exclude status Disconnectedquery session | findstr /I “pda” | findstr /V “Disc” > c:\scripts\pda2.txt rem for /f “tokens=3” %%i in (C:\Scripts\pda2.txt) DO echo %%ifor /f “tokens=3” %%i in (C:\Scripts\pda2.txt) DO echo y | logoff %%i /server:%host% /VM rem find all pda status Disconnectedquery session | findstr /I “pda” | findstr “Disc” > c:\scripts\pda3.txtrem for /f “tokens=2” %%g in (C:\Scripts\pda3.txt) DO echo %%gfor /f “tokens=2” %%g in (C:\Scripts\pda3.txt) DO echo y | logoff %%g /server:%host% /VM |
После чего создал задание на srv-db04
что при срабатывании триггера на время 03 часа запускается данный скрипт от имени учетной записи обладающей правами Администратора сервера. И данный скрипт успешно отработал.
Пока нам этого хватает. Задача выполнена, а я приобрел еще одну заметку по решенной задачи. На это у меня всё, с уважением автор блога Олло Александр aka ekzorchik.