Разрешение экрана для удаленного компьютера изменяется после безопасного закрытия сеанса RDP с помощью "SupressWhenMinimzed"

Прежде всего, извините за (может быть, не очень конкретный) заголовок, поскольку он состоит из нескольких тем.

У меня проблема связана с моей настройкой автоматизации тестирования. Он состоит из машины linux, которая обрабатывает BE + FE и запускает тестирование самостоятельно. И Windows Server 2008 (Терминал), к которому я подключаюсь через сеанс RDP, и это место, где выполняются реальные тесты. В целях автоматизации я использую Ranorex.

Прежде всего, как я настроил машину Win: Поскольку Ranorex - это инструмент автоматизации тестирования GUI, он должен иметь компоненты, видимые для AUT (тестируемого приложения), и по этой причине вам необходимо закрыть клиент RPD, не закрывая сеанс. сам по себе тест начнет проваливаться.

Для этого я создал файл bat со следующим кодом:

%windir%\System32\tscon.exe RDP-Tcp#0 /dest:console

И добавил значение DWORD reg reg в папку HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client

RemoteDesktop_SuppressWhenMinimized

со значением 2.

После запуска файла bat с правами администратора он закроет сеанс RDP, но все равно будет держать терминальное соединение открытым для компьютера с Win Server, что позволит запускать тесты.

Теперь проблема заключается в том, что после безопасного закрытия сеанса разрешение, которое устанавливается для открытого левого сеанса, составляет 1024x768, в то время как при открытом соединении RDP оно составляет 1920x1200.

Итак, наконец, вопрос, на который я не смог ответить сам: возможно ли как-то указать разрешение для сеанса, который остается открытым?

3 ответа

Единственное решение, которое я нашел для меня, - это установить на компьютер какое-либо программное обеспечение VNC, подключиться к нему, изменить разрешение (в моем случае также на 1920x1200), поскольку вы не можете сделать это с помощью RDP, и у меня нет доступа к настоящая машина.

Я также загружаю инструмент QRes.exe и добавляю его в путь.

И, наконец, создайте этот скрипт:

for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
  %windir%\System32\tscon.exe %%s /dest:console
  timeout 5
  qres /X 1920 /Y 1080 /C 32
)

Создайте для него ярлык (установите для запуска от имени администратора), и с этого момента вы можете подключаться через RDP (mstsc), но оставив просто щелкнуть значок в приведенном выше сценарии вместо того, чтобы просто закрывать RDP.

PS: Qres установлен на 1920x1080, так как он не поддерживает 1920x1200, но в моем случае (Windows 10) тесты все еще выполняются в разрешении, установленном с VNC -> 1920x1200, так что все в порядке.

Теперь проблема в том, что после безопасного закрытия сеанса разрешение>, которое устанавливается для левого открытого сеанса, составляет 1024x768, в то время как когда RDP-соединение> открыто, оно составляет 1920x1200.

Я тоже заметил это. Из того, что я смог выяснить, на машине, на которую вы подключаетесь, должно быть разрешение по умолчанию = 1920x1200 на физической (или виртуальной) машине.

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

Удачи!

Мне пришлось иметь дело с подобной проблемой. Я решил эту проблему, установив в машину агент управления Dameware MiniRemote. Подключившись к нему через приложение Dameware MiniRemote Control, вы можете изменить разрешение, которое вы не можете использовать в RDP. (RealVNC или подобные могут работать, как предлагали другие, я не пробовал их)

Некоторые решения, которые не работают для меня

  1. QRes.exe / x: 1920 / y: 1200 http://qres.sourceforge.net/
  2. Инструментарий управления Windows (встроенный): wmic desktopmonitor create screenheight = 1920, screenwidth = 1200
  3. ChangeScreenResolution: http://tools.taubenkorb.at/change-screen-resolution/
  4. Постоянные окна: http://www.ninjacrab.com/persistent-windows/
Другие вопросы по тегам