Измените стандартное разрешение подключения к удаленному рабочему столу (mstsc)
Есть ли способ изменить стандартное разрешение, которое mstsc использует?
Я не хочу, чтобы оно по умолчанию было полностью разрешено на клиентской машине.
Есть ли способ изменить стандартное разрешение, которое mstsc использует?
Я не хочу, чтобы оно по умолчанию было полностью разрешено на клиентской машине.
Конечно, просто сдвиньте “Конфигурацию дисплея” обратно на ступеньку в любое разрешение, которое вы хотите. Затем вернитесь на вкладку “Общие” и нажмите кнопку “Сохранить”.
Hey presto, новый по умолчанию :-)
Пока вы на этом, обычно не повредит перейти на вкладку “Локальные ресурсы” и снять флажок “Принтеры” и просмотреть, что еще является общим (серьезно, кто когда-либо печатал через RDP?).
Я лично работаю на экране ноутбука 1440x900 и, как и мои окна на удаленном рабочем столе, при максимальном увеличении, я запускаю mstsc.exe переключатели /v: и /w: для установки его высоты и ширины (см. полный список mstsc.exe /?). mstsc.exe /h:900 /w:1100 устанавливает его на мой предпочитаемый размер, и, кажется, сохранить эту настройку для будущих сессий.
Вы также можете напрямую редактировать файл .rdp. Обычно я просто открываю его в блокноте. Вы можете редактировать и сохранять как любой обычный текстовый файл. Свойства, которые я чаще всего редактирую, это desktopwidth
, desktopheight
и winposstr
. Это также позволяет вам выбрать любое разрешение, а не только предопределенные в ползунке GUI. Единственная часть, которая немного сбивает с толку - это параметры для winposstr
; оставьте первые два и последние четыре - левое, верхнее, правое, нижнее расположение окна соответственно. У меня есть три монитора с разрешением 1600 X 1200, и вот что я использую для отображения сессии на третьем мониторе без полос прокрутки.
full address:s:Win7VM
prompt for credentials:i:1
screen mode id:i:1
use multimon:i:0
desktopwidth:i:1590
desktopheight:i:1160
session bpp:i:32
winposstr:s:0,3,3200,0,4790,1160
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow font smoothing:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
redirectprinters:i:0
redirectcomports:i:0
redirectsmartcards:i:1
redirectclipboard:i:1
redirectposdevices:i:0
drivestoredirect:s:
autoreconnection enabled:i:1
authentication level:i:2
negotiate security layer:i:1
remoteapplicationmode:i:0
alternate shell:s:
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
promptcredentialonce:i:0
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:
Если вам нужна более подробная информация об winposstr
, за кулисами используется функция Windows API SetWindowPos
.
Edit:
Я забыл упомянуть об этом. Еще одна интересная вещь при редактировании его как текстового файла - вы можете открыть несколько документов в чем-то вроде блокнота++ и сделать массовую замену. Так скажем, у меня есть десять .rdp файлов и я хочу изменить winposstr
на одинаковые значения во всех из них. Я могу просто выкинуть их все в блокнот++ и сделать массовую замену, гораздо проще, чем просто так ходить вокруг этого графического интерфейса и переключать табуляции для сохранения.
Мне нравится начинать mstsc.exe со сценария PowerShell. Мои скрипты называются “RDP.PS1”, потому что RDP легче набирать, чем mstsc :)
Есть некоторые значения, которые мне обычно нужны: никаких принтеров, приводов и настроек дисплея BASIC, чтобы сеанс RDP работал быстрее.
У меня есть комбинация “default.rdp” и переключателей, доступных с mstsc.exe. Я сделал это потому, что mstsc.exe не разрешает полную конфигурацию из командной строки. Установив все мои предпочтения в “default.rdp”, а затем включая имя сервера, /v: и отображение размеров, /h: и /w:, я получаю сеанс так, как мне нравится.
Создать “default.rdp” и сохранить его, как этот поток описал. Затем объедините его с mstsc.exe переключателями:
mstsc.exe MyDefaultPrefs.RDP /v:MyServer /h:815 /w:1300
Я использовал PowerShell для добавления в несколько других переключателей, если я захочу их использовать. Однако, по большей части, все, что я набираю:
RDP MyServer
, и пусть будут значения по умолчанию.
Вот что я сделал, чтобы решить эту проблему. Она также работает со старыми приложениями, которые не справляются с высоким уровнем масштабирования DPI.
Сначала нужно сказать Windows, чтобы она искала файл манифеста для приложения по умолчанию - запись в реестре.
HKEY_LOCAL_MACHINE
→SOFTWARE
→Microsoft
→Windows
→CurrentVersion
SideBySide
→NEW
DWORD (32 bit) Value
, а затем нажмите Enter. PreferExternalManifest
, а затем нажмите PreferExternalManifest
. Modify
из Value Data
и выберите 1
. Щелкните OK. Выйдите из редактора реестра.
Далее следует предоставить файл манифеста для данного приложения - имя исполняемого файла, за которым следует Decimal
.
Приложение RDP .manifest
, поэтому файл манифеста %windir%\System32\mstsc.exe
.
Я не могу прикрепить файл манифеста, поэтому вот содержимое:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.VC90.CRT"
version="9.0.21022.8"
processorArchitecture="amd64"
publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
```.
У меня есть ноутбук, который я подключаю к разным внешним мониторам в разных местах, иногда я подключаюсь к ноутбуку с настольной машины, так что я получаю преимущества полноразмерной клавиатуры/мыши/монитора…
Это меня огорчает, потому что все они имеют разное разрешение, и, несмотря на выбор “Полный экран”, это, похоже, не сохранит для меня. Если я работаю дома с одним разрешением, а потом прихожу в офис и использую монитор с другим разрешением, то мое окно RDP часто заканчивается “полноэкранным” разрешением для последнего монитора, который я использовал. Это означает, что это либо слишком большой или слишком маленький.
Для исправления этого я использовал переключатель “/f” непосредственно в ссылке стартового меню.
Щелкните правой кнопкой мыши на иконку “Remote Desktop Connection” в стартовом меню
Свойства
Измените значение “Цель” на : %windir%\system32\mstsc.exe /f
Надеюсь, это поможет.
См. это руководство об опциях, доступных в файле .rdp. Например, я хотел, чтобы соединение открывалось в полноэкранном режиме на мониторе, который расширяет экран моего ноутбука. За это отвечают 2 параметра:
screen mode id:i:2 // fullscreen mode
winposstr:s:0,<screen number>,<laptop screen width>,0,<laptop screen width + monitor screen width>,<monitor screen height>
```.
Наиболее полезным решением, которое я нашел, было установить свойства панели задач моей локальной машины на “auto-hide” (щелкните правой кнопкой мыши на пустой части панели задач, выберите свойства, я снимаю блокировку с панели задач и отмечаю свойство “auto-hide”). Локальная панель задач все равно появляется, когда я нажимаю мышью до самого низу экрана. В противном случае я вижу и могу использовать панель задач удаленной системы. Надеюсь, это поможет.
Вы также можете использовать функцию Smart Resizing в rdp-файле, как описано здесь .
Это позволяет вам иметь пользовательский размер по умолчанию, но также позволяет изменять размер окна удаленного рабочего стола “на лету” без введения ненужных полос прокрутки.
Короткая история:
desktopwidth:i:1280 and desktopheight:i:1024
(заменив эти цифры на желаемое разрешение) smart sizing:i:1