OsError: screen grab filed (Windows Server 2012 R2)

Всех приветствую, у меня есть простенький скрипт автокликера, который каждую секунду делает скриншот экрана и ищет разные кнопки, он был скомпилирован с помощью PyInstaller, я решил поставить его на выделенный сервер Windows Server 2012 R2, подключился с помощью RDP к удаленному рабочему столу, запустил exe файл скрипта, все прекрасно работает, ну и я выхожу с RDP. Подключившись снова, я понимаю что после того как я вышел с RDP начали лететь ошибки, OsError: screen grab filed, и как только я подключился ошибки сразу же перестали появляться и скрипт работал в нормальном состоянии.

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

Как можно это побороть? 2 День ломаю голову, все бестолку, выделенный сервер был взят от Azure.

См скрины нормальной работы и работы после выхода из RDP ниже: Нормальная работа

После выхода из RDP


Ответы (1 шт):

Автор решения: Cookie

Проблема решилась путем колхоза небольшого .bat скрипта:

@echo off
echo.
echo Remote Desktop will be temporarily disconnected . . . please reconnect after a few seconds.
echo.
pause
@echo on
REM The active session has an arrow as the first character
setlocal EnableDelayedExpansion
FOR /F %%A in ('qwinsta') do (
set tempSessionName=%%A
if "!tempSessionName:~0,1!"==">" (
@echo on
tscon.exe !tempSessionName:~1! /v /dest:console
@echo off
)
)
echo.
pause

После запуска этого скрипта нас выкинит из RDP, нам нужно будет подключится используя сторонее приложение, лично я использовал AnyDesk, и запустить наш софт или делать все что вздумается.

Отмечу что после применения этого скрипта разрешение экрана меняется на самое минимальное, это легко поправить в настройка экрана.

→ Ссылка