Код для поддержания активности сеанса rdp после отключения не работает - PullRequest
0 голосов
/ 22 мая 2019

Хорошо, ребята, вот сценарий:

1) Каждый вечер у нас работают 3 запланированных скрипта, это скрипты Python, которые используют функции autogui, поэтому у нас должен быть активный сеанс.Мы запускаем rdp, скажем, на машине X (которая запускает коды) внутри rdp на машине Y (это решение мы нашли так, что autogui будет получать графический интерфейс и периферийные устройства машины Y, когда сеанс отключен).

2) Наш отдел информационных технологий.не поддерживает и не меняет групповую политику, которая блокирует сеанс пользователя через 15 минут.

3) Мы разработали простой скрипт, который отправляет нажатия клавиш каждые 3 минуты (в частности, блокировка прокрутки).Мы выполняем это на обеих машинах X и Y на сеансе PowerShell, открытом на обеих машинах.Сценарий показан ниже.

$Shell = New-Object -ComObject Wscript.Shell
Start-Sleep -Seconds 1

Do {
$Shell.SendKeys("{SCROLLLOCK}")
$Shell.SendKeys("{SCROLLLOCK}")

Start-Sleep -Seconds 180
}
While($True)

ПРОБЛЕМА: В большинстве случаев сценарий работает нормально, а в некоторые дни - нет.Он будет работать 1 или 2 дня подряд, а затем потерпит неудачу.Под неудачей я имею в виду, что я открываю сессию rdp утром, и моя сессия заблокирована, что означает, что все ночные сценарии не сработали, и нам пришлось бы тратить половину дня на выполнение всего, все отчеты компании с задержкой.

Это становится все более разочаровывающим, и у нас есть большое давление, чтобы заставить эту работу работать, чтобы сессия оставалась активной в течение ночи без участия ИТ, потому что они не изменили бы свою политику.

ВОПРОС: если приведенный ниже сценарий кажетсячтобы нормально работать, по крайней мере, в течение дня, а иногда и несколько дней подряд, какие другие действия / процессы могут привести к отключению моего сеанса?Другая политика, которую мы должны обойти другими способами?Действия другого пользователя?

...