У меня есть тестовая среда для фермы удаленных рабочих столов с балансировкой нагрузки посредника соединений для входа на серверы узлов удаленных рабочих столов. Все серверы построены на 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. Если это решение не работает.