Khi bạn cố gắng thiết lập kết nối từ xa hoặc phiên làm việc trên máy tính Windows 11 hoặc Windows 10 của mình, bạn có thể nhận được mã lỗi 0x3000046. Bài viết này旨在帮助受影响的PC用户采用最合适的解决方案来成功解决问题。此问题通常发生在通过Windows客户端连接到Windows Virtual Desktop (WVD)时(在某些情况下,通过web client),并且您可能会收到错误代码0x3000047代替。

当您遇到此问题时,您将收到以下完整错误消息;
Remote Desktop
我们无法连接,因为目前没有可用资源。稍后再试或联系技术支持寻求帮助,如果这种情况持续发生。
Error code: 0x3000046
当此问题发生时,用户无法连接到个人虚拟桌面(直接分配)当主机池和会话主机是从Azure Virtual Desktop (AVD)新门户创建的,即WVD v2。
修复Remote Desktop Error Code 0x3000046
如果您在Windows 11/10电脑上遇到Remote Desktop Error Code 0x3000046,您可以尝试下面推荐的解决方案,没有特定顺序,看看是否有助于解决问题。
- 配置UPN在本地DC和Azure AD中相同
- 将用户添加到Remote Desktop Users组
- 使用PowerShell将用户分配给个人桌面
- 从AVD新门户将个人桌面分配给用户
让我们看看每个列出的解决方案所涉及的过程描述。
修复此远程桌面连接问题的唯一变通方法是从Azure门户手动启动VM,如果问题不重复或仅影响1或2个用户,这本来没问题。如果这对您是这种情况,那么继续以下解决方案。
1] 配置UPN在本地DC和Azure AD中相同
此解决方案针对Remote Desktop Error Code 0x3000046要求您确保UPN在本地域控制器和Azure AD中相同。并确保O365 UPN与本地Active Directory中的用户登录名相同。
要配置UPN在本地DC和Azure AD中相同,请执行以下操作:
- 打开Active Directory Domains and Trusts。
- 在新窗口的左侧,右键单击Active Directory Domains and Trusts。
- 从上下文菜单中选择属性。
- 在Alternative UPN suffixes字段中,输入被允许使用WVD的用户的域后缀。
- 点击添加。
- 接下来,将相应用户的user logon name属性从(例如)[email protected]修改为[email protected](就像用户在O365/AAD租户中拥有的那样)。
- 保存更改并退出。
完成后,再次尝试远程桌面连接。问题现在应该解决了。
2] 将用户添加到Remote Desktop Users组
此解决方案要求您将遇到此问题的用户添加到Remote Desktop Users组。要将用户作为WVD计算机上的本地Remote Desktop User成员添加,请执行以下操作:
- 点击开始。
- 点击管理工具。
- 点击计算机管理。
- 在控制台树中,点击本地用户和组节点。
- 在详细信息窗格中,双击组文件夹。
- 双击Remote Desktop Users,然后点击添加。
- 在选择用户对话框中,点击位置以指定搜索位置。
- 点击对象类型以指定要搜索的对象类型。
- 在输入要选择的对象名称(示例)框中,输入要添加的名称。
- 点击检查名称。
- 找到名称后,点击确定。
3] 使用PowerShell将用户分配给个人桌面
要使用PowerShell将用户分配给个人桌面,请执行以下操作:
- 下载并安装Visual Studio Code用于AVD管理。
安装后,您需要在Visual Studio Code中为AVD配置PowerShell。具体方法如下:
- 按Ctrl+P (Quick-Open)启动搜索选项。
- 在Quick-Open中,输入
ext install powershell并按Enter。 - 选择Visual Studio Code的PowerShell扩展(Visual Studio code中的PowerShell脚本)。
- 点击安装按钮继续。
- 从Windows Terminal依次运行以下命令。
Install-Module -Name Microsoft.RDInfra.RDPowerShell
Install-Module -Name Az.DesktopVirtualization -RequiredVersion 2.1.0
Import-Module -Name Microsoft.RDInfra.RDPowerShell
- 接下来,依次运行以下命令以选择适当的订阅:
Connect-AzAccount
Get-AzSubscription | Out-GridView -PassThru | Select-AzSubscription
Update-AzWvdHostPool -ResourceGroupName WVD-Resource-Group -Name HostPool -StartVMOnConnect:$True
- 完成后,您现在可以运行下面的PowerShell命令来将用户分配给个人桌面。将以下所有变量替换为主机池名称、会话主机名、资源组名称和userupn。
Update-AzWvdSessionHost -HostPoolName $hostpoolname -Name $sessionhostname -ResourceGroupName $resourcegroupname -AssignedUser $userupn
- 完成后退出Terminal。
4] 从AVD新门户将个人桌面分配给用户
作为上述解决方案3]的替代方案,您可以从AVD新门户将个人桌面分配给用户。具体方法如下:
- 登录portal.azure.com。
- 搜索Azure Virtual Desktop。
- 点击Azure Virtual Desktop图标。
- 选择Personal Host Pool。
- 选择个人桌面Session Hosts。
- 向右导航直到看到Assigned user列。
- 点击(分配)链接并选择用户(直接分配)。
现在,用户可以再次尝试远程桌面连接;这次,连接应该成功。
就是这些!
相关帖子:修复Windows上的Remote Desktop Error Code 0x204
如何访问Azure Windows Virtual Desktop?
要访问Azure Windows Virtual Desktop,请执行以下操作:
- 去Azure门户连接到VM。
- 从列表中选择虚拟机。
- 在虚拟机页面的开头,选择连接。
- 在连接到虚拟机页面,选择RDP。
- 选择适当的IP地址和端口号。
WVD中的drain mode是什么?
Windows Virtual Desktop中的Drain mode只是在您想要应用补丁和进行维护而不中断用户会话时隔离会话主机。当隔离时,会话主机不会接受新的用户会话。
