|   |   | 
| 
 | v7: Бездействующий терминальный сеанс | ☑ | ||
|---|---|---|---|---|
| 0
    
        АЛьФ 23.12.20✎ 10:29 | 
        1С запускается утром из планировщика для для выполнения автоматических действий. В настройках терминальных сеансов стоит "ограничение бездействующих сеансов" - 1 час, и галка "Завершить сеанс".
 Что можно пнуть со стороны 1С, чтобы винда восприняла это, как действие пользователя и скинула счетчик бездействия? Пытался вызывать SendKey, не помогает. Решение надо именно со стороны 1С. Настройку бездействия не меняем. | |||
| 1
    
        acht 23.12.20✎ 10:49 | 
        Бездействие терминального сеанса определяется не по активности программы, а по поступление данных через канал от клиента. А там все сложно, например, если сеанс свернут, свежая винда начинает заниматься "оптимизацией" и перестает посылать в канал мышь и клавиатуру вообще, даже если они прилетели нужному хендлу. Это где-то хачится в реестре, ЕМНИП, но там много и другого геморроя.
 Запускай сеанс непосредственно на сервере | |||
| 2
    
        АЛьФ 23.12.20✎ 10:52 | 
        2(1) Понятно. Большое спасибо.     | |||
| 3
    
        Aleksey 23.12.20✎ 11:01 | 
        (2) Привязать телефон к мышки поставить будильник каждый час, чтобы он  вибрировал и шевелил мышкой     | |||
| 4
    
        prince64 23.12.20✎ 13:48 | 
        (3) сложная аппаратная схема. Вполне достаточно проги - автонажималки кнопок. Задать таймер, чтобы раз в N время двигать мышкой     | |||
| 5
    
        Ёпрст гуру 23.12.20✎ 13:52 | 
        (0) домен ?
 В групповых политиках можно конкретному юзверю переназначить эти параметры | |||
| 6
    
        АЛьФ 23.12.20✎ 13:54 | 
        2(5) Решение надо именно со стороны 1С. Настройку бездействия не меняем.     | |||
| 7
    
        arsik гуру 23.12.20✎ 13:55 | 
        (5) Ну можно и без домена, у конкретного пользователя терминального сервера увеличить время органичения.     | |||
| 8
    
        Ёпрст гуру 23.12.20✎ 13:55 | 
        в 1cpp был метод
 https://www.1cpp.ru/docum/icpp/html/Informer.html#getidletimeofsystem мот есть и обратный ?.. | |||
| 9
    
        arsik гуру 23.12.20✎ 13:56 | 
        (6) тогда никак     | |||
| 10
    
        Cthulhu 23.12.20✎ 13:59 | 
        скрипт autoit3
 кстати, аутоит - прикольная штука. позволяет быстренько слепить и отладить довольно мощные и тонкие инструменты. | |||
| 11
    
        Ёпрст гуру 23.12.20✎ 14:03 | 
        А открытие стороннего окна.. это время не отменяют ?..типа ie какой-нить открыть/закрыть.. или блокнот     | |||
| 12
    
        АЛьФ 23.12.20✎ 14:20 | 
        Обращаю внимание, что система реально не бездействует, а молотит данные. Просто действий пользователя никаких нет.
 2(10) Есть пример вызова из 1С? | |||
| 13
    
        АЛьФ 23.12.20✎ 14:21 | 
        2(11) Запускается 1С в качестве удаленного приложения. Без рабочего стола.     | |||
| 14
    
        Cthulhu 23.12.20✎ 14:35 | 
        (12): конечно есть. давно слепил exe-шник, меняющий заголовки окон и тасующий их как надо (по строке параметров) - запускаю его как надо из 1с и вперел. там и мышкой можно поелозить и потыкать.     | |||
| 15
    
        Cthulhu 23.12.20✎ 14:36 | 
        ЗЫ: тупой вопрос: а если приостанавливать и задавать вопрос с тайаутом?..     | |||
| 16
    
        АЛьФ 23.12.20✎ 14:39 | 
        2(15) А что это даст?     | |||
| 17
    
        uno-group 23.12.20✎ 15:51 | 
        А зачем ограничивать сеанс для робота, если после выполнения автоматических действий он может завершить сеанс самостоятельно.     | |||
