在 Azure 虛擬桌面 (傳統) 建立租用戶和主機集區
重要
此內容適用於 Azure 虛擬桌面 (傳統),不支援 ARM Azure 虛擬桌面物件。 如果您嘗試管理 Azure Resource Manager Azure 虛擬桌面物件,請參閱這篇文章。
本文涵蓋 Azure 虛擬桌面租用戶的初始設定期間,以及相關工作階段主機集區基礎結構的問題。
提供意見反應
請造訪 Azure 虛擬桌面 Tech Community,與產品小組和活躍的社群成員一起討論 Azure 虛擬桌面服務。
取得 Windows 10 企業版多重工作階段映像
若要使用 Windows 10 企業版多重工作階段映像,請前往 Azure Marketplace,然後依序選取 [開始]>[Microsoft Windows 10]> 以及 [Windows 10 Enterprise for Virtual Desktops 1809 版]。
建立 Azure 虛擬桌面租用戶
本節涵蓋建立 Azure 虛擬桌面租使用者時的潛在問題。
錯誤:AADSTS650052 應用程式需要存取服務。
原始錯誤的範例:
AADSTS650052 Message The app needs access to a service(\"{name}\") that your organization
\"{organization}\" has not subscribed to or enabled. Contact your IT Admin to review the
configuration of your service subscriptions.650052 Message The app needs access to a service
(\"{name}\") that your organization \"{organization}\" has not subscribed to or enabled.
Contact your IT Admin to review the configuration of your service subscriptions.
原因: 未向 Microsoft Entra 執行個體中的 Azure 虛擬桌面授與同意。
修正:請依照本指南授與同意。
錯誤:使用者未經授權,無法查詢管理服務
原始錯誤的範例:
New-RdsTenant : User isn't authorized to query the management service.
ActivityId: ad604c3a-85c6-4b41-9b81-5138162e5559
Powershell commands to diagnose the failure:
Get-RdsDiagnosticActivities -ActivityId ad604c3a-85c6-4b41-9b81-5138162e5559
At line:1 char:1
+ New-RdsTenant -Name "testDesktopTenant" -AadTenantId "01234567-89ab-c ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : FromStdErr: (Microsoft.RDInf...nt.NewRdsTenant:NewRdsTenant) [New-RdsTenant], RdsPowerSh
ellException
+ FullyQualifiedErrorId : UnauthorizedAccess,Microsoft.RDInfra.RDPowershell.Tenant.NewRdsTenant
原因: 尚未為已在 Microsoft Entra ID 中登入的使用者指派 TenantCreator 角色。
修正: 遵循 將 TenantCreator 應用程式角色指派給 Microsoft Entra 租用戶中的使用者 中的指示操作。 依照指示操作後,使用者便可獲派 TenantCreator 角色。
建立 Azure 虛擬桌面工作階段主機 VM
建立工作階段主機 VM 的方式有好幾種,但 Azure 虛擬桌面小組僅支援與 Azure Marketplace 供應項目相關的 VM 佈建問題。 如需詳細資訊,請參閱使用 Azure 虛擬桌面的問題 - 佈建主機集區 Azure Marketplace 供應項目。
使用 Azure 虛擬桌面的問題 - 佈建主機集區 Azure Marketplace 供應項目
Azure 虛擬桌面 - 佈建主機集區的範本可從 Azure Marketplace 取得。
錯誤:使用來自 GitHub 的連結時,會出現「建立免費帳戶」訊息
原因 1:用來登入 Azure 的帳戶中沒有使用中的訂用帳戶,或使用的帳戶沒有檢視訂用帳戶的權限。
修正 1:使用 (至少) 具備訂用帳戶參與者存取權的帳戶登入,該訂用帳戶即將部署工作階段主機 VM。
原因 2:使用的訂用帳戶是 Microsoft 雲端服務提供者 (CSP) 租用戶的一部分。
修正 2:前往 [建立和佈建新 Azure 虛擬桌面主機集區] 的 GitHub 位置,並遵循下列指示操作:
以滑鼠右鍵按一下 [部署至 Azure],然後選取 [複製連結位址]。
開啟 [記事本] 並貼上此連結。
在 # 字元之前,插入 CSP 客戶租用戶名稱。
在瀏覽器中開啟新的連結,Azure 入口網站將會載入範本。
Example: https://portal.azure.com/<CSP end customer tenant name> #create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure% 2FRDS-Templates%2Fmaster%2Fwvd-templates%2FCreate%20and%20provision%20WVD%20host%20pool%2FmainTemplate.json
錯誤:您收到「範本部署無效」錯誤
在採取特定動作之前,您必須先檢查活動記錄,查看失敗部署驗證的詳細錯誤。
若要在活動記錄中檢視錯誤:
請結束目前的 Azure Marketplace 部署供應項目。
從頂端搜尋列中,搜尋並選取 [活動記錄]。
尋找名為 [驗證部署] 且狀態為 [失敗] 的活動,然後選取該活動。
選取 [JSON],然後向下捲動至畫面底部,直到看到 [statusMessage] 欄位。
如果您的作業範本超過配額限制,您可以執行下列其中一項動作來修正:
- 使用您第一次使用的參數執行 Azure Marketplace,但這次使用的 VM 和 VM 核心比較少。
- 在瀏覽器中開啟您在 [statusMessage] 欄位所看到的連結來提交要求,以增加指定 VM SKU 的 Azure 訂用帳戶配額。
Azure Resource Manager 範本和 PowerShell Desired State Configuration (DSC) 錯誤
請遵循這些指示,針對 Azure Resource Manager 範本和 PowerShell DSC 的失敗部署進行疑難排解。
- 使用<檢視 Azure Resource Manager 的部署作業>來檢閱部署中的錯誤。
- 如果部署中沒有任何錯誤,請使用<檢視活動記錄來稽核資源上的動作>來檢閱活動記錄中的錯誤。
- 發現錯誤之後,請使用針對 Azure Resource Manager 的常見 Azure 部署錯誤進行疑難排解中的錯誤訊息和資源來解決問題。
- 刪除在先前部署期間建立的任何資源,然後再次嘗試部署範本。
錯誤:您的部署失敗….<hostname>/joindomain
原始錯誤的範例:
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/arm-debug for usage details.","details":[{"code":"Conflict","message":"{\r\n \"status\": \"Failed\",\r\n \"error\":
{\r\n \"code\": \"ResourceDeploymentFailure\",\r\n \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.
\",\r\n \"details\": [\r\n {\r\n \"code\": \"VMExtensionProvisioningError\",\r\n \"message\": \"VM has reported a failure when processing
extension 'joindomain'. Error message: \\\"Exception(s) occurred while joining Domain 'diamondsg.onmicrosoft.com'\\\".\"\r\n }\r\n ]\r\n }\r\n}"}]}
原因 1:提供給將 VM 加入網域的認證不正確。
修正 1:請參閱工作階段主機 VM 設定中 VM 的「認證不正確」錯誤未加入網域。
原因 2:網域名稱無法解析。
修正 2:請參閱工作階段主機 VM 設定中的錯誤:網域名稱無法解析。
原因 3:您的虛擬網路 (VNET) DNS 設定設為 [預設]。
若要修正錯誤,請執行下列操作:
- 開啟 Azure 入口網站,然後移至 [虛擬網路] 索引標籤。
- 找到您的 VNet,然後選取 [DNS 伺服器]。
- DNS 伺服器功能表應該會出現在畫面右側。 在該功能表上,選取 [自訂]。
- 請確定 [自訂] 下所列出的 DNS 伺服器符合您的網域控制站或 Active Directory 網域。 如果您沒有看到 DNS 伺服器,可在 [新增 DNS 伺服器] 欄位中輸入其值來加以新增。
錯誤:您的部署失敗...\未授權
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.","details":[{"code":"Unauthorized","message":"{\r\n \"Code\": \"Unauthorized\",\r\n \"Message\": \"The scale operation is not allowed for this subscription in this region. Try selecting different region or scale option.\",\r\n \"Target\": null,\r\n \"Details\": [\r\n {\r\n \"Message\": \"The scale operation is not allowed for this subscription in this region. Try selecting different region or scale option.\"\r\n },\r\n {\r\n \"Code\": \"Unauthorized\"\r\n },\r\n {\r\n \"ErrorEntity\": {\r\n \"ExtendedCode\": \"52020\",\r\n \"MessageTemplate\": \"The scale operation is not allowed for this subscription in this region. Try selecting different region or scale option.\",\r\n \"Parameters\": [\r\n \"default\"\r\n ],\r\n \"Code\": \"Unauthorized\",\r\n \"Message\": \"The scale operation is not allowed for this subscription in this region. Try selecting different region or scale option.\"\r\n }\r\n }\r\n ],\r\n \"Innererror\": null\r\n}"}]}
原因:您所使用的訂用帳戶這種類型無法存取客戶所嘗試部署區域中的必要功能。 例如,MSDN、免費或教育版訂用帳戶可能會顯示此錯誤。
修正:將您的訂用帳戶類型或區域變更為可存取所需功能的訂用帳戶類型或區域。
錯誤:VMExtensionProvisioningError
原因 1:Azure 虛擬桌面環境的暫時性錯誤。
原因 2:連接發生暫時性錯誤。
修正:使用 PowerShell 登入以確認 Azure 虛擬桌面環境狀況良好。 在使用 PowerShell 建立主機集區中手動完成 VM 註冊。
錯誤:不允許指定的管理員使用者名稱
原始錯誤的範例:
{ "id": "/subscriptions/EXAMPLE/resourceGroups/demoHostDesktop/providers/Microsoft.
Resources/deployments/vmCreation-linkedTemplate/operations/EXAMPLE", "operationId": "EXAMPLE", "properties": { "provisioningOperation":
"Create", "provisioningState": "Failed", "timestamp": "2019-01-29T20:53:18.904917Z", "duration": "PT3.0574505S", "trackingId":
"1f460af8-34dd-4c03-9359-9ab249a1a005", "statusCode": "BadRequest", "statusMessage": { "error": { "code": "InvalidParameter", "message":
"The Admin Username specified is not allowed.", "target": "adminUsername" } }, "targetResource": { "id": "/subscriptions/EXAMPLE
/resourceGroups/demoHostDesktop/providers/Microsoft.Compute/virtualMachines/demo", "resourceType": "Microsoft.Compute/virtualMachines", "resourceName": "demo" } }}
原因:提供的密碼包含禁止的子字串 (admin、administrator、root)。
修正:更新使用者名稱或使用不同的使用者。
錯誤:VM 回報在處理延伸模組時失敗
原始錯誤的範例:
{ "id": "/subscriptions/EXAMPLE/resourceGroups/demoHostD/providers/Microsoft.Resources/deployments/
rds.wvd-provision-host-pool-20190129132410/operations/5A0757AC9E7205D2", "operationId": "5A0757AC9E7205D2", "properties":
{ "provisioningOperation": "Create", "provisioningState": "Failed", "timestamp": "2019-01-29T21:43:05.1416423Z",
"duration": "PT7M56.8150879S", "trackingId": "43c4f71f-557c-4abd-80c3-01f545375455", "statusCode": "Conflict",
"statusMessage": { "status": "Failed", "error": { "code": "ResourceDeploymentFailure", "message":
"The resource operation completed with terminal provisioning state 'Failed'.", "details": [ { "code":
"VMExtensionProvisioningError", "message": "VM has reported a failure when processing extension 'dscextension'.
Error message: \"DSC Configuration 'SessionHost' completed with error(s). Following are the first few:
PowerShell DSC resource MSFT_ScriptResource failed to execute Set-TargetResource functionality with error message:
One or more errors occurred. The SendConfigurationApply function did not succeed.\"." } ] } }, "targetResource":
{ "id": "/subscriptions/EXAMPLE/resourceGroups/demoHostD/providers/Microsoft.
Compute/virtualMachines/desktop-1/extensions/dscextension",
"resourceType": "Microsoft.Compute/virtualMachines/extensions", "resourceName": "desktop-1/dscextension" } }}
原因:PowerShell DSC 擴充功能無法在 VM 上取得管理員存取權。
修正:確認使用者名稱和密碼具有虛擬機器的系統管理存取權,然後再次執行 Azure Resource Manager 範本。
錯誤:DeploymentFailed - PowerShell DSC 設定 'FirstSessionHost' 已完成,但發生錯誤
原始錯誤的範例:
{
"code": "DeploymentFailed",
"message": "At least one resource deployment operation failed. Please list
deployment operations for details. 4 Please see https://aka.ms/arm-debug for usage details.",
"details": [
{ "code": "Conflict",
"message": "{\r\n \"status\": \"Failed\",\r\n \"error\": {\r\n \"code\":
\"ResourceDeploymentFailure\",\r\n \"message\": \"The resource
operation completed with terminal provisioning state 'Failed'.\",\r\n
\"details\": [\r\n {\r\n \"code\":
\"VMExtensionProvisioningError\",\r\n \"message\": \"VM has
reported a failure when processing extension 'dscextension'.
Error message: \\\"DSC Configuration 'FirstSessionHost'
completed with error(s). Following are the first few:
PowerShell DSC resource MSFT ScriptResource failed to
execute Set-TargetResource functionality with error message:
One or more errors occurred. The SendConfigurationApply
function did not succeed.\\\".\"\r\n }\r\n ]\r\n }\r\n}" }
原因:PowerShell DSC 擴充功能無法在 VM 上取得管理員存取權。
修正:確認提供的使用者名稱和密碼具有虛擬機器的系統管理存取權,然後再次執行 Azure Resource Manager 範本。
錯誤:DeploymentFailed - InvalidResourceReference
原始錯誤的範例:
{"code":"DeploymentFailed","message":"At least one resource deployment operation
failed. Please list deployment operations for details. Please see https://aka.ms/arm-
debug for usage details.","details":[{"code":"Conflict","message":"{\r\n \"status\":
\"Failed\",\r\n \"error\": {\r\n \"code\": \"ResourceDeploymentFailure\",\r\n
\"message\": \"The resource operation completed with terminal provisioning state
'Failed'.\",\r\n \"details\": [\r\n {\r\n \"code\": \"DeploymentFailed\",\r\n
\"message\": \"At least one resource deployment operation failed. Please list
deployment operations for details. Please see https://aka.ms/arm-debug for usage
details.\",\r\n \"details\": [\r\n {\r\n \"code\": \"BadRequest\",\r\n \"message\":
\"{\\r\\n \\\"error\\\": {\\r\\n \\\"code\\\": \\\"InvalidResourceReference\\\",\\r\\n
\\\"message\\\": \\\"Resource /subscriptions/EXAMPLE/resourceGroups/ernani-wvd-
demo/providers/Microsoft.Network/virtualNetworks/wvd-vnet/subnets/default
referenced by resource /subscriptions/EXAMPLE/resourceGroups/ernani-wvd-
demo/providers/Microsoft.Network/networkInterfaces/erd. Please make sure that
the referenced resource exists, and that both resources are in the same
region.\\\",\\r\\n\\\"details\\\": []\\r\\n }\\r\\n}\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n}"}]}
原因:資源群組名稱的一部分會用於範本所建立的特定資源。 由於名稱符合現有的資源,範本可能會從不同的群組中選取現有的資源。
修正:執行 Azure Resource Manager 範本以部署工作階段主機 VM 時,請將訂用帳戶資源群組名稱的前兩個字元設為唯一。
錯誤:DeploymentFailed - InvalidResourceReference
原始錯誤的範例:
{"code":"DeploymentFailed","message":"At least one resource deployment operation
failed. Please list deployment operations for details. Please see https://aka.ms/arm-
debug for usage details.","details":[{"code":"Conflict","message":"{\r\n \"status\":
\"Failed\",\r\n \"error\": {\r\n \"code\": \"ResourceDeploymentFailure\",\r\n
\"message\": \"The resource operation completed with terminal provisioning state
'Failed'.\",\r\n \"details\": [\r\n {\r\n \"code\": \"DeploymentFailed\",\r\n
\"message\": \"At least one resource deployment operation failed. Please list
deployment operations for details. Please see https://aka.ms/arm-debug for usage
details.\",\r\n \"details\": [\r\n {\r\n \"code\": \"BadRequest\",\r\n \"message\":
\"{\\r\\n \\\"error\\\": {\\r\\n \\\"code\\\": \\\"InvalidResourceReference\\\",\\r\\n
\\\"message\\\": \\\"Resource /subscriptions/EXAMPLE/resourceGroups/ernani-wvd-
demo/providers/Microsoft.Network/virtualNetworks/wvd-vnet/subnets/default
referenced by resource /subscriptions/EXAMPLE/resourceGroups/DEMO/providers/Microsoft.Network/networkInterfaces
/EXAMPLE was not found. Please make sure that the referenced resource exists, and that both
resources are in the same region.\\\",\\r\\n \\\"details\\\": []\\r\\n }\\r\\n}\"\r\n
}\r\n ]\r\n }\r\n ]\r\n }\r\n\
原因:此錯誤是因為使用 Azure Resource Manager 範本建立的 NIC 名稱與 VNET 中已有的另一個 NIC 名稱相同。
修正:使用不同的主機前置詞。
錯誤:DeploymentFailed - 下載時發生錯誤
原始錯誤的範例:
\\\"The DSC Extension failed to execute: Error downloading
https://catalogartifact.azureedge.net/publicartifacts/rds.wvd-provision-host-pool-
2dec7a4d-006c-4cc0-965a-02bbe438d6ff-prod
/Artifacts/DSC/Configuration.zip after 29 attempts: The remote name could not be
resolved: 'catalogartifact.azureedge.net'.\\nMore information about the failure can
be found in the logs located under
'C:\\\\WindowsAzure\\\\Logs\\\\Plugins\\\\Microsoft.Powershell.DSC\\\\2.77.0.0' on
the VM.\\\"
原因:此錯誤是因為靜態路由、防火牆規則或 NSG 封鎖了繫結至 Azure Resource Manager 範本的 ZIP 檔案下載。
修正:移除封鎖靜態路由、防火牆規則或 NSG。 您可以選擇性地在文字編輯器中開啟 Azure Resource Manager 範本 JSON 檔案、取得 ZIP 檔案的連結,並將資源下載到允許的位置。
錯誤:使用者未經授權,無法查詢管理服務
原始錯誤的範例:
"response": { "content": { "startTime": "2019-04-01T17:45:33.3454563+00:00", "endTime": "2019-04-01T17:48:52.4392099+00:00",
"status": "Failed", "error": { "code": "VMExtensionProvisioningError", "message": "VM has reported a failure when processing
extension 'dscextension'. Error message: \"DSC Configuration 'FirstSessionHost' completed with error(s).
Following are the first few: PowerShell DSC resource MSFT_ScriptResource failed to execute Set-TargetResource
functionality with error message: User is not authorized to query the management service.
\nActivityId: 1b4f2b37-59e9-411e-9d95-4f7ccd481233\nPowershell commands to diagnose the failure:
\nGet-RdsDiagnosticActivities -ActivityId 1b4f2b37-59e9-411e-9d95-4f7ccd481233\n
The SendConfigurationApply function did not succeed.\"." }, "name": "2c3272ec-d25b-47e5-8d70-a7493e9dc473" } } }}
原因:指定的 Azure 虛擬桌面租用戶管理員的角色指派無效。
修正:建立 Azure 虛擬桌面租用戶的使用者必須登入 Azure 虛擬桌面 PowerShell,並為嘗試的使用者指派角色。 如果您正在執行 GitHub Azure Resource Manager 範本參數,請使用 PowerShell 命令並遵循下列指示:
Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
New-RdsRoleAssignment -TenantName <Azure Virtual Desktop tenant name> -RoleDefinitionName "RDS Contributor" -SignInName <UPN>
錯誤: 使用者需要 Microsoft Entra 多重要素驗證 (MFA)
原始錯誤的範例:
"message": "{\r\n \"status\": \"Failed\",\r\n \"error\": {\r\n \"code\": \"ResourceDeploymentFailure\",\r\n \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n \"details\": [\r\n {\r\n \"code\": \"VMExtensionProvisioningError\",\r\n \"message\": \"VM has reported a failure when processing extension 'dscextension'. Error message: \\\"DSC Configuration 'FirstSessionHost' completed with error(s). Following are the first few: PowerShell DSC resource MSFT_ScriptResource failed to execute Set-TargetResource functionality with error message: One or more errors occurred. The SendConfigurationApply function did not succeed.\\\".\"\r\n }\r\n ]\r\n }\r\n}"
原因: 指定的 Azure 虛擬桌面租用戶管理員需要 Microsoft Entra 多重要素驗證 (MFA) 才能登入。
修正:依照教學課程:使用 PowerShell 建立服務主體和角色指派中的步驟,建立服務主體,並為 Azure 虛擬桌面租用戶指派角色。 確認可以使用服務主體登入 Azure 虛擬桌面後,請根據您使用的方法,重新執行 Azure Marketplace 供應項目或 GitHub Azure Resource Manager 範本。 請依照下列指示輸入方法的正確參數。
如果您正在執行 Azure Marketplace 供應項目,請提供下列參數的值,正確地向 Azure 虛擬桌面進行驗證:
- Azure 虛擬桌面租用戶 RDS 擁有者:服務主體
- 應用程式識別碼:您所建立的新服務主體應用程式識別碼
- 密碼/確認密碼:您為服務主體產生的密碼秘密
- Microsoft Entra 租用戶識別碼: 您建立的服務主體的 Microsoft Entra 租用戶識別碼
如果您正在執行 GitHub Azure Resource Manager 範本,請提供下列參數的值,正確地向 Azure 虛擬桌面進行驗證:
- 租用戶管理員使用者主體名稱 (UPN) 或應用程式識別碼:您所建立的新服務主體應用程式識別碼
- 租用戶管理員密碼:您為服務主體產生的密碼秘密
- IsServicePrincipal: true
- AadTenantId: 您所建立的服務主體的 Microsoft Entra 租用戶識別碼
錯誤:設定虛擬網路時無法使用 vmSubnet
原因:在 Azure 虛擬桌面 Marketplace 範本中,UI 只會顯示至少具有與範本指定 VM 總數一樣多的可用 IP 位址的子網路。 子網路中可用的 IP 位址實際數目只需等於要部署的全新 VM 數目,但目前的 UI 無法計算此數目。
修正:您可以指定一個子網路,其中的可用 IP 位址數量至少和不使用 Marketplace UI 新增的 VM 數量一樣多;若要執行此操作,請在重新部署現有部署或使用 GitHub 基礎 ARM 範本部署時,於 "existingSubnetName" 參數中指定子網路名稱。
下一步
- 如需 Azure 虛擬桌面疑難排解與升級追蹤的概觀,請參閱疑難排解概觀、意見反應與支援。
- 若要針對在 Azure 虛擬桌面中設定虛擬機器 (VM) 時的問題進行疑難排解,請參閱工作階段主機虛擬機器設定。
- 若要針對 Azure 虛擬桌面用戶端連線的問題進行疑難排解,請參閱 Azure 虛擬桌面服務連線。
- 如要對遠端桌面用戶端的問題進行疑難排解,請參閱遠端桌面用戶端的疑難排解
- 如要針對搭配 Azure 虛擬桌面使用 PowerShell 時的問題進行疑難排解,請參閱 Azure 虛擬桌面 PowerShell。
- 如要深入了解服務,請參閱 Azure 虛擬桌面環境。
- 若要完成疑難排解教學課程,請參閱 教學課程: 針對 Resource Manager 範本部署進行疑難排解。
- 若要了解稽核動作,請參閱 使用 Resource Manager 來稽核作業。
- 若要了解部署期間可採取哪些動作來判斷錯誤,請參閱 檢視部署作業。