Добавить функцию нескольких мониторов в веб-доступ к удаленному рабочему столу
У меня есть тестовая среда для фермы удаленных рабочих столов с логинами балансировки нагрузки посредника соединений на хост-серверах сеансов удаленных рабочих столов. Все серверы построены на Server 2012 R2. Используя веб-доступ, мы можем получить доступ к этой ферме из любой точки мира.
При входе через веб-доступ вы можете выбрать разрешение экрана или использовать полный экран. Если у вас есть два монитора при выборе полноэкранного режима, он всегда будет использовать оба ваших монитора.
Кто-нибудь знает, как настроить страницу RDWeb, чтобы вы могли выбрать, следует ли использовать оба ваших монитора?
Эта опция присутствует в графическом интерфейсе начиная с RDP 6.1, поэтому я думаю, что есть способ добавить ее на страницу веб-доступа.
1 ответ
По умолчанию пользователь не может выбирать между использованием одного или нескольких мониторов в ферме Microsoft RDS на основе Windows Server 2012(R2). Хотя в содержимом файла RDP, который создается страницей веб-доступа к удаленным рабочим столам, есть возможность добавлять / заменять параметры. Это можно сделать, изменив флажок ShowOptimizeExperience.
Для этого вам необходимо выполнить следующие шаги:
Изменить настройки приложения в IIS Manager
Изменить файл Site.xsl
Изменить файл RDWAStrings.xml
Изменить настройки приложения в IIS Manager
Запустить IIS Manager
Перейдите на: Веб-сайт по умолчанию -> 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, вы увидите флажок с текстом "Использовать несколько мониторов".