共用方式為


Azure 虛擬桌面 (經典版) PowerShell

重要

此內容適用於不支援 Azure Resource Manager Azure 虛擬桌面物件的 Azure 虛擬桌面(傳統版)。 如果您嘗試管理 Azure Resource Manager Azure 虛擬桌面物件,請參閱 本文

使用本文來解決搭配 Azure 虛擬桌面使用 PowerShell 時的錯誤和問題。 如需遠端桌面服務 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 命令 -- 指定的 UserPrincipalName 不存在於與遠端桌面租戶相關聯的 Microsoft Entra ID 中

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

使用 force 命令可以讓您刪除會話主機,即使已分配給使用者也依然可以。

後續步驟