将多显示器选项添加到远程桌面Web访问

我有远程桌面服务器的连接代理负载均衡login的远程桌面服务器的testing环境。 所有服务器都构build在Server 2012 R2上。 使用rdnetworking访问,我们可以从任何地方访问这个农场。

通过Web访问login时,可以select屏幕分辨率或全屏显示。 如果您在select全屏时有两台显示器,它将始终使用两台显示器。

有谁知道如何调整RDWeb页面,以便您可以select是否同时使用您的显示器?

这个选项是从RDP 6.1开始的GUI,所以我想可以有一种方法来添加它的网页访问页面。

默认情况下,用户无法在基于Windows Server 2012(R2)的Microsoft RDS场中使用一台或多台显示器进行select。 尽pipe可以select在“RD Web访问”页面生成的RDP文件内容中添加/replace选项。 这可以通过修改ShowOptimizeExperiencecheckbox来完成。

要做到这一点,你需要执行以下步骤:

  • 在IISpipe理器中更改应用程序设置

  • 修改Site.xsl文件

  • 修改RDWAStrings.xml文件

在IISpipe理器中更改应用程序设置

  • 启动IISpipe理器

  • 转到:默认网站 – > RDWeb – >页面 – >应用程序设置

  • 将选项ShowOptimizeExperience从False更改为True

修改RDWAStrings.xml文件

转到以下path:C:\ Windows \ Web \ RDWeb \ Pages \ en-US \在记事本中打开文件RDWAStrings.xml

replace文字:

<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文件

转到以下path:C:\ Windows \ Web \ RDWeb \ Pages \打开文件Site.xsl

search文本strRdpFileContents

replace文字:

 <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正在search正则expression式“connection type:i:”。

在生成的rdp文件内容中,文本是“连接types%3Ai%3A”。

这意味着微软的“优化我的体验”选项永远不会起作用。

当您现在转到您的RDS网页时,您将看到一个checkbox,其中显示“使用多个监视器”