Назад | Перейти на главную страницу

Добавить возможность использования нескольких мониторов для доступа к удаленному рабочему столу через Интернет

У меня есть тестовая среда для фермы удаленных рабочих столов с балансировкой нагрузки посредника соединений для входа на серверы узлов удаленных рабочих столов. Все серверы построены на Server 2012 R2. Используя rd веб-доступ, мы можем получить доступ к этой ферме откуда угодно.

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

Кто-нибудь знает, как настроить страницу RDWeb, чтобы вы могли выбрать, использовать ли оба монитора?

Эта опция есть в графическом интерфейсе, начиная с RDP 6.1, поэтому я думаю, что есть способ добавить ее и на страницу веб-доступа.

По умолчанию пользователь не может выбирать между использованием одного или нескольких мониторов в ферме Microsoft RDS на базе Windows Server 2012 (R2). Хотя есть возможность добавлять / заменять параметры в содержимом файла RDP, которое создается на странице веб-доступа к удаленным рабочим столам. Это можно сделать, изменив флажок ShowOptimizeExperience.

Для этого вам необходимо выполнить следующие шаги:

  • Измените настройки приложения в диспетчере IIS

  • Измените файл Site.xsl

  • Измените файл RDWAStrings.xml

Измените настройки приложения в диспетчере IIS

  • Запустить диспетчер IIS

  • Перейдите к: Веб-сайт по умолчанию -> RDWeb -> Страницы -> Настройки приложения.

  • Измените параметр ShowOptimizeExperience с False на True

Измените файл RDWAStrings.xml

Перейдите по следующему пути: C: \ Windows \ Web \ RDWeb \ Pages \ en-US
Откройте файл RDWAStrings.xml в блокноте

Замените текст:

<string id="OptimizeMyExperience">Optimize my experience for a LAN network when connecting to the computer or application.</string>

со следующим текстом:

<string id="OptimizeMyExperience">Use multiple monitors.</string>

Измените файл Site.xsl

Перейдите по следующему пути: C: \ Windows \ Web \ RDWeb \ Pages
Откройте файл Site.xsl

Искать текст strRdpFileContents

Замените текст:

<xsl:if test="$showoptimizeexperience">
    if (<xsl:value-of select="$feedidprefix"/>Controls.chkShowOptimizeExperience.checked) {
        var objRegExp = new RegExp("connection type:i:([0-9]+)", "i");
        var iIndex = strRdpFileContents.search( objRegExp );
        <!-- Add 'connection type' if it does exist otherwise replace. -->
        if ( -1 == iIndex ) {
            if ( "\\n" != strRdpFileContents.charAt(strRdpFileContents.length-1) ) { 
            strRdpFileContents += "\\r\\n"; 
            }
            strRdpFileContents += "connection type:i:6\\r\\n";
        } else { 
            strRdpFileContents = strRdpFileContents.replace(objRegExp, "connection type:i:6");
            }
        }
</xsl:if>

Со следующим текстом:

<xsl:if test="$showoptimizeexperience">
    var pmxUseMultimon = 0;
    if (<xsl:value-of select="$feedidprefix"/>Controls.chkShowOptimizeExperience.checked) {
        pmxUseMultimon = 1;
    }
    var objRegExp = new RegExp("use%20multimon%3Ai%3A([0-9])", "i");
    var iIndex = strRdpFileContents.search( objRegExp );
    <!-- Add 'use multimon' if it does exist otherwise replace. -->
    if ( -1 == iIndex ) {
        if ( "\\n" != strRdpFileContents.charAt(strRdpFileContents.length-1) ) { 
        strRdpFileContents += "\\r\\n"; 
        }
        strRdpFileContents += "use%20multimon%3Ai%3A"+pmxUseMultimon+"\\r\\n";
    } else { 
        strRdpFileContents = strRdpFileContents.replace(objRegExp, "use%20multimon%3Ai%3A"+pmxUseMultimon);
    }
</xsl:if>

Примечание:

Как вы можете видеть в исходном тексте, Microsoft ищет регулярное выражение «тип соединения: i:».

В сгенерированном содержимом файла rdp отображается текст «тип соединения% 3Ai% 3A».

Это означает, что опция Microsoft «Оптимизировать мой опыт» никогда не сработает.

Когда вы перейдете на свою веб-страницу RDS, вы увидите флажок с текстом «Использовать несколько мониторов».

Очень важно установить в конфигурации удаленного приложения «Максимальное количество перенаправляемых мониторов» значение больше 1. Если это решение не работает.