Azure 虚拟桌面(经典版)PowerShell

重要

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

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

提供反馈

请访问 Azure 虚拟桌面技术社区,与产品团队和活动社区成员讨论 Azure 虚拟桌面服务。

在 Azure 虚拟桌面设置过程中使用的 PowerShell 命令

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

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

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

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

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

错误:Add-RdsAppGroupUser 命令 -- 与远程桌面租户关联的Microsoft Entra ID 中不存在指定的 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 <租户名称>。

错误: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

使用 force 命令可以删除会话主机,即使它已分配用户。

后续步骤