изменить разрешение по умолчанию для подключения к удаленному рабочему столу (mstsc)

<p>есть ли способ изменить разрешение по умолчанию, которое использует mstsc?</p><p>я не хочу, чтобы по умолчанию использовалось полное разрешение клиентского компьютера.</p><p><img src="https://i.stack.imgur.com/mmskb.jpg" alt="enter image description here"></p>

<p>конечно, просто сдвиньте эту «конфигурацию дисплея» на любую ступеньку назад до любого желаемого разрешения. затем вернитесь на вкладку «общие» и нажмите кнопку «сохранить».</p><p>эй, presto, новый дефолт :-)</p><p>пока вы занимаетесь этим, обычно не помешает перейти на вкладку «локальные ресурсы», снять флажки «принтеры» и просмотреть, что еще является общим (серьезно, кто нибудь печатает поверх rdp?).</p>

<p>я лично работаю на экране ноутбука 1440x900, и мне нравится, когда мои окна удаленного рабочего стола при развертывании немного меньше экрана, поэтому я запускаю mstsc.exe переключатели/v: и/w: для установки его высоты и ширины (см. mstsc.exe/за полный список). mstsc.exe/h: 900/w: 1100 устанавливает мой предпочтительный размер, и, похоже, этот параметр будет сохранен для будущих сессий.</p>

<p>вы также можете редактировать .rdp файл напрямую. я обычно просто открываю его в блокноте. вы можете редактировать и сохранять, как любой обычный текстовый файл. наиболее часто редактируемые свойства: <code>desktopwidth</code>, <code>desktopheight</code> и <code>winposstr</code>. это также позволяет вам выбрать любое разрешение, а не только предопределенные в слайдере gui. единственная часть, которая немного сбивает с толку - это параметры для <code>winposstr</code>; оставьте первые два в покое, а последние четыре слева, сверху, справа и снизу окна соответственно. у меня есть три монитора с разрешением 1600 x 1200, и вот что я использую для отображения сеанса на третьем мониторе без полос прокрутки.</p><pre><code>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: </code></pre><p>если вам нужна дополнительная информация о <code>winposstr</code>, то за кулисами она использует функцию windows api <code>setwindowpos</code>.</p><p><b>правка:</b></p><p>я забыл упомянуть об этом. еще одна интересная вещь о редактировании его в виде текстового файла - вы можете открывать несколько документов в чем-то вроде блокнота ++ и выполнять массовые замены. допустим, у меня есть десять rdp-файлов, и я хочу изменить <code>winposstr</code> на одинаковые значения во всех них. я могу просто выбросить их все в notepad ++ и выполнить массовую замену, гораздо проще, чем копаться в этом графическом интерфейсе и переключаться между вкладками для сохранения.</p>

<p>мне нравится запускать mstsc.exe из скрипта powershell. мои сценарии названы "rdp.ps1", потому что rdp легче набирать, чем mstsc :)</p><p>есть некоторые значения, которые я обычно почти всегда хочу одинаковые: нет принтеров, нет дисков и основные настройки экрана, чтобы сеанс rdp проходил быстрее.</p><p>у меня есть комбинация «default.rdp» и переключателей, доступных с mstsc.exe. я сделал это, потому что mstsc.exe не позволяет завершить настройку из командной строки. устанавливая все мои настройки в «default.rdp», затем включая имя сервера,/v: и размеры дисплея,/h: и/w:, я получаю сеанс так, как мне нравится.</p><p>создайте «default.rdp» и сохраните его, как описано в этой теме. затем объедините его с переключателями mstsc.exe:</p><blockquote> <p>mstsc.exe mydefaultprefs.rdp/v: myserver/h: 815/w: 1300</p> </blockquote><p>я использовал powershell, чтобы добавить несколько других переключателей, если захочу их использовать. по большей части, все, что я печатаю, это:</p><blockquote> <p>rdp myserver</p> </blockquote><p>и пусть по умолчанию будет.</p>

<p>проблема с ноутбуком 1440x900 довольно распространена. да, вы можете выбрать меньшее разрешение, скажем, 1024x768 или 800x600, и они дадут приемлемые результаты - если вам нужно избегать полос прокрутки внутри самого экземпляра rdp.</p><p>должно быть удобнее выбрать текущее разрешение рабочего стола, но во многих клиентах это даст менее желательные результаты (вы получаете полосы прокрутки), если вы не переключите полноэкранный режим.</p><p>чтобы ваш клиент rdp (поскольку мы, похоже, говорим о mstsc.exe здесь), сеанс происходит в самом окне, избегая полос прокрутки (или вышеупомянутых разрешений, которые ниже оптимальных),/h: 900/w : 1100 параметров, предложенных выше, являются отличной отправной точкой, но со всеми вещами ymmv, так что играйте с этим, пока не получите его<em> просто так </em>;)</p><p>многие клиенты rdp также позволяют вам устанавливать «пользовательские» разрешения непосредственно перед подключением, и да, большинство клиентов будут помнить ваши последние сеансы.</p><p>одна важная вещь, о которой вы должны знать. для всех нас, пользователей unix, мы будем использовать такие вещи, как vcenter, putty и т.д., в наших сеансах удаленных окон, и что бы вы ни называли своими dos-подобными консолями, ну ... они не следуют тот же набор правил, что и на остальной части вашего рабочего стола, поэтому просто отметьте это при настройке разрешений и установите свои предпочтения в соответствии с тем, насколько хорошо<em> windows </em>рабочий стол вписывается в ваше рабочее пространство, потому что вы просто собираетесь чтобы привыкнуть к перемещению этих<em> dos-подобных </em>окон, так как они всегда будут немного неуклюжими.</p><p>вы также можете установить 24-битный цвет с помощью хака, потому что он по умолчанию отключен, хотя большинству людей это и не нужно, и хотя некоторые люди любят отключать печать, я считаю, что использование удаленных приложений и локальная печать через rdp - это не только мечта , но часть моих регулярных заданий на ежедневной основе.</p><p>поэтому помните, что если вы используете локальное разрешение 1440x900, вам нужно либо запустить клиент rdp в полноэкранном режиме (кажется, что это ваш локальный рабочий стол), либо, чтобы запустить его как очевидное оконное приложение, вы ' вам нужно будет настроить<em> пользовательское </em>разрешение экрана на что-нибудь<em> немного </em>меньше, что даст окно о размере всего вашего рабочего стола, но не будет выглядеть так, как будто это ваш локальный рабочий стол - это то, что многие предпочитают , поскольку они находят это смущающим иначе.</p><p>надеюсь, это поможет :)</p>

<p> <a href="https://answers.microsoft.com/en-us/surface/forum/surfpro4-surfdrivers/surface-pro-4-windows-10-remote-desktop-other/d17d4321-0f04-4a64-95b4-1c6dd5de9c91">https://answers.microsoft.com/en-us/surface/forum/surfpro4-surfdrivers/surface-pro-4-windows-10-remote-desktop-other/d17d4321-0f04-4a64-95b4- 1c6dd5de9c91</a> </p><p>вот что я сделал, чтобы решить эту проблему. он также работает со старыми приложениями, которые плохо справляются с масштабированием с высоким разрешением.</p><p>сначала нужно сказать windows, чтобы он искал файл манифеста для приложения по умолчанию - запись в реестре.</p><ul> <li>откройте regedit и перейдите к разделу реестра: <code>hkey\_local\_machine</code> → <code>software</code> → <code>microsoft</code> → <code>windows</code> → <code>currentversion</code> → <code>sidebyside</code></li> <li>щелкните правой кнопкой мыши и выберите <code>new</code> → <code>dword (32 bit) value</code></li> <li>введите <code>preferexternalmanifest</code> и нажмите <kbd>enter</kbd>,.</li> <li>щелкните правой кнопкой мыши <code>preferexternalmanifest</code> и выберите <code>modify</code>.</li> <li>введите <code>value data</code> из <code>1</code> и выберите <code>decimal</code>.</li> <li>нажмите <kbd>ok</kbd>, выход из редактора реестра.</li> </ul><p>далее следует предоставить файл манифеста для данного приложения - имя исполняемого файла, за которым следует <code>.manifest</code>.</p><p>приложение rdp - <code>%windir%\system32\mstsc.exe</code>, поэтому файл манифеста - <code>mstsc.exe.manifest</code>.</p><p>я не могу прикрепить файл манифеста, поэтому вот содержимое:</p><pre><code><?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> </code></pre>

<p>у меня есть ноутбук, который я подключаю к разным внешним мониторам в разных местах, иногда я подключаюсь к ноутбуку с настольного компьютера, чтобы использовать преимущества полноразмерной клавиатуры/мыши/монитора.</p><p>это вызывает у меня горе, потому что все они имеют разные разрешения, и, несмотря на выбор «полноэкранный режим», это, похоже, не спасает меня. если я работаю дома с одним разрешением, а затем прихожу в офис и использую монитор с другим разрешением, я часто получаю, чтобы мое окно rdp получало разрешение «полный экран» для последнего монитора, который я использовал. это означает, что он либо слишком большой, либо слишком маленький.</p><p>чтобы исправить это, я использовал переключатель «/ f» прямо в ссылке меню «пуск».</p><ol> <li>щелкните правой кнопкой мыши значок «подключение к удаленному рабочему столу» в меню «пуск».</li> <li>свойства</li> <li>измените значение «target» на:% windir%\system32\mstsc.exe/f</li> </ol><p>надеюсь это поможет.</p>

<p>решение, которое я нашел наиболее полезным, состояло в том, чтобы установить свойства панели задач моего локального компьютера на «автоматическое скрытие» (щелкните правой кнопкой мыши пустую часть панели задач, выберите свойства, я снял блокировку панели задач и проверил «автоматическое скрытие» " имущество). локальная панель задач по-прежнему отображается, когда я полностью указываю мышкой вниз до нижней части экрана. в противном случае, я вижу и могу использовать панель задач удаленной системы. надеюсь, это полезно.</p>

<p>вы также можете использовать smart resizing в файле rdp, как указано <a href="https://support.smartbear.com/testcomplete/docs/testing-with/running/via-rdp/smart-resizing.html">здесь</a> .</p><p>это позволяет вам иметь нестандартный размер по умолчанию, но также позволяет изменять размер окна удаленного рабочего стола на лету, не вводя ненужные полосы прокрутки.</p><p>короче:</p><ul> <li>установите желаемое разрешение по умолчанию с помощью <code>desktopwidth:i:1280 and desktopheight:i:1024</code> (заменив эти цифры на желаемое разрешение)</li> <li>добавьте следующую строку в конец файла rdp:<br> <code>smart sizing:i:1</code></li> </ul>