| 18
    
        Ёпрст гуру 23.12.20✎ 16:05 | 
        (17) там не роботу, там всем ограничен.
 Хотя, это можно обойти, тупо роботу в групповых политиках дать другие настройки | |||
| 19
    
        АЛьФ 23.12.20✎ 16:19 | 
        2(17) У нас вот такой вот админ.     | |||
| 20
    
        mistеr 23.12.20✎ 16:22 | 
        (0) Запускайте этот сеанс прямо на сервере     | |||
| 21
    
        uno-group 23.12.20✎ 16:34 | 
        На локальном компе отключать подключение убивая РДП сеанс и переподключаться с какойто переодичностью.     | |||
| 22
    
        ELEA26 23.12.20✎ 16:52 | 
        Set WshShell = WScript.CreateObject("WScript.Shell")
 WshShell.SendKeys("{SCROLLLOCK}") WScript.Sleep 3600000 | |||
| 23
    
        uno-group 23.12.20✎ 16:53 | 
        На стороне сервера если известен ИП с которого подключается этот рдп сеанс можно периодически обрывать сеть на этого клиента
 Типа route add 192.168.1.20 mask 255.255.255.0 192.168.1.255 и через минуту удалять этот маршрут командой route delete 192.168.1.20 mask 255.255.255.0 192.168.1.255 20- ип машины с сеансом. 255 несуществующий в сети ип. Насколько помню обрыв и востановление сети он воспринимает как какую то активность на стороне клиента. Можно проверить тупо вытянув сетевой шнур у клиента и вставив его назад через какое то время. | |||
| 24
    
        ELEA26 23.12.20✎ 16:53 | 
        ну не 3600000 а там 2000000     | |||
| 25
    
        Ёпрст гуру 23.12.20✎ 16:54 | 
        (22) дык не работает это, ТС уже делал     | |||
| 26
    
        ELEA26 23.12.20✎ 16:57 | 
        так он на клиенте делал или внутри, на сервере?
 Изнутри, из сеанса - никак. | |||
| 27
    
        АЛьФ 23.12.20✎ 17:00 | 
        2(21) Запускается из планировщика. Доступны только действия из 1С.
 2(22) Так не работает. Писал в (0), что пытался использовать SendKey. 2(23) Опять же не из 1С это делать надо будет, а снаружи. | |||
| 28
    
        ELEA26 23.12.20✎ 17:01 | 
        изнутри никак. увы.     | |||
| 29
    
        uno-group 23.12.20✎ 17:09 | 
        (27) команда системы(...), запустить приложение и делаем два батника
 модно эти действия в планировщике не клиенте прописать | |||
| 30
    
        ELEA26 23.12.20✎ 17:12 | 
        (29) да не отработает оно изнутри. Хоть VLC с видосиком запускай. Только с клиента что-то может получиться.     | |||
| 31
    
        uno-group 23.12.20✎ 17:29 | 
        (30) только что проверил при обрыве сети и последующем ее востановление idle time сбрасывается на 0.
 прописав кривой маршрут мы обрываем сеть. и после востановления сети таймер начинает считать с 0. | |||
| 32
    
        АЛьФ 23.12.20✎ 17:31 | 
        2(31) Что-то мне подсказывает, что 1С при этом весело потеряет SQL-сервер.     | |||
| 33
    
        acht 23.12.20✎ 17:35 | 
        (31) Осталось только вычислить адрес TS клиента, соединения от которого надо занулить.
 Ну и, по-хорошему, рвать его исключительно для текущего процесса. | |||
| 34
    
        ELEA26 23.12.20✎ 17:36 | 
        не должен. Если RDP клиент и сервер 1Ц не одно лицо.     | |||
| 35
    
        uno-group 23.12.20✎ 17:36 | 
        (32) С какого перепугу мыж меняем маршрут от терминального сервера на клиентскую машину. не трогая маршруты терминального сервера и скл.     | |||
| 36
    
        acht 23.12.20✎ 17:38 | 
        (35) Ну, зато можно внезапно получить адрес маршрутизатора и весело грохнуть соединения сразу для всех =)     | |||
| 37
    
        ELEA26 23.12.20✎ 17:58 | 
        Ну раз такая пьянка:
 cports.exe /close <Local Address> <Local Port> <Remote Address> <Remote Port> с https://www.nirsoft.net/utils/cports.html аналог TcpView, но можно с командной строки шалить | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |