问题

问题

我正在尝试使用远程桌面登录托管在 Azure 中的 Dynamics 365 AOS 服务器,使用RDP 文件和凭据显示在环境低碳船页。

Dynamics 365 AOS 服务器是一个Windows Server 2016 Datacenter Edition盒子。

通过服务器访问时Windows Server 2012 R2(即通过 RDP 连接到服务器,然后从 LCS 下载 DFO365 RDP 文件到该机器并在“代理”服务器上运行 RDP 客户端),一切正常,但尝试直接从我的Windows 7 SP1机器访问会失败。一位同事也在运行Windows 7 SP1,也遇到了同样的问题。

我的公共 IP(即访问时看到的)我的IP) 已列入 RDP 白名单(通过 LCS Maintain> Enable Access)。

直到上周中旬,我和我的同事都能够通过 RDP 访问该 VM。

通过“代理”服务器,我能够查看远程 Dynamics 365 AOS 服务器上的事件日志。查看Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational事件日志,我可以看到我的连接尝试到达此服务器,因为有警告消息指出:The server security layer detected an error (0x80090304) in the protocol stream and the client (Client IP:123.45.67.89) has been disconnected.(在哪里123.45.67.89与我的公共 IP 地址匹配)。警告两侧还有其他几个信息事件:

  • 信息The server accepted a new TCP connection from client 123.45.67.89:58177.
  • 信息Connection RDP-Tcp#4 created
  • 信息Interface method called: PrepareForAccept
  • 信息Interface method called: SendPolicyData
  • 信息PerfCounter session started with instance ID 4
  • 警告The server security layer detected an error (0x80090304) in the protocol stream and the client (Client IP:123.45.67.89) has been disconnected.
  • 信息Interface method called: OnDisconnected
  • 信息The server has terminated main RDP connection with the client.
  • 信息During this connection, server has not sent data or graphics update for 0 seconds (Idle1: 0, Idle2: 0).
  • 信息Channel rdpinpt has been closed between the server and the client on transport tunnel: 0.
  • 信息Channel rdpcmd has been closed between the server and the client on transport tunnel: 0.
  • 信息Channel rdplic has been closed between the server and the client on transport tunnel: 0.
  • 信息The disconnect reason is 14

这些事件重复 3 次,意味着 MSTSC 在报告失败之前尝试了 3 次连接。

在网上浏览时,我看到有人提到证书和关键问题。我注意到,下有 120,078 个文件C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys,包括一个以f686aace6942fb7f7ceb231212eef4a4_TSSecKeySet1)。不过,我还没有尝试删除或修改其中任何一个,因为不知道会有什么影响/没有看到任何解释为什么这样的修复应该有效。我的直觉是,该目录中的文件数量可能与该问题有关。

问题

是否有人知道是什么阻止了这些连接尝试/需要什么才能允许连接通过?

答案1

更新时间2018-04-30:适用于 Dev/Build 环境的解决方案不适用于 Sandbox 环境。


对于沙盒(第 2 层)环境

总结

升级客户端 RDP 协议以包含 DTLS 和 RDP 8.0(可能只需要第一部分;未经测试)。

细节

  • 检查您的 RDP 协议版本
    • 按住Windows key并按下R以调出运行提示
    • 键入MSTSC然后单击OK
    • 右键单击标题栏并选择About
    • 文本的底行将显示Remote Desktop Protocol #.# supported。如果低于 8.0,则需要升级(对我来说是 6.1)
  • 升级 RDP
    • 下载并安装 DTLS (KB2574819)。有关此依赖项的更多信息,请参阅维基百科(!)
    • 下载并安装 RDP 8.0 (KB2592687
    • 出现提示时重新启动计算机
  • 现在您应该能够成功地通过 RDP 连接到远程服务器。

注意:RDP 8.1 也可用(KB2923545);然而这不是必需的/对我来说不会安装(大概还有其他未记录的先决条件)。


对于 DEV/Build(第 1 层)环境,此解决方案有效:

总结

重新部署环境。

细节

从平台更新 12 开始,MS 不再支持使用管理员帐户。概述如下:https://blogs.msdn.microsoft.com/lcs/2017/10/31/restricted-admin-access-with-platform-12-updates/

相反,我们需要使用标准用户帐户;但是我们的实例上不存在该帐户。要获取此帐户,我们需要重新部署环境,步骤如下:https://community.dynamics.com/enterprise/b/dynamicsaxand365/archive/2017/04/30/tips-and-tricks-to-successfully-set-up-your-dynamics-365-for-operations-platform-part-5-environments-set-up(注意:部署可能需要最多 48 小时才能完成;而不是帖子/评论中所说的 12 小时)。

重新部署环境后,我们就有了正确的帐户,并且可以使用User###而不是Admin###RDP 帐户(列在本地用户而不是本地管理员部分。

目前还不清楚为什么我们可以从“代理”服务器访问,但不能从我们的本地机器访问...我最好的猜测是,我们数据中心的服务器以某种方式受益于拥有与同一 LAN 中可能已经有开放连接的其他设备相同的外部 IP 地址;因此没有被阻止...但这纯粹是猜测。

感谢 Microsoft 支持部门向我们指出原因/解决方案。

相关内容