你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 虚拟桌面(经典)PowerShell

重要

此内容适用于 Azure 虚拟桌面(经典),后者不支持 Azure 资源管理器 Azure 虚拟桌面对象。 若要尝试管理 Azure 资源管理器 Azure 虚拟桌面对象,请参阅本文

请参考本文来解决将 PowerShell 与 Azure 虚拟桌面配合使用时出现的错误和问题。 有关远程桌面服务 PowerShell 的详细信息,请参阅 Azure 虚拟桌面 PowerShell

提供反馈

请访问 Azure 虚拟桌面技术社区,与产品团队和活跃的社区成员共同探讨 Azure 虚拟桌面服务。

在设置 Azure 虚拟桌面期间使用的 PowerShell 命令

本部分列出了在设置 Azure 虚拟桌面时通常使用的 PowerShell 命令,并提供使用这些命令时可能发生的问题的解决方法。

错误:Add-RdsAppGroupUser 命令 - 指定的 UserPrincipalName 已分配给指定的主机池中的 RemoteApp 应用组

Add-RdsAppGroupUser -TenantName <TenantName> -HostPoolName <HostPoolName> -AppGroupName 'Desktop Application Group' -UserPrincipalName <UserName>

原因:使用的用户名已分配给不同类型的应用程序组。 不能同时将用户分配到同一会话主机池下的远程桌面和 RemoteApp 应用程序组。

修复方法:如果用户同时需要远程应用和远程桌面,请创建不同的主机池或向用户授予对远程桌面的访问权限,这将允许在会话主机 VM 上使用任何应用程序。

错误:Add-RdsAppGroupUser 命令 - 与远程桌面租户关联的 Microsoft Entra 中不存在指定的 UserPrincipalName

Add-RdsAppGroupUser -TenantName <TenantName> -HostPoolName <HostPoolName> -AppGroupName "Desktop Application Group" -UserPrincipalName <UserPrincipalName>

原因:在绑定到 Azure 虚拟桌面租户的 Microsoft Entra 中找不到由 -UserPrincipalName 指定的用户。

修复方法:确认下列项。

  • 用户已同步到 Microsoft Entra ID。
  • 用户未绑定到企业到消费者 (B2C) 或企业到企业 (B2B) 商务应用。
  • Azure 虚拟桌面租户已绑定到正确的 Microsoft Entra ID。

错误:Get-RdsDiagnosticActivities - 用户无权查询管理服务

Get-RdsDiagnosticActivities -ActivityId <ActivityId>

原因: -TenantName 参数

修复方法:使用 -TenantName <TenantName> 发布 Get-RdsDiagnosticActivities。

错误:Get-RdsDiagnosticActivities - 用户无权查询管理服务

Get-RdsDiagnosticActivities -Deployment -username <username>

原因:使用 -Deployment 开关。

修复方法:-Deployment 开关只能由部署管理员使用。 这些管理员通常是远程桌面服务/Azure 虚拟桌面团队的成员。 将 -Deployment 开关替换为 -TenantName <TenantName>。

错误:New-RdsRoleAssignment - 用户无权查询管理服务

原因 1:所使用的帐户没有对租户的远程桌面服务所有者权限。

修复方法 1:主要由具有远程桌面服务所有者权限的用户执行角色分配。

原因 2:所用的帐户拥有远程桌面服务所有者权限,但不是租户 Microsoft Entra ID 的一部分,或者无权查询该用户所在的 Microsoft Entra ID。

修复方法 2:需要由拥有 Active Directory 权限的用户执行角色分配。

注意

New-RdsRoleAssignment 无法向 Microsoft Entra ID 中不存在的用户授予权限。

错误:无法删除 SessionHostPool

此错误通常在运行以下命令以尝试移除会话主机时发生。

Remove-RdsHostPool -TenantName <TenantName> -Name <HostPoolName>

原因:如果在删除主机池的叶对象之前运行该命令,则它不起作用。

修复:运行以下命令以删除会话主机。

Get-RdsSessionHost-TenantName <TenantName> -Hostpook <HostPoolName> | Remove-RdsSessionHost -Force

使用强制命令可删除会话主机,即使它具有已分配用户。

后续步骤