我正在尝试使用远程桌面登录到托管在 Azure 中的 Dynamics 365 AOS 服务器,使用环境的LCS页面上显示的RDP 文件和凭据。
Dynamics 365 AOS 服务器是一个Windows Server 2016 Datacenter Edition
盒子。
当通过Windows Server 2012 R2
服务器访问它时(即 RDPing 到服务器上,然后从 LCS 下载 DFO365 RDP 文件到该机器上并在“代理”服务器上运行 RDP 客户端)一切正常,但尝试直接从我的Windows 7 SP1
机器访问失败。一位也在跑步的同事Windows 7 SP1
遇到了完全相同的问题。
我的公共 IP(即通过访问WhatsMyIp可以看到)被列入 RDP 白名单(通过 LCS Maintain
> Enable Access
)。
直到上周中旬,我自己和我的同事都能够在此 VM 上进行 RDP。
通过“代理”服务器,我能够查看远程 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 )。不过,我没有尝试删除或修改任何这些,因为不知道会产生什么影响/没有看到任何解释为什么这些修复应该起作用。我的直觉是该目录中的大量文件可能与该问题有关。
问题
有谁知道什么可能会阻止这些连接尝试/允许连接通过需要什么?
2018-04-30 更新:适用于开发/构建环境的解决方案不适用于沙盒环境。
对于沙盒(第 2 层)环境
TL;博士
升级客户端 RDP 协议以包括 DTLS 和 RDP 8.0(可能只需要第一部分;未经测试)。
细节
Windows key
并按下R
以调出运行提示MSTSC
然后点击OK
About
Remote Desktop Protocol #.# supported
。如果低于 8.0,则需要升级(对我来说是 6.1)注意:RDP 8.1 也可用(KB2923545);但是这不是必需的/对我来说不会安装(大概还有其他未记录的先决条件)。
对于 DEV / Build (Tier 1) 环境,此解决方案有效:
TL;博士
重新部署环境。
细节
自平台更新 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- setup-your-dynamics-365-for-operations-platform-part-5-environments-set-up(注意:完成部署最多可能需要 48 小时;而不是帖子中所述的 12 小时/注释)。
User###
重新部署环境后,我们就有了正确的帐户,并且可以使用 RDP 帐户而不是Admin###
RDP 帐户(在“本地用户”而不是“本地管理员”部分下列出)成功地 RDP 到环境中。目前尚不清楚为什么我们能够从“代理”服务器访问,但不能从我们的本地机器访问……我最好的猜测是,我们数据中心的服务器在某种程度上受益于与其他服务器具有相同的外部 IP 地址同一 LAN 中可能已经打开连接的设备;因此没有被阻止……但这纯粹是猜想。
感谢 Microsoft 支持向我们指出原因/解决方案。