AZ 140T00A ENU TrainerHandbook
AZ 140T00A ENU TrainerHandbook
AZ 140T00A ENU TrainerHandbook
Official
Course
AZ-140T00
Configuring and
Operating Microsoft
Azure Virtual Desktop
AZ-140T00
Configuring and Operating
Microsoft Azure Virtual Desktop
II Disclaimer
Information in this document, including URL and other Internet Web site references, is subject to change
without notice. Unless otherwise noted, the example companies, organizations, products, domain names,
e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with
any real company, organization, product, domain name, e-mail address, logo, person, place or event is
intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the
user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in
or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical,
photocopying, recording, or otherwise), or for any purpose, without the express written permission of
Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property
rights covering subject matter in this document. Except as expressly provided in any written license
agreement from Microsoft, the furnishing of this document does not give you any license to these
patents, trademarks, copyrights, or other intellectual property.
The names of manufacturers, products, or URLs are provided for informational purposes only and
Microsoft makes no representations and warranties, either expressed, implied, or statutory, regarding
these manufacturers or the use of the products with any Microsoft technologies. The inclusion of a
manufacturer or product does not imply endorsement of Microsoft of the manufacturer or product. Links
may be provided to third party sites. Such sites are not under the control of Microsoft and Microsoft is
not responsible for the contents of any linked site or any link contained in a linked site, or any changes or
updates to such sites. Microsoft is not responsible for webcasting or any other form of transmission
received from any linked site. Microsoft is providing these links to you only as a convenience, and the
inclusion of any link does not imply endorsement of Microsoft of the site or the products contained
therein.
© 2019 Microsoft Corporation. All rights reserved.
Microsoft and the trademarks listed at http://www.microsoft.com/trademarks 1are trademarks of the
Microsoft group of companies. All other trademarks are property of their respective owners.
1 http://www.microsoft.com/trademarks
EULA III
13. “Personal Device” means one (1) personal computer, device, workstation or other digital electronic
device that you personally own or control that meets or exceeds the hardware level specified for
the particular Microsoft Instructor-Led Courseware.
14. “Private Training Session” means the instructor-led training classes provided by MPN Members for
corporate customers to teach a predefined learning objective using Microsoft Instructor-Led
Courseware. These classes are not advertised or promoted to the general public and class attend-
ance is restricted to individuals employed by or contracted by the corporate customer.
15. “Trainer” means (i) an academically accredited educator engaged by a Microsoft Imagine Academy
Program Member to teach an Authorized Training Session, (ii) an academically accredited educator
validated as a Microsoft Learn for Educators – Validated Educator, and/or (iii) a MCT.
16. “Trainer Content” means the trainer version of the Microsoft Instructor-Led Courseware and
additional supplemental content designated solely for Trainers’ use to teach a training session
using the Microsoft Instructor-Led Courseware. Trainer Content may include Microsoft PowerPoint
presentations, trainer preparation guide, train the trainer materials, Microsoft One Note packs,
classroom setup guide and Pre-release course feedback form. To clarify, Trainer Content does not
include any software, virtual hard disks or virtual machines.
2. USE RIGHTS. The Licensed Content is licensed, not sold. The Licensed Content is licensed on a one
copy per user basis, such that you must acquire a license for each individual that accesses or uses the
Licensed Content.
●● 2.1 Below are five separate sets of use rights. Only one set of rights apply to you.
1. If you are a Microsoft Imagine Academy (MSIA) Program Member:
1. Each license acquired on behalf of yourself may only be used to review one (1) copy of the
Microsoft Instructor-Led Courseware in the form provided to you. If the Microsoft Instruc-
tor-Led Courseware is in digital format, you may install one (1) copy on up to three (3)
Personal Devices. You may not install the Microsoft Instructor-Led Courseware on a device
you do not own or control.
2. For each license you acquire on behalf of an End User or Trainer, you may either:
1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one
(1) End User who is enrolled in the Authorized Training Session, and only immediately
prior to the commencement of the Authorized Training Session that is the subject matter
of the Microsoft Instructor-Led Courseware being provided, or
2. provide one (1) End User with the unique redemption code and instructions on how they
can access one (1) digital version of the Microsoft Instructor-Led Courseware, or
3. provide one (1) Trainer with the unique redemption code and instructions on how they
can access one (1) Trainer Content.
3. For each license you acquire, you must comply with the following:
1. you will only provide access to the Licensed Content to those individuals who have
acquired a valid license to the Licensed Content,
2. you will ensure each End User attending an Authorized Training Session has their own
valid licensed copy of the Microsoft Instructor-Led Courseware that is the subject of the
Authorized Training Session,
3. you will ensure that each End User provided with the hard-copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End
EULA V
User will agree that their use of the Microsoft Instructor-Led Courseware will be subject
to the terms in this agreement prior to providing them with the Microsoft Instructor-Led
Courseware. Each individual will be required to denote their acceptance of this agree-
ment in a manner that is enforceable under local law prior to their accessing the Micro-
soft Instructor-Led Courseware,
4. you will ensure that each Trainer teaching an Authorized Training Session has their own
valid licensed copy of the Trainer Content that is the subject of the Authorized Training
Session,
5. you will only use qualified Trainers who have in-depth knowledge of and experience with
the Microsoft technology that is the subject of the Microsoft Instructor-Led Courseware
being taught for all your Authorized Training Sessions,
6. you will only deliver a maximum of 15 hours of training per week for each Authorized
Training Session that uses a MOC title, and
7. you acknowledge that Trainers that are not MCTs will not have access to all of the trainer
resources for the Microsoft Instructor-Led Courseware.
2. If you are a Microsoft Learning Competency Member:
1. Each license acquire may only be used to review one (1) copy of the Microsoft Instruc-
tor-Led Courseware in the form provided to you. If the Microsoft Instructor-Led Course-
ware is in digital format, you may install one (1) copy on up to three (3) Personal Devices.
You may not install the Microsoft Instructor-Led Courseware on a device you do not own or
control.
2. For each license you acquire on behalf of an End User or MCT, you may either:
1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one
(1) End User attending the Authorized Training Session and only immediately prior to
the commencement of the Authorized Training Session that is the subject matter of the
Microsoft Instructor-Led Courseware provided, or
2. provide one (1) End User attending the Authorized Training Session with the unique
redemption code and instructions on how they can access one (1) digital version of the
Microsoft Instructor-Led Courseware, or
3. you will provide one (1) MCT with the unique redemption code and instructions on how
they can access one (1) Trainer Content.
3. For each license you acquire, you must comply with the following:
1. you will only provide access to the Licensed Content to those individuals who have
acquired a valid license to the Licensed Content,
2. you will ensure that each End User attending an Authorized Training Session has their
own valid licensed copy of the Microsoft Instructor-Led Courseware that is the subject of
the Authorized Training Session,
3. you will ensure that each End User provided with a hard-copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End
User will agree that their use of the Microsoft Instructor-Led Courseware will be subject
to the terms in this agreement prior to providing them with the Microsoft Instructor-Led
Courseware. Each individual will be required to denote their acceptance of this agree-
ment in a manner that is enforceable under local law prior to their accessing the Micro-
soft Instructor-Led Courseware,
VI EULA
4. you will ensure that each MCT teaching an Authorized Training Session has their own
valid licensed copy of the Trainer Content that is the subject of the Authorized Training
Session,
5. you will only use qualified MCTs who also hold the applicable Microsoft Certification
credential that is the subject of the MOC title being taught for all your Authorized
Training Sessions using MOC,
6. you will only provide access to the Microsoft Instructor-Led Courseware to End Users,
and
7. you will only provide access to the Trainer Content to MCTs.
3. If you are a MPN Member:
1. Each license acquired on behalf of yourself may only be used to review one (1) copy of the
Microsoft Instructor-Led Courseware in the form provided to you. If the Microsoft Instruc-
tor-Led Courseware is in digital format, you may install one (1) copy on up to three (3)
Personal Devices. You may not install the Microsoft Instructor-Led Courseware on a device
you do not own or control.
2. For each license you acquire on behalf of an End User or Trainer, you may either:
1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one
(1) End User attending the Private Training Session, and only immediately prior to the
commencement of the Private Training Session that is the subject matter of the Micro-
soft Instructor-Led Courseware being provided, or
2. provide one (1) End User who is attending the Private Training Session with the unique
redemption code and instructions on how they can access one (1) digital version of the
Microsoft Instructor-Led Courseware, or
3. you will provide one (1) Trainer who is teaching the Private Training Session with the
unique redemption code and instructions on how they can access one (1) Trainer
Content.
3. For each license you acquire, you must comply with the following:
1. you will only provide access to the Licensed Content to those individuals who have
acquired a valid license to the Licensed Content,
2. you will ensure that each End User attending an Private Training Session has their own
valid licensed copy of the Microsoft Instructor-Led Courseware that is the subject of the
Private Training Session,
3. you will ensure that each End User provided with a hard copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End
User will agree that their use of the Microsoft Instructor-Led Courseware will be subject
to the terms in this agreement prior to providing them with the Microsoft Instructor-Led
Courseware. Each individual will be required to denote their acceptance of this agree-
ment in a manner that is enforceable under local law prior to their accessing the Micro-
soft Instructor-Led Courseware,
4. you will ensure that each Trainer teaching an Private Training Session has their own valid
licensed copy of the Trainer Content that is the subject of the Private Training Session,
EULA VII
5. you will only use qualified Trainers who hold the applicable Microsoft Certification
credential that is the subject of the Microsoft Instructor-Led Courseware being taught
for all your Private Training Sessions,
6. you will only use qualified MCTs who hold the applicable Microsoft Certification creden-
tial that is the subject of the MOC title being taught for all your Private Training Sessions
using MOC,
7. you will only provide access to the Microsoft Instructor-Led Courseware to End Users,
and
8. you will only provide access to the Trainer Content to Trainers.
4. If you are an End User:
For each license you acquire, you may use the Microsoft Instructor-Led Courseware solely for
your personal training use. If the Microsoft Instructor-Led Courseware is in digital format, you
may access the Microsoft Instructor-Led Courseware online using the unique redemption code
provided to you by the training provider and install and use one (1) copy of the Microsoft
Instructor-Led Courseware on up to three (3) Personal Devices. You may also print one (1) copy
of the Microsoft Instructor-Led Courseware. You may not install the Microsoft Instructor-Led
Courseware on a device you do not own or control.
5. If you are a Trainer.
1. For each license you acquire, you may install and use one (1) copy of the Trainer Content in
the form provided to you on one (1) Personal Device solely to prepare and deliver an
Authorized Training Session or Private Training Session, and install one (1) additional copy
on another Personal Device as a backup copy, which may be used only to reinstall the
Trainer Content. You may not install or use a copy of the Trainer Content on a device you do
not own or control. You may also print one (1) copy of the Trainer Content solely to prepare
for and deliver an Authorized Training Session or Private Training Session.
2. If you are an MCT, you may customize the written portions of the Trainer Content that are
logically associated with instruction of a training session in accordance with the most recent
version of the MCT agreement.
3. If you elect to exercise the foregoing rights, you agree to comply with the following: (i)
customizations may only be used for teaching Authorized Training Sessions and Private
Training Sessions, and (ii) all customizations will comply with this agreement. For clarity, any
use of “customize” refers only to changing the order of slides and content, and/or not using
all the slides or content, it does not mean changing or modifying any slide or content.
●● 2.2 Separation of Components. The Licensed Content is licensed as a single unit and you
may not separate their components and install them on different devices.
●● 2.3 Redistribution of Licensed Content. Except as expressly provided in the use rights
above, you may not distribute any Licensed Content or any portion thereof (including any permit-
ted modifications) to any third parties without the express written permission of Microsoft.
●● 2.4 Third Party Notices. The Licensed Content may include third party code that Micro-
soft, not the third party, licenses to you under this agreement. Notices, if any, for the third party
code are included for your information only.
●● 2.5 Additional Terms. Some Licensed Content may contain components with additional
terms, conditions, and licenses regarding its use. Any non-conflicting terms in those conditions
and licenses also apply to your use of that respective component and supplements the terms
described in this agreement.
VIII EULA
laws and treaties. Microsoft or its suppliers own the title, copyright, and other intellectual property
rights in the Licensed Content.
6. EXPORT RESTRICTIONS. The Licensed Content is subject to United States export laws and regula-
tions. You must comply with all domestic and international export laws and regulations that apply to
the Licensed Content. These laws include restrictions on destinations, end users and end use. For
additional information, see www.microsoft.com/exporting.
7. SUPPORT SERVICES. Because the Licensed Content is provided “as is”, we are not obligated to
provide support services for it.
8. TERMINATION. Without prejudice to any other rights, Microsoft may terminate this agreement if you
fail to comply with the terms and conditions of this agreement. Upon termination of this agreement
for any reason, you will immediately stop all use of and delete and destroy all copies of the Licensed
Content in your possession or under your control.
9. LINKS TO THIRD PARTY SITES. You may link to third party sites through the use of the Licensed
Content. The third party sites are not under the control of Microsoft, and Microsoft is not responsible
for the contents of any third party sites, any links contained in third party sites, or any changes or
updates to third party sites. Microsoft is not responsible for webcasting or any other form of trans-
mission received from any third party sites. Microsoft is providing these links to third party sites to
you only as a convenience, and the inclusion of any link does not imply an endorsement by Microsoft
of the third party site.
10. ENTIRE AGREEMENT. This agreement, and any additional terms for the Trainer Content, updates and
supplements are the entire agreement for the Licensed Content, updates and supplements.
11. APPLICABLE LAW.
1. United States. If you acquired the Licensed Content in the United States, Washington state law
governs the interpretation of this agreement and applies to claims for breach of it, regardless of
conflict of laws principles. The laws of the state where you live govern all other claims, including
claims under state consumer protection laws, unfair competition laws, and in tort.
2. Outside the United States. If you acquired the Licensed Content in any other country, the laws of
that country apply.
12. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the
laws of your country. You may also have rights with respect to the party from whom you acquired the
Licensed Content. This agreement does not change your rights under the laws of your country if the
laws of your country do not permit it to do so.
13. DISCLAIMER OF WARRANTY. THE LICENSED CONTENT IS LICENSED "AS-IS" AND "AS AVAILA-
BLE." YOU BEAR THE RISK OF USING IT. MICROSOFT AND ITS RESPECTIVE AFFILIATES GIVES NO
EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. YOU MAY HAVE ADDITIONAL CON-
SUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO
THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT AND ITS RESPECTIVE AFFILI-
ATES EXCLUDES ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU-
LAR PURPOSE AND NON-INFRINGEMENT.
14. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM
MICROSOFT, ITS RESPECTIVE AFFILIATES AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO
US$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST
PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
X EULA
■■ Module 0 Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Start here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
■■ Module 1 Plan an Azure Virtual Desktop implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Azure Virtual Desktop Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Design the Azure Virtual Desktop architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Design for user identities and profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Labs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
■■ Module 2 Implement an Azure Virtual Desktop infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Implement and manage networking for AVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Implement and manage storage for AVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Create and configure host pools and session hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Create and manage session host image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Labs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
■■ Module 3 Manage access and security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Manage access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Manage security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
■■ Module 4 Manage user environments and apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Implement and manage FSLogix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Configure user experience settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Install and configure apps on a session host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Labs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
■■ Module 5 Monitor and maintain a AVD infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Plan and implement business continuity and disaster recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Automate AVD management tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Monitor and manage performance and health . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Module 0 Welcome
Start here
Welcome to Configuring and Operating Micro-
soft Azure Virtual Desktop
This course teaches Azure Virtual Desktop administrators how to plan, deliver, and manage virtual
desktop experiences and remote apps, for any device, on Azure.
Students will learn through a mix of demonstrations and hands-on lab experiences deploying virtual
desktop experiences and apps on Azure Virtual Desktop and optimizing them to run in virtual environ-
ments.
Level: Intermediate
Audience
Students for AZ-140: Configuring and Operating Micrsoft Azure Virtual Desktop deliver applications
on Azure Virtual Desktop that are optimized to run in multi-session virtual environments. As an Azure
Virtual Desktop administrator, you will closely with the Azure Administrators and Architects, along with
Microsoft 365 Administrators.
Azure Virtual Desktop administrator responsibilities include planning, deploying, packaging, updating,
and maintaining the Azure Virtual Desktop infrastructure. They also create session host images, imple-
ment and manage FSLogix, monitor Azure Virtual Desktop performance, and automate Azure Virtual
Desktop management tasks.
Prerequisites
Successful Azure Virtual Desktop administrators start this role with experience on operating systems,
virtualization, cloud infrastructure, storage structures, and networking.
2
Additionally, some experience with planning, deploying, packaging, updating, and maintaining a hybrid
cloud infrastructure. This knowledge includes:
●● Understanding of on-premises virtualization technologies, including: VMs, virtual networking, and
virtual hard disks.
●● Understanding of network configuration, including TCP/IP, Domain Name System (DNS), virtual
private networks (VPNs), firewalls, and encryption technologies.
●● Understanding of Active Directory concepts, including users, groups, role-based accessed control.
●● Understanding of resilience and disaster recovery, including backup and restore operations.
If you are new to Azure and cloud computing, consider the free online content: Azure Fundamentals1.
Expected learning
After completing this course, students will be able to:
●● Select an appropriate licensing model for Azure Virtual Desktop
●● Implement networking for Azure Virtual Desktop
●● Manage Azure Virtual Desktop session hosts by using Azure Bastion
●● Configure storage for FSLogix components
●● Create and manage session host images
●● Implement Azure roles and role-based access control (RBAC) for Azure Virtual Desktop
●● Configure user Azure Virtual Desktop experience settings
●● Install and configure apps on a session host
●● Implement business continuity and disaster recovery
●● Monitor and manage Azure Virtual Desktop performance
Syllabus
The course content includes a mix of content, hands-on labs, reference links, and module review ques-
tions.
Module 00: Configuring and Operating Azure Virtual Desktop
Welcome
Start here
Welcome to Configuring and Operating Microsoft Azure Virtual Desktop
Syllabus
AZ-140 Certification Exam
Microsoft Learn
Study Resources
Module 01: Plan an Azure Virtual Desktop implementation
Azure Virtual Desktop Architecture
1 https://docs.microsoft.com/en-us/learn/paths/azure-fundamentals/
3
Introduction
Azure Virtual Desktop for the enterprise
Azure Virtual Desktop components
Personal and pooled desktops
Service updates for AVD desktops
Azure limitations for Azure Virtual Desktop
VM sizing
Azure Virtual Desktop pricing
Knowledge check
Summary
Design the Azure Virtual Desktop architecture
Introduction
Assess network capacity and speed requirements for AVD
Azure Virtual Desktop Experience Estimator
Recommend an operating system for a AVD implementation
Balancing host pools
Recommendations for using subscriptions and management groups
Configure a location for the AVD metadata
Recommend a configuration for performance requirements
Knowledge check
Summary
Design for user identities and profiles
Introduction
Select an appropriate licensing model for AVD based on requirements
Personal and multi-session desktop scenarios
Recommend an appropriate storage solution
Plan for a Desktop client deployment
Plan for AVD client deployment - RDP
Windows Desktop client to multiple devices
Hybrid Identity with Azure Active Directory
Plan for Azure AD Connect for user identities
Knowledge check
Summary
Labs
Prepare for deployment of Azure Virtual Desktop (Azure AD DS)
Prepare for deployment of Azure Virtual Desktop (AD DS)
4
Summary
Labs
Create and configure host pools and session hosts (Azure AD DS)
Deploy host pools and session hosts by using the Azure portal (AD DS)
Implement and manage storage for AVD (Azure AD DS)
Implement and manage storage for AVD (AD DS)
Deploy host pools and hosts by using Azure Resource Manager templates
Deploy and manage host pools and hosts by using PowerShell
Create and manage session host images (AD DS)
Module 03: Manage access and security
Manage access
Introduction
RBAC for Azure Virtual Desktop
Plan and implement Azure roles and RBAC for AVD
Using Azure Virtual Desktop with Intune
Knowledge check
Summary
Manage security
Introduction
Plan and implement Conditional Access policies for connections to AVD
Understand Conditional Access policy components
Plan and implement MFA in AVD
Manage security by using Azure Security Center
Security posture management and threat protection
Microsoft Defender Antivirus for session hosts
Knowledge check
Summary
Lab
Configure Conditional Access policies for connections to AVD (AD DS)
Module 04: Manage user environments and apps
Implement and manage FSLogix
Introduction
Plan for FSLogix
FSLogix profile containers and Azure files
Install FSLogix
Storage options for FSLogix profile containers
6
Introduction
VM replication
FSLogix configuration
Knowledge check
Summary
Automate AVD management tasks
Introduction
Scale session hosts using Azure Automation
Create or update an Azure Automation account
Create an Azure Automation Run As account
Create the Azure Logic App and execution schedule
Knowledge check
Summary
Monitor and manage performance and health
Introduction
Monitor Azure Virtual Desktop by using Azure Monitor
Log Analytics workspace for Azure Monitor
Monitor Azure Virtual Desktop by using Azure Advisor
How to resolve Azure Advisor recommendations
Diagnose graphics performance issues
Knowledge check
Summary
Lab
Implement autoscaling in host pools (AD DS)
Candidates for this exam should have experience in Azure technologies, including virtualization, network-
ing, identity, storage, backups, resilience, and disaster recovery. They should understand on-premises
virtual desktop infrastructure technologies as they relate to migrating to Azure Virtual Desktop. These
professionals use the Azure portal and Azure Resource Manager (ARM) templates to accomplish many of
their tasks. They might use PowerShell and Azure Command-Line Interface (CLI) for more efficient
automation.
For more information, on the skills measured in the exam, please visit the AZ-140: Configuring and
Operating Microsoft Azure Virtual Desktop2 page.
Microsoft Learn
Microsoft Learn provides self paced skills training for Azure Virtual Desktop. Visit the Deliver remote
desktops and apps from Azure with Azure Virtual Desktop3 learning path for the following modules:
●● Introduction to Azure Virtual Desktop in Microsoft Azure4
●● Prepare for Azure Virtual Desktop in Microsoft Azure5
●● Deploy Azure Virtual Desktop in Microsoft Azure6
●● Optimize Azure Virtual Desktop in Microsoft Azure7
●● Secure an Azure Virtual Desktop deployment8
●● Deploy applications by using MSIX app attach for Azure Virtual Desktop9
Additionally, Microsoft Learn provides self paced skills training on a variety of Azure topics that are
relevant to Azure Virtual Desktop. These Learn modules are helpful for shoring up base knowledge of
Azure technologies.
Module 01 - Identity
●● Create Azure users and groups in Azure Active Directory10
●● Manage users and groups in Azure Active Directory11
●● Secure your Azure resources with role-based access control12
●● Secure Azure Active Directory users with Multi-Factor Authentication13
●● Allow users to reset their password with Azure Active Directory self-service password reset14
●● Secure your application by using OpenID Connect and Azure AD15
2 https://docs.microsoft.com/en-us/learn/certifications/exams/az-140
3 https://docs.microsoft.com/en-us/learn/paths/m365-wvd/
4 https://docs.microsoft.com/en-us/learn/modules/m365-wvd-intro/
5 https://docs.microsoft.com/en-us/learn/modules/m365-prepare-for-wvd/
6 https://docs.microsoft.com/en-us/learn/modules/m365-deploy-wvd/
7 https://docs.microsoft.com/en-us/learn/modules/m365-optimize-wvd/
8 https://docs.microsoft.com/en-us/learn/modules/m365-wvd-security/
9 https://docs.microsoft.com/en-us/learn/modules/m365-wvd-application-management/
10 https://docs.microsoft.com/en-us/learn/modules/create-users-and-groups-in-azure-active-directory/
11 https://docs.microsoft.com/en-us/learn/modules/manage-users-and-groups-in-aad/
12 https://docs.microsoft.com/en-us/learn/modules/secure-azure-resources-with-rbac/
13 https://docs.microsoft.com/en-us/learn/modules/secure-aad-users-with-mfa/
14 https://docs.microsoft.com/en-us/learn/modules/allow-users-reset-their-password/
15 https://docs.microsoft.com/en-us/learn/modules/secure-app-with-oidc-and-azure-ad/
9
16 https://docs.microsoft.com/en-us/learn/modules/analyze-costs-create-budgets-azure-cost-management/
17 https://docs.microsoft.com/en-us/learn/modules/predict-costs-and-optimize-spending/
18 https://docs.microsoft.com/en-us/learn/modules/control-and-organize-with-azure-resource-manager/
19 https://docs.microsoft.com/en-us/learn/modules/intro-to-governance/
20 https://docs.microsoft.com/en-us/learn/modules/create-custom-azure-roles-with-rbac/
21 https://docs.microsoft.com/en-us/learn/modules/manage-subscription-access-azure-rbac/
22 https://docs.microsoft.com/en-us/learn/modules/secure-azure-resources-with-rbac/
23 https://docs.microsoft.com/en-us/learn/modules/tour-azure-portal/
24 https://docs.microsoft.com/en-us/learn/modules/control-and-organize-with-azure-resource-manager/
25 https://docs.microsoft.com/en-us/learn/modules/build-azure-vm-templates/
26 https://docs.microsoft.com/en-us/learn/modules/automate-azure-tasks-with-powershell/
27 https://docs.microsoft.com/en-us/learn/modules/manage-virtual-machines-with-azure-cli/
28 https://docs.microsoft.com/en-us/learn/modules/network-fundamentals/
29 https://docs.microsoft.com/en-us/learn/modules/design-ip-addressing-for-azure/
30 https://docs.microsoft.com/en-us/learn/modules/secure-and-isolate-with-nsg-and-service-endpoints/
31 https://docs.microsoft.com/en-us/learn/modules/integrate-vnets-with-vnet-peering/
32 https://docs.microsoft.com/en-us/learn/modules/connect-on-premises-network-with-vpn-gateway/
10
●● Connect your on-premises network to the Microsoft global network by using ExpressRoute33
33 https://docs.microsoft.com/en-us/learn/modules/connect-on-premises-network-with-expressroute/
34 https://docs.microsoft.com/en-us/learn/modules/control-network-traffic-flow-with-routes/
35 https://docs.microsoft.com/en-us/learn/modules/improve-app-scalability-resiliency-with-load-balancer/
36 https://docs.microsoft.com/en-us/learn/modules/load-balance-web-traffic-with-application-gateway/
37 https://docs.microsoft.com/en-us/learn/modules/distribute-load-with-traffic-manager/
38 https://docs.microsoft.com/en-us/learn/modules/create-azure-storage-account/
39 https://docs.microsoft.com/en-us/learn/modules/secure-azure-storage-account/
40 https://docs.microsoft.com/en-us/learn/modules/optimize-archive-costs-blob-storage/
41 https://docs.microsoft.com/en-us/learn/modules/ha-application-storage-with-grs/
42 https://docs.microsoft.com/en-us/learn/modules/copy-blobs-from-command-line-and-code/
43 https://docs.microsoft.com/en-us/learn/modules/move-data-with-azure-data-box/
44 https://docs.microsoft.com/en-us/learn/modules/monitor-diagnose-and-troubleshoot-azure-storage/
45 https://docs.microsoft.com/en-us/learn/modules/build-app-with-scale-sets/
46 https://docs.microsoft.com/en-us/learn/modules/deploy-vms-from-vhd-templates/
47 https://docs.microsoft.com/en-us/learn/modules/choose-the-right-disk-storage-for-vm-workload/
48 https://docs.microsoft.com/en-us/learn/modules/add-and-size-disks-in-azure-virtual-machines/
49 https://docs.microsoft.com/en-us/learn/modules/protect-vm-settings-with-dsc/
11
Module 11 - Monitoring
●● Analyze your Azure infrastructure by using Azure Monitor logs61
●● Improve incident response with alerting on Azure62
●● Monitor the health of your Azure virtual machine by collecting and analyzing diagnostic data63
●● Monitor, diagnose, and troubleshoot your Azure storage64
Study Resources
There are a lot of additional resources to help you learn about Azure. We recommend you bookmark
these pages.
●● For Azure Virtual Desktop videos from the Microsoft Mechanics series, see: www.aka.ms/wvdplaylist.
50 https://docs.microsoft.com/en-us/learn/modules/host-a-web-app-with-azure-app-service/
51 https://docs.microsoft.com/en-us/learn/modules/stage-deploy-app-service-deployment-slots/
52 https://docs.microsoft.com/en-us/learn/modules/app-service-scale-up-scale-out/
53 https://docs.microsoft.com/en-us/learn/modules/app-service-autoscale-rules/
54 https://docs.microsoft.com/en-us/learn/modules/capture-page-load-times-application-insights/
55 https://docs.microsoft.com/en-us/learn/modules/run-docker-with-azure-container-instances/
56 https://docs.microsoft.com/en-us/learn/modules/intro-to-azure-kubernetes-service/
57 https://docs.microsoft.com/en-us/learn/modules/protect-virtual-machines-with-azure-backup/
58 https://docs.microsoft.com/en-us/learn/modules/backup-restore-azure-sql/
59 https://docs.microsoft.com/en-us/learn/modules/protect-infrastructure-with-site-recovery/
60 https://docs.microsoft.com/en-us/learn/modules/protect-on-premises-infrastructure-with-azure-site-recovery/
61 https://docs.microsoft.com/en-us/learn/modules/analyze-infrastructure-with-azure-monitor-logs/
62 https://docs.microsoft.com/en-us/learn/modules/incident-response-with-alerting-on-azure/
63 https://docs.microsoft.com/en-us/learn/modules/monitor-azure-vm-using-diagnostic-data/
64 https://docs.microsoft.com/en-us/learn/modules/monitor-diagnose-and-troubleshoot-azure-storage/
12
●● Azure Virtual Desktop docs65. Deliver a virtual desktop experience and remote apps to any device.
Bring together Microsoft 365 and Azure to provide users with the only multi-session Windows 10
experience—with exceptional scale and reduced IT costs.
●● What's new in Azure Virtual Desktop?66. A monthly article revealing recent Azure Virtual Desktop
updates. Make sure to check back here often to keep up with new updates.
●● Migrate or deploy Azure Virtual Desktop instances to Azure67. Guidance from the Cloud Adoption
Framework for migrating an organization's end-user desktops to the cloud.
●● Azure Migration Program68. Get the guidance and expert help you need at every stage of your Azure
Virtual Desktop cloud migration journey. Migrate infrastructure, databases, and apps—and move
forward with confidence.
●● Azure forums69. The Azure forums are very active. You can search the threads for a specific area of
interest. You can also browse categories like Azure Storage, Pricing and Billing, Azure Virtual Machines,
and Azure Migrate.
●● Microsoft Learning Community Blog70. Get the latest information about the certification tests and
exam study groups.
●● Channel 971. Channel 9 provides a wealth of informational videos, shows, and events.
●● Azure Fridays72. Join Scott Hanselman as he engages one-on-one with the engineers who build the
services that power Microsoft Azure, as they demo capabilities, answer Scott's questions, and share
their insights.
●● Microsoft Azure Blog73. Keep current on what's happening in Azure, including what's now in preview,
generally available, news & updates, and more.
●● Azure Documentation74. Stay informed on the latest products, tools, and features. Get information
on pricing, partners, support, and solutions.
●● Azure Architecture Center75. The Azure Architecture Center provides best practices for running your
workloads on Azure.
65 https://docs.microsoft.com/en-us/azure/virtual-desktop/
66 https://docs.microsoft.com/en-us/azure/virtual-desktop/whats-new
67 https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/wvd/
68 https://azure.microsoft.com/en-us/migration/migration-program/
69 https://social.msdn.microsoft.com/Forums/en-US/home?category=windowsazureplatform
70 https://www.microsoft.com/en-us/learning/community-blog.aspx
71 https://channel9.msdn.com/
72 https://channel9.msdn.com/Shows/Azure-Friday
73 https://azure.microsoft.com/en-us/blog/
74 https://docs.microsoft.com/en-us/azure/
75 https://docs.microsoft.com/en-us/azure/architecture/
Module 1 Plan an Azure Virtual Desktop imple-
mentation
Learning objectives
After completing this module, you'll be able to:
●● Compare Azure Stack Hub, Azure Stack HCI, and Azure Stack Edge.
●● Explain how to integrate hybrid cloud scenarios using Azure Stack Hub.
●● Provide an overview of the Azure Stack Hub systems.
●● Explain how Azure Stack Hub is managed.
●● Identify the key resource providers for Azure Stack Hub.
Prerequisites
●● Conceptual knowledge of Azure compute solutions.
●● Working experience with virtual machines, containers, and app service.
14
You can also use most modern browsers to access Azure Virtual Desktop-hosted experiences.
This module helps Desktop Infrastructure Architects, Cloud Architects, Desktop Administrators, or System
Administrators explore Azure Virtual Desktop and build virtualized desktop infrastructure (VDI) solutions
at enterprise scale. Enterprise-scale solutions generally cover 1,000 virtual desktops and above.
Most demand for enterprise virtual desktop solutions comes from:
●● Security and regulation applications like financial services, healthcare, and government.
●● Elastic workforce needs like remote work, mergers and acquisition, short-term employees, contractors,
and partner access.
●● Specific employees like bring your own device (BYOD) and mobile users, call centers, and branch
workers.
●● Specialized workloads like design and engineering, legacy apps, and software development test.
15
Architecture
The diagram above shows a typical architectural setup for Azure Virtual Desktop.
●● The application endpoints are in the customer's on-premises network. ExpressRoute extends the
on-premises network into the Azure cloud, and Azure AD Connect integrates the customer's Active
Directory Domain Services (AD DS) with Azure Active Directory (Azure AD).
●● The Azure Virtual Desktop control plane handles Web Access, Gateway, Broker, Diagnostics, and
extensibility components like REST APIs.
●● The customer manages AD DS and Azure AD, Azure subscriptions, virtual networks, Azure Files or
Azure NetApp Files, and the Azure Virtual Desktop host pools and workspaces.
●● To increase capacity, the customer uses two Azure subscriptions in a hub-spoke architecture, and
connects them via virtual network peering.
an on-premises network using a virtual private network (VPN), or use Azure ExpressRoute to extend
the on-premises network into the Azure cloud over a private connection.
●● Azure AD: Azure Virtual Desktop uses Azure AD for identity and access management. Azure AD
integration applies Azure AD security features like conditional access, multifactor authentication, and
the Intelligent Security Graph, and helps maintain app compatibility in domain-joined VMs.
●● AD DS: Azure Virtual Desktop VMs must domain-join an AD DS service, and the AD DS must be in
sync with Azure AD to associate users between the two services. You can use Azure AD Connect to
associate AD DS with Azure AD.
●● Azure Virtual Desktop session hosts: A host pool can run the following operating systems:
●● Windows 7 Enterprise
●● Windows 10 Enterprise
●● Windows 10 Enterprise Multi-session
●● Windows Server 2012 R2 and above
●● Custom Windows system images with pre-loaded apps, group policies, or other customizations
You can choose VM sizes, including GPU-enabled VMs. Each session host has an Azure Virtual Desktop
host agent, which registers the VM as part of the Azure Virtual Desktop workspace or tenant. Each host
pool can have one or more app groups, which are collections of remote applications or desktop sessions
that users can access.
●● Azure Virtual Desktop workspace: The Azure Virtual Desktop workspace or tenant is a management
construct to manage and publish host pool resources.
Each host pool can contain an app group that users can interact with as they would on a physical desk-
top.
19
Users obtain access to host pools by being allocated to a host pool using an assigned Application Group:
●● Pooled: You can configure a pooled host pool for several users to sign in and share a VM. Typically,
none of those users would be a local administrator on the pooled VM. With pooled, you can use one
of the recommended images that includes Windows 10 Enterprise multisession. This operating system
is exclusive to Azure Virtual Desktop. You can also use your own custom image.
20
●● Personal: A personal host pool is where each user has their own dedicated VM. Those users would
typically be local administrators for the VM. This enables the user to install or uninstall apps without
impacting other users.
21
Personal desktop solutions (sometimes called persistent desktops) allow users to always connect to the
same specific session host. Users can typically modify their desktop experience to meet personal prefer-
ences, and save files in the desktop environment. Personal desktop solutions:
●● Let users customize their desktop environment, including user-installed applications and saving files
within the desktop environment.
●● Allow assigning dedicated resources to a specific user, which can be helpful for some manufacturing
or development use cases.
Pooled desktop solutions assign users to whichever session host is currently available, depending on the
load-balancing algorithm. Because the users don't always return to the same session host each time they
connect, they have limited ability to customize the desktop environment and don't usually have adminis-
trator access.
22
1 https://docs.microsoft.com/mem/configmgr/
2 https://docs.microsoft.com/windows/deployment/update/waas-manage-updates-wufb
3 https://docs.microsoft.com/azure/automation/update-management/overview
4 https://docs.microsoft.com/azure/azure-monitor/platform/log-analytics-agent
5 https://docs.microsoft.com/azure/virtual-machines/windows/capture-image-resource
23
●● Azure virtual machine session host name prefixes can't exceed 11 characters, due to auto-assign-
ing of instance names and the NetBIOS limit of 15 characters per computer account.
●● By default, you can deploy up to 800 instances of most resource types in a resource group. Azure
Compute doesn't have this limit.
VM sizing
The Virtual machine-sizing guidelines6 list the maximum suggested number of users per virtual central
processing unit (vCPU) and minimum virtual machine configurations for different workloads.
This data helps estimate the virtual machines you need in your host pool.
Simulation tools test deployments with both stress tests and real-life usage simulations. Make sure the
system is responsive and resilient enough to meet user needs, and remember to vary the load sizes.
6 https://docs.microsoft.com/windows-server/remote/remote-desktop-services/virtual-machine-recs
7 https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing
8 https://azure.microsoft.com/pricing/reserved-vm-instances/
24
server with the maximum number of users before it moves on to the next session host. You can adjust
this setting for maximum cost benefits.
Knowledge check
Multiple choice
While deploying Azure Virtual desktop, what is used to integrate Active Directory Domain Services (AD DS)
with Azure Active Directory (Azure AD)?
ExpressRoute
Azure AD Connect
RD Connection Broker
Multiple choice
which of the following is used to connect remote users to Azure Virtual Desktop from any internet-connect-
ed device running an Azure Virtual Desktop client?
Remote Connection Gateway service
Connection Broker
Web Access service
Multiple choice
Your company has a team of remote workers that need to use Windows-based software to develop company
applications, but your team members use a variety operating systems such as macOS, Linux, and Windows.
Which Azure compute service would resolve this scenario?
Azure App Service
Azure Virtual Desktop
Azure Container Instances
Summary
In this module, you learned how to:
●● Compare Azure Stack Hub, Azure Stack HCI, and Azure Stack Edge.
●● Explain how to integrate hybrid cloud scenarios using Azure Stack Hub.
●● Provide an overview of the Azure Stack Hub systems.
●● Explain how Azure Stack Hub is managed.
●● Identify the key resource providers for Azure Stack Hub.
25
Learn more
●● Azure free account9 | Azure free account FAQ10
●● Free account for Students11 | Azure for students FAQ12
●● Create an Azure account13 module on Learn.
9 https://azure.microsoft.com/free/?azure-portal=true
10 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
11 https://azure.microsoft.com/free/students/?azure-portal=true
12 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
13 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
26
Learning objectives
After completing this module, you'll be able to:
●● Assess network capacity and speed requirements for Azure Virtual Desktop.
●● Determine the connection round-trip time (RTT) from a location through the Azure Virtual Desktop
service.
●● Recommend an operating system for an Azure Virtual Desktop implementation.
●● Describe the two load-balancing methods for Azure Virtual Desktop.
●● Recommendation subscriptions and management groups for Azure Virtual Desktop.
●● Recommend a configuration for performance requirements.
Prerequisites
●● Conceptual knowledge of Azure compute solutions.
●● Working experience with virtual machines, containers, and app service.
Applications
The following table lists the minimum recommended bandwidths for a smooth user experience.
Display resolutions
Different display resolutions require different available bandwidths. The following table lists the band-
widths we recommend for a smooth user experience at typical display resolutions with a frame rate of 30
frames per second (fps). These recommendations apply to single and multiple user scenarios. Keep in
mind that scenarios involving a frame rate under 30 fps, such as reading static text, require less available
bandwidth.
14 https://azure.microsoft.com/services/virtual-desktop/assessment/
28
The actual experience will vary depending on network conditions, end-user device, and the configuration
of the deployed virtual machines.
The breadth-first method first queries session hosts that allow new connections. The method then selects
a session host randomly from half the set of session hosts with the least number of sessions. For example,
if there are nine machines with 11, 12, 13, 14, 15, 16, 17, 18, and 19 sessions, a new session you create
30
won't automatically go to the first machine. Instead, it can go to any of the first five machines with the
lowest number of sessions (11, 12, 13, 14, 15).
The depth-first method first queries session hosts that allow new connections and haven't gone over
their maximum session limit. The method then selects the session host with highest number of sessions. If
there's a tie, the method selects the first session host in the query.
The depth-first load-balancing algorithm distributes sessions to session hosts based on the maximum
session host limit. This parameter is required when you use the depth-first load-balancing algorithm. For
the best possible user experience, make sure to change the maximum session host limit parameter to a
number that best suits your environment.
15 https://azuredatacentermap.azurewebsites.net/
31
Microsoft doesn't control or limit the regions where you or your users can access your user and app-spe-
cific data.
Azure Virtual Desktop stores global metadata information like tenant names, host pool names, app group
names, and user principal names in a datacenter. Whenever a customer creates a service object, they
must enter a location for the service object. The location they enter determines where the metadata for
the object will be stored. The customer will choose an Azure region and the metadata will be stored in
the related geography.
There is currently support for storing metadata in the following geographies:
●● United States (US) (Generally available)
●● Europe (EU) (Public preview)
When you're selecting a region to create Azure Virtual Desktop service objects in, you'll see regions
under both US and EU geographies.
To make sure you understand which region would work best for your deployment, take a look at our
Azure global infrastructure map16.
The stored metadata is encrypted at rest, and geo-redundant mirrors are maintained within the geogra-
phy. All customer data, such as app settings and user data, resides in the location the customer chooses
and isn't managed by the service. More geographies will become available as the service grows.
16 https://azure.microsoft.com/global-infrastructure/geographies/
17 https://docs.microsoft.com/azure/azure-monitor/platform/data-platform-metrics
18 https://docs.microsoft.com/azure/azure-monitor/vm/monitor-vm-azure
32
●● Virtual machines don't generate resource logs19 to provide insight into operations performed within
an Azure resource. You use an agent to collect log data from the guest operating system.
●● You can create diagnostic settings20 for a virtual machine to send platform metrics to other destina-
tions such as storage and Event Hubs, but you can't configure these diagnostic settings in the Azure
portal.
Monitoring data
Virtual machines in Azure generate logs21 and metrics22 as shown in the following diagram.
19 https://docs.microsoft.com/azure/azure-monitor/platform/platform-logs-overview
20 https://docs.microsoft.com/azure/azure-monitor/platform/diagnostic-settings
21 https://docs.microsoft.com/azure/azure-monitor/platform/data-platform-logs
22 https://docs.microsoft.com/azure/azure-monitor/platform/data-platform-metrics
23 https://docs.microsoft.com/azure/azure-monitor/insights/monitor-azure-resource
24 https://docs.microsoft.com/azure/azure-monitor/platform/data-platform-metrics
33
machine host, but you require the diagnostics extension to collect metrics for the guest operating
system.
●● Activity log25 - Provides insight for each Azure resource in the subscription from the outside (the
management plane). For a virtual machine, such information as when it was started and any configu-
ration changes.
Configuration requirements
To enable all features of Azure Monitor for monitoring a virtual machine, you need to collect monitoring
data from the virtual machine host and guest operating system to both Azure Monitor Metrics and Azure
Monitor Logs. The following table lists the configuration that must be performed to enable this collection.
25 https://docs.microsoft.com/azure/azure-monitor/platform/platform-logs-overview
26 https://docs.microsoft.com/azure/azure-monitor/agents/agents-overview
27 https://docs.microsoft.com/azure/azure-monitor/agents/agents-overview
28 https://docs.microsoft.com/azure/azure-monitor/agents/agents-overview
29 https://docs.microsoft.com/azure/azure-monitor/platform/collect-custom-metrics-linux-telegraf
34
Install the diagnostics extension Guest performance data collect- Metrics explorer for guest.
and telegraf agent. ed to Metrics.
Metrics alerts for guest.
Knowledge check
Multiple choice
What can you use to estimate the connection round trip time (RTT) through the Azure Virtual Desktop
service from a specific location to an Azure region you want to deploy virtual machines to?
Azure Pricing Calculator
Azure Synapse Analytics
Azure Virtual Desktop Experience Estimator
Multiple choice
Which load-balancing solution available in Azure Virtual Desktop is used to evenly distribute user sessions
across session hosts in a host pool?
Breadth-first load balancing
Depth-first load balancing
Azure Front Door application delivery network
Multiple choice
What should you use to determine which region is best for an Azure Virtural Desktop deployment?
Remote Desktop Diagnostics
Remote Connection Gateway service
Azure global infrastructure map
Summary
In this module, you learned how to:
●● Assess network capacity and speed requirements for Azure Virtual Desktop.
●● Determine the connection round-trip time (RTT) from a location through the Azure Virtual Desktop
service.
●● Recommend an operating system for an Azure Virtual Desktop implementation.
●● Describe the two load-balancing methods for Azure Virtual Desktop.
●● Recommendation subscriptions and management groups for Azure Virtual Desktop.
●● Recommend a configuration for performance requirements.
35
Learn more
●● Azure free account30 | Azure free account FAQ31
●● Free account for Students32 | Azure for students FAQ33
●● Create an Azure account34 module on Learn.
30 https://azure.microsoft.com/free/?azure-portal=true
31 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
32 https://azure.microsoft.com/free/students/?azure-portal=true
33 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
34 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
36
Learning objectives
After completing this module, you'll be able to:
●● Select a licensing model for Azure Virtual Desktop.
●● Describe personal and multi-session desktop scenarios.
●● Plan a storage solution storing FSLogix profile containers
●● Plan for a Desktop client deployment
●● Deploy Windows Desktop client to multiple devices.
●● Describe Hybrid Identity for Azure Virtual Desktop.
Prerequisites
●● Conceptual knowledge of governance policies, resource organization, and subscription management.
●● Working experience with organizing resources, applying governance policies, and enforcing compli-
ance requirements.
●● Working experience with virtual machines, containers, and app service.
Multi-session Desktop
Sample use cases for multiple users sharing a pooled (non-persistent) virtual desktop include:
Microsoft 1000 Standard 2 per vCPU See esti- See esti- See esti-
Office knowledge mate mate mate
workers (https:// (https:// (https://
making use azure.
of Microsoft
Office
products.
24/7 RI is
used to
avoid need
for manage-
ment of
virtual
machines.
Call center/ 1000 Call center 6 per vCPU See esti- See esti- See esti-
data entry users with mate mate mate
low intensity (https:// (https:// (https://
workloads, azure. azure.
primarily
engaged in
data entry.
Users
operate in
three 8-hour
shifts,
making a
24/7 RI
instance the
most cost
effective
option.
We recommend storing FSLogix profile containers on Azure Files for most of our customers.
Azure Virtual Desktop offers FSLogix profile containers as the recommended user profile solution. FSLogix
is designed to roam profiles in remote computing environments, such as Azure Virtual Desktop.
When a user signs in the container is dynamically attached to the environment using a natively supported
Virtual Hard Disk (VHD) and a Hyper-V Virtual Hard Disk (VHDX). The user profile is immediately available
and appears exactly like a native user profile.
39
The following tables compare the storage solutions Azure Storage offers for Azure Virtual Desktop
FSLogix profile container user profiles.
35 https://go.microsoft.com/fwlink/?linkid=2068602
36 https://go.microsoft.com/fwlink/?linkid=2098960
40
Workspaces
Get the list of managed resources you can access, such as apps and desktops, by subscribing to the
Workspace your admin provided you. When you subscribe, the resources become available on your local
PC. The Windows Desktop client currently supports resources published from Azure Virtual Desktop.
The following diagram shows an Azure Virtual Desktop workspace with two host pools.
●● Host pool A has two application groups: Desktop and RemoteApp. These resources are shared
(pooled) across the sales team.
●● Host pool B has a Desktop application group with personal desktops available to an engineering
team.
Subscribe to a Workspace
There are methods you can subscribe to a Workspace. The client can try to discover the resources
available to you from your work or school account or you can directly specify the URL where your
resources are for cases where the client is unable to find them. Once you've subscribed to a Workspace,
you can launch resources with one of the following methods:
●● Go to the Connection Center and double-click a resource to launch it.
●● You can also go to the Start menu and look for a folder with the Workspace name or enter the
resource name in the search bar.
Per-device installation
msiexec.exe /I <path to the MSI> /qn ALLUSERS=1
43
Per-user installation
msiexec.exe /i `<path to the MSI>` /qn ALLUSERS=2 MSIINSTALLPERUSER=1
Configuration options
The section below describes the new configuration options for this client.
Insider group
The Insider group is for early validation, and consists of admins and their selected users. The Insider
group serves as a test run to detect any issues in the update that can impact performance before it's
released to the Public group.
It’s a good idea for each organization to have some users in the Insider group to test updates and catch
issues early.
In the Insider group, a new version of the client is released to the users on the second Tuesday of each
month for early validation. If the update doesn't have issues, it gets released to the Public group two
weeks later. Users in the Insider group will receive update notifications automatically whenever updates
are ready.
To configure the client for the Insider group, set the following registry information:
●● Key: HKLM\Software\Microsoft\MSRDC\Policies
●● Type: REG_SZ
●● Name: ReleaseRing
●● Data: insider
44
Public group
This group is for all users and is the most stable version. You don't need to do anything to configure this
group.
The Public group receives the version of the client that was tested by the Insider group every fourth
Tuesday of each month. All users in the Public group will receive an update notification if that setting is
enabled.
37 https://docs.microsoft.com/azure/active-directory/hybrid/whatis-phs
38 https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-pta
39 https://docs.microsoft.com/azure/active-directory/hybrid/whatis-fed
45
Azure AD Connect is the Microsoft tool designed to meet and accomplish your hybrid identity goals. It
provides the following features:
●● Password hash synchronization40 - A sign-in method that synchronizes a hash of a users on-premis-
es AD password with Azure AD.
40 https://docs.microsoft.com/azure/active-directory/hybrid/whatis-phs
47
●● Pass-through authentication41 - A sign-in method that allows users to use the same password
on-premises and in the cloud, but doesn't require more infrastructure of a federated environment.
41 https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-pta
48
●● Federation integration42 - Federation is an optional part of Azure AD Connect and can be used to
configure a hybrid environment using an on-premises AD FS infrastructure. It also provides AD FS
management capabilities such as certificate renewal and additional AD FS server deployments.
42 https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-fed-whatis
49
●● Synchronization43 - Responsible for creating users, groups, and other objects. As well as, making sure
identity information for your on-premises users and groups is matching the cloud. This synchroniza-
tion also includes password hashes.
●● Health Monitoring44 - Azure AD Connect Health can provide robust monitoring and provide a central
location in the Azure portal to view this activity.
Azure Virtual Desktop supports hybrid identities through Azure Active Directory (AD), including those
federated using Active Directory Federation Services (ADFS).
Since users must be discoverable through Azure AD, Azure Virtual Desktop doesn't support standalone
Active Directory deployments with ADFS.
Azure Virtual Desktop currently doesn't support Active Directory Federation Services (ADFS) for SSO.
The only way to avoid being prompted for your credentials for the session host is to save them in the
client. We recommend you only do this with secure devices to prevent other users from accessing your
resources.
Windows 10 Enterprise multi-session is currently supported to be hybrid Azure AD-joined. After Windows
10 Enterprise multi-session is domain-joined, use the existing Group Policy Object to enable Azure AD
registration.
43 https://docs.microsoft.com/azure/active-directory/hybrid/how-to-connect-sync-whatis
44 https://docs.microsoft.com/azure/active-directory/hybrid/whatis-hybrid-identity-health
50
Knowledge check
Multiple choice
What should you use with Azure AD Connect to configure a hybrid environment using an on-premises
Active Directory Federation Services (AD FS) infrastructure?
Federation integration
Synchronization
Health Monitoring
Multiple choice
What should you use to enable roaming profiles in remote computing environments?
Azure NetApp Files
Storage Spaces Direct
FSLogix
Summary
In this module, you learned how to:
●● Select a licensing model for Azure Virtual Desktop.
●● Describe personal and multi-session desktop scenarios.
●● Plan a storage solution storing FSLogix profile containers
●● Plan for a Desktop client deployment
●● Deploy Windows Desktop client to multiple devices.
●● Describe Hybrid Identity for Azure Virtual Desktop.
Learn more
●● Azure free account45 | Azure free account FAQ46
●● Free account for Students47 | Azure for students FAQ48
●● Create an Azure account49 module on Learn.
45 https://azure.microsoft.com/free/?azure-portal=true
46 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
47 https://azure.microsoft.com/free/students/?azure-portal=true
48 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
49 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
51
Labs
Prepare for deployment of Azure Virtual Desk-
top (Azure AD DS)
✔️ Important: To download the most recent version of this lab, please visit the AZ-140 GitHub reposi-
tory50.
Direct link to the Lab - Prepare for deployment of Azure Azure Virtual Desktop (Azure AD DS).51.
Objectives
After completing this lab, you will be able to:
●● Implement an Azure AD DS domain
●● Configure the Azure AD DS domain environment
Lab prerequisites
●● An Azure subscription
●● A Microsoft account or an Azure AD account with the Global Administrator role in the Azure AD
tenant associated with the Azure subscription and with the Owner role in the Azure subscription Note:
At the time of authoring this course, the MSIX app attach functionality for Azure Virtual Desktop is in
public preview. If you intend to run the lab that involves the use of MSIX app attach included in this
course, you need to submit a request via on online form52 to enable MSIX app attach in your sub-
scription. The approval and processing of requests can take up to 24 hours during business days.
You'll receive an email confirmation once your request has been accepted and completed.
Estimated time: 150 minutes
Note: Provisioning of an Azure AD DS takes involves about 90-minute wait time.
Lab files
●● \\AZ-140\AllFiles\Labs\01\az140-11_azuredeploycl11a.json
●● \\AZ-140\AllFiles\Labs\01\az140-11_azuredeploycl11a.parameters.json
50 https://aka.ms/AZ-140_Labs
51 https://aka.ms/AZ-140_01_Lab_01
52 https://aka.ms/enablemsixappattach
52
Objectives
After completing this lab, you will be able to:
●● Deploy an Active Directory Domain Services (AD DS) single-domain forest by using Azure VMs
●● Integrate an AD DS forest with an Azure Active Directory (Azure AD) tenant
Lab prerequisites
●● An Azure subscription you will be using in this lab.
●● A Microsoft account or an Azure AD account with the Owner or Contributor role in the Azure sub-
scription you will be using in this lab and with the Global Administrator role in the Azure AD tenant
associated with that Azure subscription.
Estimated time: 60 minutes
Lab files
●● \\AZ-140\AllFiles\Labs\01\az140-11_azuredeploydc11.parameters.json
●● \\AZ-140\AllFiles\Labs\01\az140-11_azuredeploycl11.json
●● \\AZ-140\AllFiles\Labs\01\az140-11_azuredeploycl11.parameters.json
53 https://aka.ms/AZ-140_Labs
54 https://aka.ms/AZ-140_01_Lab_02
53
Review questions
Module review questions
Multiple choice
You manage an office where all your users work. Half of the users in the office work from home, and the
remainder work in the office day-to-day. The employees working from home do not connect to the office
using a VPN. You are designing an AVD instance, and you need to estimate the user workload using the
following data. Light workload: 40 users 1.5 Mbps Medium workload: 20 users 3 Mbps Heavy workload 20
users 5 Mbps How much bandwidth will you need to allocate between the office and Azure to support all
three workloads?
A. 80 Mbps
B. 220 Mbps
C. 110 Mbps
D. 120 Mbps
Multiple choice
You are planning an AVD instance that includes the following: West Coast Sales Team: AVD single-session
desktops 10 users GPU (not required) East Coast Sales Team: AVD multi-session desktops 50 users GPU
(required) Southern Sales Team: AVD multi-session desktops 50 users GPU (not required) Northern Coast
Sales Team: Remote App 10 users GPU (not required) You are planning on using AVD host pools with
autoscaling and load balancing. You need to determine a design for the host pools with an eye towards
minimizing the costs. What is the minimum number of host pool you should plan for?
A. 2
B. 3
C. 4
D. 5
Multiple choice
You are managing the following computer devices: Client_Device_A (Win 10 Home) Client_Device_B (Win
8.1 Pro) Client_Device_C (Win 10 IoT Ent) You want your users to access virtualized apps remotely. Of the
devices listed above, which ones will support the remote desktop client?
A. Client_Device_A, Client_Device_B, and Client_Device_C
B. Client_Device_B
C. Client_Device_A
D. Client_Device_A and Client_Device_C
55
Multiple choice
You are an administrator for a medium-sized organization where you support 50,000 users. You are in the
middle of planning an AVD deployment. You need to plan for using FSLogix profile containers. You must find
a storage solution for low latency and high Input/output operations per second (IOPS). What should you
use?
A. Cache Azure file share on-premises with Azure File Sync
B. Azure NetApp files
C. A General purpose version 2 (GPv2) account
D. Configure an Azure File Sync (Storage Sync Service)
Multiple choice
You are planning an AVD deployment. You are measuring the latency in the network between where your
users are located and where you are planning your deployment. What could you use to determine the
optimal Azure region for deploying a host pool?
A. Deploy a WAN optimization network virtual appliance
B. Azure Virtual Desktop Experience Estimator
C. Diagnose with Network Watcher
D. Apply a Network Security Group (NSG) filter
Multiple choice
You manage an existing AVD instance. You need to provide your external users access to the AVD instance.
You users have Win 10 Pro and Win 10 Ent running on their computers. Your users do not have the ability to
install apps. What are you going to recommend your users use to connect to the AVD deployment?
A. Microsoft Edge browser
B. Modify desktop RDP properties for device redirection
C. Launch the Connection Center and click Subscribe
D. Implement the RD Connection Broker
Multiple choice
You manage a network that has an on-premises domain that has a universal security group named Securi-
tyUsers. SecurityUsers syncs with AAD, where there is a hybrid AAD tenant. You manage an AVD host pool
that has three Win 10 Enterprise multi-session hosts. You want to make sure that only members of Security-
Users can establish AVD sessions to the host pool. What needs to be done to meet your goal?
A. Create a new role assignment for the host pool
B. Modify the RDP properties on the host pool
C. Configure role assignment for each of the three VMs
D. Assign SecurityUsers to an application group
56
Answers
Multiple choice
While deploying Azure Virtual desktop, what is used to integrate Active Directory Domain Services (AD
DS) with Azure Active Directory (Azure AD)?
ExpressRoute
■■ Azure AD Connect
RD Connection Broker
Explanation
That's correct. Azure AD Connect is used to integrate Active Directory Domain Services (AD DS) with Azure
Active Directory (Azure AD).
Multiple choice
which of the following is used to connect remote users to Azure Virtual Desktop from any internet-con-
nected device running an Azure Virtual Desktop client?
■■ Remote Connection Gateway service
Connection Broker
Web Access service
Explanation
That's correct. The Remote Connection Gateway service connects remote users to Azure Virtual Desktop
apps and desktops from any internet-connected device that can run an Azure Virtual Desktop client. The
client connects to a gateway, which then orchestrates a connection from a virtual machine (VM) back to the
gateway.
Multiple choice
Your company has a team of remote workers that need to use Windows-based software to develop
company applications, but your team members use a variety operating systems such as macOS, Linux,
and Windows. Which Azure compute service would resolve this scenario?
Azure App Service
■■ Azure Virtual Desktop
Azure Container Instances
Explanation
That's correct. Azure Virtual Desktop enables your team members to run Windows in the cloud, with access
to the required applications for your company's needs.
57
Multiple choice
What can you use to estimate the connection round trip time (RTT) through the Azure Virtual Desktop
service from a specific location to an Azure region you want to deploy virtual machines to?
Azure Pricing Calculator
Azure Synapse Analytics
■■ Azure Virtual Desktop Experience Estimator
Explanation
That's correct. The Azure Virtual Desktop Experience Estimator determines the connection round trip time
(RTT) from your current location, using the Azure Virtual Desktop service, to an Azure region in which you
can deploy virtual machines.
Multiple choice
Which load-balancing solution available in Azure Virtual Desktop is used to evenly distribute user
sessions across session hosts in a host pool?
■■ Breadth-first load balancing
Depth-first load balancing
Azure Front Door application delivery network
Explanation
That's correct. Breadth-first load balancing allows you to evenly distribute user sessions across the session
hosts in a host pool.
Multiple choice
What should you use to determine which region is best for an Azure Virtural Desktop deployment?
Remote Desktop Diagnostics
Remote Connection Gateway service
■■ Azure global infrastructure map
Explanation
That's correct. Azure Virtual Desktop stores global metadata information like tenant names, host pool
names, app group names, and user principal names in a datacenter.
Multiple choice
What should you use with Azure AD Connect to configure a hybrid environment using an on-premises
Active Directory Federation Services (AD FS) infrastructure?
■■ Federation integration
Synchronization
Health Monitoring
Explanation
That's correct. Federation integration is an option in Azure AD Connect used to configure a hybrid environ-
ment using on-premises Active Directory Federation Services (AD FS). It also provides AD FS management
capabilities such as certificate renewal and additional AD FS server deployments.
58
Multiple choice
What should you use to enable roaming profiles in remote computing environments?
Azure NetApp Files
Storage Spaces Direct
■■ FSLogix
Explanation
That's correct. Azure Virtual Desktop offers FSLogix profile containers as the recommended user profile
solution. FSLogix is designed to roam profiles in remote computing environments, such as Azure Virtual
Desktop.
Multiple choice
You manage an office where all your users work. Half of the users in the office work from home, and the
remainder work in the office day-to-day. The employees working from home do not connect to the office
using a VPN. You are designing an AVD instance, and you need to estimate the user workload using the
following data. Light workload: 40 users 1.5 Mbps Medium workload: 20 users 3 Mbps Heavy workload 20
users 5 Mbps How much bandwidth will you need to allocate between the office and Azure to support all
three workloads?
A. 80 Mbps
B. 220 Mbps
■■ C. 110 Mbps
D. 120 Mbps
Explanation
The answer is C. 110 Mbps. Because half the users work from home and aren’t connecting using a VPN, the
other half the users on the office network. Thus, (40*1.5 + 20*3 +20*5)/2 = 110 Mbps See topic: *Assess
network capacity and speed requirements for AVD*.
Multiple choice
You are planning an AVD instance that includes the following: West Coast Sales Team: AVD single-session
desktops 10 users GPU (not required) East Coast Sales Team: AVD multi-session desktops 50 users GPU
(required) Southern Sales Team: AVD multi-session desktops 50 users GPU (not required) Northern Coast
Sales Team: Remote App 10 users GPU (not required) You are planning on using AVD host pools with
autoscaling and load balancing. You need to determine a design for the host pools with an eye towards
minimizing the costs. What is the minimum number of host pool you should plan for?
A. 2
■■ B. 3
C. 4
D. 5
Explanation
As seen in the Azure Virtual Desktop Components topic, Azure Virtual Desktop session hosts: A host pool
can run the following operating systems: Windows 7 Enterprise Windows 10 Enterprise Windows 10 Enter-
prise Multi-session Windows Server 2012 R2 and above Custom Windows system images with pre-loaded
apps, group policies, or other customizations You can choose VM sizes, including GPU-enabled VMs. Each
session host has an Azure Virtual Desktop host agent, which registers the VM as part of the Azure Virtual
Desktop workspace or tenant. Each host pool can have one or more app groups, which are collections of
remote applications or desktop sessions that users can access.
59
Multiple choice
You are managing the following computer devices: Client_Device_A (Win 10 Home) Client_Device_B (Win
8.1 Pro) Client_Device_C (Win 10 IoT Ent) You want your users to access virtualized apps remotely. Of the
devices listed above, which ones will support the remote desktop client?
A. Client_Device_A, Client_Device_B, and Client_Device_C
B. Client_Device_B
C. Client_Device_A
■■ D. Client_Device_A and Client_Device_C
Explanation
The answer is D, Client_Device_A and Client_Device_C. As seen in topic *Plan for Windows Desktop client
deployment*, the Remote Desktop client (MSRDC) supports the following: Windows 10 Windows 10 IoT
Enterprise Windows 7 client devices
Multiple choice
You are an administrator for a medium-sized organization where you support 50,000 users. You are in the
middle of planning an AVD deployment. You need to plan for using FSLogix profile containers. You must
find a storage solution for low latency and high Input/output operations per second (IOPS). What should
you use?
A. Cache Azure file share on-premises with Azure File Sync
■■ B. Azure NetApp files
C. A General purpose version 2 (GPv2) account
D. Configure an Azure File Sync (Storage Sync Service)
Explanation
The answer is B, Azure NetApp Files. As seen in the topic Recommend an appropriate storage solution,
Azure NetApp Files provides up to 320k (16K) IOPS with 4.5 GBps per volume at about 1 ms latency.
Multiple choice
You are planning an AVD deployment. You are measuring the latency in the network between where your
users are located and where you are planning your deployment. What could you use to determine the
optimal Azure region for deploying a host pool?
A. Deploy a WAN optimization network virtual appliance
■■ B. Azure Virtual Desktop Experience Estimator
C. Diagnose with Network Watcher
D. Apply a Network Security Group (NSG) filter
Explanation
The answer is B, Azure Virtual Desktop Experience Estimator. As seen in the *Azure Virtual Desktop Experi-
ence Estimator* topic, use the Azure Virtual Desktop Experience Estimator to determine the connection
round trip time (RTT) from your current location, through the Azure Virtual Desktop service, to each Azure
region in which you can deploy virtual machines.
60
Multiple choice
You manage an existing AVD instance. You need to provide your external users access to the AVD in-
stance. You users have Win 10 Pro and Win 10 Ent running on their computers. Your users do not have
the ability to install apps. What are you going to recommend your users use to connect to the AVD
deployment?
■■ A. Microsoft Edge browser
B. Modify desktop RDP properties for device redirection
C. Launch the Connection Center and click Subscribe
D. Implement the RD Connection Broker
Explanation
The answer is A, Microsoft Edge browser. As seen in the topic Plan for AVD client deployment - RDP, to run
a web client you need an HTML5-capable browser and a PC running Windows, macOS, ChromeOS, or
Linux.
Multiple choice
You manage a network that has an on-premises domain that has a universal security group named
SecurityUsers. SecurityUsers syncs with AAD, where there is a hybrid AAD tenant. You manage an AVD
host pool that has three Win 10 Enterprise multi-session hosts. You want to make sure that only members
of SecurityUsers can establish AVD sessions to the host pool. What needs to be done to meet your goal?
A. Create a new role assignment for the host pool
B. Modify the RDP properties on the host pool
C. Configure role assignment for each of the three VMs
■■ D. Assign SecurityUsers to an application group
Explanation
The answer is D, Assign SecurityUsers to an application group. As seen in the topic Assign SecurityUsers to
an application group, users obtain access to host pools by being allocated to a host pool using an assigned
Application Group.
Module 2 Implement an Azure Virtual Desktop
infrastructure
Learning objectives
After completing this module, you'll be able to:
●● Recommend a solution for Azure Virtual Desktop network connectivity.
●● Implement Azure virtual network connectivity for Azure Virtual Desktop.
●● Describe network security for Azure Virtual Desktop.
●● Configure Azure Virtual Desktop session hosts using Microsoft Bastion.
●● Monitor communication between a virtual machine and an endpoint.
Prerequisites
●● Working experience with enterprise networking.
●● Conceptual knowledge of software defined networking and hybrid connectivity.
Azure virtual network enables Azure resources to securely communicate with each other, the internet, and
on-premises networks.
Key scenarios that you can accomplish using a virtual network include:
●● Communication of Azure resources with the internet
●● Communication between Azure resources
●● Communication with on-premises resources
●● Filtering network traffic
●● Routing network traffic
●● Integration with Azure services
1. When authenticated in Azure Active Directory, a token is returned to the Remote Desktop
Services client.
2. The gateway checks the token with the connection broker.
3. The broker queries the Azure SQL database for resources assigned to the user.
4. The gateway and the broker select the session host for the connected client.
5. The session host creates a reverse connection to the client by using the Azure Virtual Desktop
gateway.
The inbound ports are not opened and the gateway is acting as an intelligent reverse proxy. The gateway
manages all session connectivity.
Azure Virtual Desktop hosts the client on the session hosts running on Azure. Microsoft manages por-
tions of the services on the customer's behalf and provides secure endpoints for connecting clients and
session hosts. The diagram below gives a high-level overview of the network connections used by Azure
Virtual Desktop.
66
Session connectivity
Azure Virtual Desktop uses Remote Desktop Protocol (RDP) to provide remote display and input capabili-
ties over network connections. RDP has initially released with Windows NT 4.0 Terminal Server Edition
and was continuously evolving with every Microsoft Windows and Windows Server release. From the
beginning, RDP developed to be independent of its underlying transport stack, and today it supports
multiple types of transport.
Connection security
TLS 1.2 is used for all connections initiated from the clients and session hosts to the Azure Virtual Desk-
top infrastructure components.
For reverse connect transport, both client and session host connect to the Azure Virtual Desktop gateway.
After establishing the TCP connection, the client or session host validates the Azure Virtual Desktop
gateway's certificate.
After establishing the base transport, RDP establishes a nested TLS connection between client and
session host using the session host's certificates.
By default, the certificate used for RDP encryption is self-generated by the OS during the deployment.
●● They need outbound Internet access to the Azure Virtual Desktop service to operate properly and
might also need outbound Internet access for end users.
●● Azure Firewall can help you lock down your environment and filter outbound traffic.
1 https://docs.microsoft.com/azure/network-watcher/
70
Connection monitor also provides the minimum, average, and maximum latency observed over time.
After learning the latency for a connection, you may find that you're able to decrease the latency by
moving your Azure resources to a different Azure region.
then tests the communication and informs you what type of next hop is used to route the traffic. You can
then remove, change, or add a route, to resolve a routing problem.
Knowledge check
Multiple choice
What should you use to secure connectivity and prevent exposing RDP/SSH ports to the outside world for all
virtual machines in a virtual network?
Azure Bastion
Azure Load Balancer
Network security groups (NSGs)
Multiple choice
What does Azure Virtual Desktop use for establishing remote sessions and carrying remote destop protocol
(RDP) traffic?
Reverse connect transport
Remote Desktop Protocol (RDP)
Session host communication channel
Summary
In this module, you learned how to:
●● Recommend a solution for Azure Virtual Desktop network connectivity.
●● Implement Azure virtual network connectivity for Azure Virtual Desktop.
●● Describe network security for Azure Virtual Desktop.
74
Learn more
●● Azure free account2 | Azure free account FAQ3
●● Free account for Students4 | Azure for students FAQ5
●● Create an Azure account6 module on Learn.
2 https://azure.microsoft.com/free/?azure-portal=true
3 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
4 https://azure.microsoft.com/free/students/?azure-portal=true
5 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
6 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
75
Learning objectives
After completing this module, you'll be able to:
●● Choose appropriate storage for FSLogix components.
●● Configure storage for FSLogix components.
●● Configure storage accounts for Azure Files.
●● Configure a new managed data disk to a Windows virtual machine for Azure Virtual Desktop.
●● Create file shares for a storages account for Azure Virtual Desktop.
Prerequisites
●● Conceptual knowledge of storage accounts, blobs, files, disks, and data protection.
●● Working experience with creating and securing storage systems.
4. (Preview) If you have MSIX app attach configured, apps are dynamically delivered to the session host
VM. MSIX app attach uses FSLogix storage concepts, but for applications.
5. User gets their Azure Virtual Desktop workspace populated with their assigned app(s) or session
desktop.
The user profile is immediately available and appears in the system exactly like a native user profile.
User profiles
A user profile contains data elements including desktop settings, persistent network connections, and
application settings. By default, Windows creates a local user profile that is tightly integrated with the
operating system.
A remote user profile provides a partition between user data and the operating system. It allows the
operating system to be replaced or changed without affecting the user data. In Remote Desktop Session
Host (RDSH) and Virtual Desktop Infrastructures (VDI), the operating system may be replaced for the
following reasons:
●● An upgrade of the operating system
●● A replacement of an existing Virtual Machine (VM)
●● A user being part of a pooled (non-persistent) RDSH or VDI environment
Microsoft products operate with several technologies for remote user profiles, including these technolo-
gies:
●● Roaming user profiles (RUP)
●● User profile disks (UPD)
●● Enterprise state roaming (ESR)
UPD and RUP are the most widely used technologies for user profiles in Remote Desktop Session Host
(RDSH) and Virtual Hard Disk (VHD) environments.
77
7 https://docs.microsoft.com/azure/storage/files/storage-files-active-directory-overview
78
To create a FileStorage storage account, ensure the Performance button is set to Premium and the
Account kind is set to FileStorage.
The other basics fields are independent from the choice of storage account:
●● Subscription: The subscription for the storage account to be deployed into.
●● Resource group: The resource group for the storage account to be deployed into. You may either
create a new resource group or use an existing resource group. A resource group is a logical container
for grouping your Azure services. You can create a new resource group, or use an existing resource
group.
80
●● Storage account name: The name of the storage account resource to be created. This name must be
globally unique. The storage account name will be used as the server name when you mount an Azure
file share via SMB.
●● Location: The region for the storage account to be deployed into. The is region associated with the
resource group, or any other available region.
●● Replication: the options are locally redundancy (LRS), zone redundancy (ZRS), geo-redundancy (GRS),
and geo-zone-redundancy. This list contains read-access geo-redundancy (RA-GRS) and read-access
geo-zone redundancy (RA-GZRS), which do not apply to Azure file shares. Any file share created in a
storage account with these items selected will be either geo-redundant or geo-zone-redundant,
respectively. Depending on your region or selected storage account type, some redundancy options
may not be allowed.
●● Blob access tier: This field does not apply to Azure Files, so you can choose either one of the radio
buttons.
Configure disks
You will see how to add and configure a new managed data disk to a Windows virtual machine (VM) by
using the Azure portal. The size of the VM determines how many data disks you can attach.
6. In the Create managed disk page, type in a name for the disk and adjust the other settings as
In the file share listing, you should see any file shares you have previously created in this storage account;
an empty table if no file shares have been created yet. Select + File share to create a new file share.
The new file share should appear on the screen. Complete the fields in the new file share to create a file
share:
●● Name: the name of the file share to be created.
●● Quota: the quota of the file share for standard file shares; the provisioned size of the file share for
premium file shares.
●● Tiers: the selected tier for a file share. This field is only available in a general purpose (GPv2) storage
account. You can choose transaction optimized, hot, or cool. The share's tier can be changed at any
time.
Select Create to finishing creating the new share.
Note: If your storage account is in a virtual network, you will not be able to successfully create an Azure
file share unless your client is also in the virtual network. You can also work around this point-in-time
limitation by using the Azure PowerShell New-AzRmStorageShare cmdlet.
83
Knowledge check
Multiple choice
What should you choose for a Azure Virtual Desktop user profile solution?
Azure Disk Storage
FSLogix
Azure Data Lake Storage
Multiple choice
Which storage solution allows you to deploy Azure file shares on premium/solid-state disk-based (SSD-
based) hardware?
FileStorage storage account
General purpose version 2 (GPv2) storage account
Premium block blobs
Summary
In this module, you learned how to:
●● Choose appropriate storage for FSLogix components.
●● Configure storage for FSLogix components.
●● Configure storage accounts for Azure Files.
●● Configure a new managed data disk to a Windows virtual machine for Azure Virtual Desktop.
●● Create file shares for a storages account for Azure Virtual Desktop.
Learn more
●● Azure free account8 | Azure free account FAQ9
●● Free account for Students10 | Azure for students FAQ11
●● Create an Azure account12 module on Learn.
8 https://azure.microsoft.com/free/?azure-portal=true
9 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
10 https://azure.microsoft.com/free/students/?azure-portal=true
11 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
12 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
84
Learning objectives
After completing this module, you'll be able to:
●● Configure host pool assignment type.
●● Automate creation of an Azure Virtual Desktop host pool using PowerShell.
●● Customize Remote Desktop Protocol (RDP) properties for a host pool.
●● Manage licensing for session hosts that run Windows client.
Prerequisites
●● Conceptual knowledge of Azure compute solutions.
●● Working experience with virtual machines, containers, and app service.
To assign a user to the personal desktop host pool, run the following PowerShell cmdlet:
New-AzRoleAssignment -SignInName <userupn> -RoleDefinitionName "Desktop
Virtualization User" -ResourceName <appgroupname> -ResourceGroupName <re-
sourcegroupname> -ResourceType 'Microsoft.DesktopVirtualization/applica-
tionGroups'
To assign a user to the personal desktop host pool, run the following PowerShell cmdlet:
New-AzRoleAssignment -SignInName <userupn> -RoleDefinitionName "Desktop
Virtualization User" -ResourceName <appgroupname> -ResourceGroupName <re-
sourcegroupname> -ResourceType 'Microsoft.DesktopVirtualization/applica-
tionGroups'
To assign a user to a specific session host, run the following PowerShell cmdlet:
Update-AzWvdSessionHost -HostPoolName <hostpoolname> -Name <sessionhost-
name> -ResourceGroupName <resourcegroupname> -AssignedUser <userupn>
This cmdlet will create the host pool, workspace, and desktop app group. Additionally, it will register the
desktop app group to the workspace. You can either create a workspace with this cmdlet or use an
existing workspace.
Run the next cmdlet to create a registration token to authorize a session host to join the host pool and
save it to a new file on your local computer. You can specify how long the registration token is valid by
using the -ExpirationHours parameter.
The token's expiration date can be no less than an hour and no more than one month. If you set -Expi-
rationTime outside of that limit, the cmdlet won't create the token.
New-AzWvdRegistrationInfo -ResourceGroupName <resourcegroupname> -HostPool-
Name <hostpoolname> -ExpirationTime $((get-date).ToUniversalTime().Ad-
dDays(1).ToString('yyyy-MM-ddTHH:mm:ss.fffffffZ'))
For example, if you want to create a token that expires in two hours, run this cmdlet:
New-AzWvdRegistrationInfo -ResourceGroupName <resourcegroupname> -HostPool-
Name <hostpoolname> -ExpirationTime $((get-date).ToUniversalTime().Ad-
dHours(2).ToString('yyyy-MM-ddTHH:mm:ss.fffffffZ'))
After that, run this cmdlet to add Azure Active Directory users to the default desktop app group for the
host pool.
New-AzRoleAssignment -SignInName <userupn> -RoleDefinitionName "Desktop
Virtualization User" -ResourceName <hostpoolname+"-DAG"> -ResourceGroupName
<resourcegroupname> -ResourceType 'Microsoft.DesktopVirtualization/applica-
tionGroups'
Run this next cmdlet to add Azure Active Directory user groups to the default desktop app group for the
host pool:
New-AzRoleAssignment -ObjectId <usergroupobjectid> -RoleDefinitionName
"Desktop Virtualization User" -ResourceName <hostpoolname+"-DAG"> -Re-
87
Run the following cmdlet to export the registration token to a variable, which will be used later to register
the virtual machines to the Azure Virtual Desktop host pool.
$token = Get-AzWvdRegistrationInfo -ResourceGroupName <resourcegroupname>
-HostPoolName <hostpoolname>
13 https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWrmXv
14 https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWrxrH
89
A session host virtual machine with the applied Windows license will show you something like this:
Type : Microsoft.Compute/virtualMachines
Location : westus
LicenseType : Windows_Client
Virtual machines without the applied Windows license will show you something like this:
Type : Microsoft.Compute/virtualMachines
Location : westus
LicenseType :
15 https://docs.microsoft.com/azure/virtual-desktop/create-host-pools-azure-marketplace
16 https://docs.microsoft.com/azure/virtual-desktop/virtual-desktop-fall-2019/create-host-pools-arm-template
17 https://docs.microsoft.com/azure/virtual-desktop/create-host-pools-powershell
91
Run the following cmdlet to see a list of all session host virtual machines that have the Windows license
applied in your Azure subscription:
$vms = Get-AzVM
$vms | Where-Object {$_.LicenseType -like "Windows_Client"} | Select-Object
ResourceGroupName, Name, LicenseType
Knowledge check
Multiple choice
What should you configure to automatically assign users to virtual machines and personal desktop host
pools?
Configure automatic assignment
Configure direct assignment
Azure Role-based access control (RBAC)
Multiple choice
What should you use to register virtual machines to the Azure Virtual Desktop host pool?
Azure Virtual Desktop Agent
Create a VM from a managed image
Shared Image Galleries image
Summary
In this module, you learned how to:
●● Configure host pool assignment type.
●● Automate creation of an Azure Virtual Desktop host pool using PowerShell.
●● Customize Remote Desktop Protocol (RDP) properties for a host pool.
●● Manage licensing for session hosts that run Windows client.
Learn more
●● Azure free account18 | Azure free account FAQ19
●● Free account for Students20 | Azure for students FAQ21
18 https://azure.microsoft.com/free/?azure-portal=true
19 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
20 https://azure.microsoft.com/free/students/?azure-portal=true
21 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
92
22 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
93
Learning objectives
After completing this module, you'll be able to:
●● Create a managed VM image for an Azure Virtual Desktop-specific configuration.
●● Modify a session host image.
●● Plan for image update and management.
●● Create and use a Shared Image Gallery (SIG) for Azure Virtual Desktop.
●● Install language packs in Azure Virtual Desktop.
Prerequisites
●● Conceptual knowledge of Azure compute solutions.
●● Working experience with virtual machines, containers, and app service.
23 https://docs.microsoft.com/azure/virtual-machines/windows/create-vm-generalized-managed
94
1. Go to the Azure portal24 to find a managed image. Search for and select Images.
24 https://portal.azure.com
95
2. Select the image you want to use from the list. The image Overview page opens.
3. Select Create virtual machine from the menu.
4. Enter the virtual machine information. The user name and password entered here will be used to log
in to the virtual machine. When complete, select OK. You can create the new virtual machine in an
existing resource group, or choose Create new to create a new resource group to store the virtual
machine.
5. Select a size for the virtual machine. To see more sizes, select View all or change the Supported disk
type filter.
6. Under Settings, make changes as necessary and select OK.
7. On the summary page, you should see your image name listed as a Private image. Select Ok to start
the virtual machine deployment.
Fixed disk
If you create a virtual machine from an existing virtual hard disk (VHD), it creates a dynamic disk by
default. It can be changed to a fixed disk by selecting Edit Disk.
You can also run the following PowerShell cmdlet to change the disk to a fixed disk.
Convert-VHD –Path c:\test\MY-VM.vhdx –DestinationPath c:\test\MY-NEW-VM.vhd
-VHDType Fixed
You can also change the setting with the registry by running the following command:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\StorageSense\
Parameters\StoragePolicy" /v 01 /t REG_DWORD /d 0 /f
Shared Image Gallery is a service that helps you build structure and organization around images. Shared
Image Galleries provide:
●● Global replication of images.
●● Versioning and grouping of images for easier management.
●● Highly available images with Zone Redundant Storage (ZRS) accounts in regions that support Availa-
bility Zones. ZRS offers better resilience against zonal failures.
●● Premium storage support (Premium_LRS).
●● Sharing across subscriptions, and even between Active Directory (AD) tenants, using role-based access
control (RBAC).
●● Scaling your deployments with image replicas in each region.
Using a Shared Image Gallery you can share your images to different users, service principals, or AD
groups within your organization. Shared images can be replicated to multiple regions, for quicker scaling
of your deployments.
Use a Shared Image Gallery as a repository for images you wan to make available within your company.
Resource Description
Image source A resource that can be used to create an image
version in an image gallery. An image source can
be an existing Azure VM that is:
●● Generalized or specialized.
●● Managed image.
●● Snapshot, a VHD.
●● An image version in another image
gallery.
Image gallery Like the Azure Marketplace, an image gallery is a
repository for managing and sharing images, but
you control who has access.
100
Image definitions
Image definitions are a logical grouping for versions of an image. The image definition holds information
about why the image was created. An image definition is like a plan for all of the details around creating
a specific image. You don't deploy a VM from an image definition, but from the image versions created
from the definition.
There are three parameters for each image definition that are used in combination - Publisher, Offer, and
SKU to find a specific image definition. You can have image versions that share one or two, but not all
three values. For example, here are three image definitions and their values:
Regional Support
All public regions can be target regions, but certain regions require that customers go through a request
process in order to gain access. To request that a subscription is added to the list for a region such as
Australia Central or Australia Central 2, submit an access request.
Limits
There are limits, per subscription, for deploying resources using Shared Image Galleries:
●● 100 shared image galleries, per subscription, per region.
●● 1,000 image definitions, per subscription, per region.
●● 10,000 image versions, per subscription, per region.
●● 10 image version replicas, per subscription, per region.
●● Any disk attached to the image must be less than or equal to 1TB in size.
101
Scaling
Shared Image Gallery allows you to specify the number of replicas you want Azure to keep. This helps in
multi-VM deployment scenarios as the VM deployments can be spread to different replicas reducing the
chance of instance creation processing being throttled due to overloading of a single replica.
With Shared Image Gallery, you can now deploy up to a 1,000 VM instances in a virtual machine scale set
(up from 600 with managed images). Image replicas provide for better deployment performance, reliabili-
ty, and consistency. You can set a different replica count in each target region, based on the scale needs
for the region. Since each replica is a deep copy of your image, this helps scale your deployments linearly
with each extra replica. While we understand no two images or regions are the same, here’s our general
guideline on how to use replicas in a region:
●● For non-Virtual Machine Scale Set deployments - For every 20 VMs that you create concurrently, we
recommend you keep one replica. For example, if you are creating 120 VMs concurrently using the
same image in a region, we suggest you keep at least 6 replicas of your image.
●● For Virtual Machine Scale Set deployments - For every scale set deployment with up to 600 instances,
we recommend you keep at least one replica. For example, if you are creating 5 scale sets concurrent-
ly, each with 600 VM instances using the same image in a single region, we suggest you keep at least
5 replicas of your image.
We always recommend you to overprovision the number of replicas due to factors like image size,
content, and OS type.
Replication
Shared Image Gallery also allows you to replicate your images to other Azure regions automatically. Each
Shared Image version can be replicated to different regions depending on what makes sense for your
organization. One example is to always replicate the latest image in multi-regions while all older versions
are only available in one region to save on storage costs for Shared Image versions.
The regions a Shared Image version is replicated to can be updated after creation time. The time it takes
to replicate to different regions depends on the amount of data being copied and the number of regions
the version is replicated to. While the replication is happening, you can view the status of replication per
region. Once the image replication is complete in a region, you can then deploy a VM or scale-set using
that image version in the region.
103
Access
The Shared Image Gallery, Image Definition, and Image version are resources that are shared using the
built-in native Azure role-based access control (RBAC) controls. Using Azure role-based access control
(RBAC) you can share these resources to other users, service principals, and groups. You can even share
access to individuals outside of the tenant they were created within. Once a user has access to the Shared
Image version, they can deploy a VM or a Virtual Machine Scale Set. Below is the sharing matrix that
helps understand what the user gets access to:
Shared with User Shared Image Gallery Image Definition Image version
Shared Image Gallery Yes Yes Yes
Image Definition No Yes Yes
4. Under assign access to, leave the default of Azure AD user, group, or service principal.
5. Under Select, type in the email address of the person that you would like to invite.
6. If the user is outside of your organization, you will see the message. This user will be sent an email
that enables them to collaborate with Microsoft. Select the user with the email address and then
select Save.
If the user is outside of your organization, they will receive an email invitation to join the organization.
The user needs to accept the invitation to be able to see the gallery and all of the image definitions and
versions in their list of resources.
After a user changes their language settings, they'll need to sign out of their Azure Virtual Desktop
session and sign in again for the changes to take effect.
108
Knowledge check
Multiple choice
What should you use to enable image sharing?
Azure VM Image Builder
Azure Marketplace
Shared Image Gallery (SIG)
Multiple choice
What is the most efficient and cost-effective way to manage the language needs of your users for a Win-
dows 10 Enterprise multi-session image?
Build dedicated host pools with a customized image for each language
Proved access to the Shared Image Galleries images
Customize the images to ensure they can select whichever language they need
Summary
In this module, you learned how to:
●● Create a managed VM image for an Azure Virtual Desktop-specific configuration.
●● Modify a session host image.
●● Plan for image update and management.
●● Create and use a Shared Image Gallery (SIG) for Azure Virtual Desktop.
●● Install language packs in Azure Virtual Desktop.
Learn more
●● Azure free account25 | Azure free account FAQ26
●● Free account for Students27 | Azure for students FAQ28
●● Create an Azure account29 module on Learn.
25 https://azure.microsoft.com/free/?azure-portal=true
26 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
27 https://azure.microsoft.com/free/students/?azure-portal=true
28 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
29 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
109
Labs
Create and configure host pools and session
hosts (Azure AD DS)
Important: To download the most recent version of this lab, please visit the AZ-140 GitHub repository30.
Direct link to the Lab - Create and configure host pools and session hosts (Azure AD DS).31.
Objectives
After completing this lab, you will be able to:
●● Configure an Azure Azure Virtual Desktop environment in an Azure AD DS domain.
●● Validate Azure Azure Virtual Desktop environment in an Azure AD DS domain.
Lab prerequisites
●● An Azure subscription
●● A Microsoft account or an Azure AD account with the Global Administrator role in the Azure AD
tenant associated with the Azure subscription and with the Owner or Contributor role in the Azure
subscription
●● The completed lab Prepare for deployment of Azure Azure Virtual Desktop (Azure AD DS)
Estimated time: 60 minutes
Lab files
None
30 https://aka.ms/AZ-140_Labs
31 https://aka.ms/AZ-140_02_Lab_01
110
Objectives
After completing this lab, you will be able to:
●● Implement an Azure Azure Virtual Desktop environment in an AD DS domain
●● Validate Azure Azure Virtual Desktop environment in an AD DS domain
Lab prerequisites
●● An Azure subscription you will be using in this lab.
●● A Microsoft account or an Azure AD account with the Owner or Contributor role in the Azure sub-
scription you will be using in this lab and with the Global Administrator role in the Azure AD tenant
associated with that Azure subscription.
●● The completed lab Prepare for deployment of Azure Azure Virtual Desktop (AD DS)
Estimated time: 60 minutes
Lab files
None
32 https://aka.ms/AZ-140_Labs
33 https://aka.ms/AZ-140_02_Lab_02
111
Objectives
After completing this lab, you will be able to:
●● Configure Azure Files to store profile containers for Azure Virtual Desktop in Azure AD DS environ-
ment
Lab prerequisites
●● An Azure subscription
●● A Microsoft account or an Azure AD account with the Global Administrator role in the Azure AD
tenant associated with the Azure subscription and with the Owner or Contributor role in the Azure
subscription
●● The completed lab Prepare for deployment of Azure Azure Virtual Desktop (Azure AD DS)
Estimated time: 30 minutes
Lab files
●● None
34 https://aka.ms/AZ-140_Labs
35 https://aka.ms/AZ-140_02_Lab_03
112
Objectives
After completing this lab, you will be able to:
●● Configure Azure Files to store profile containers for Azure Virtual Desktop
Lab prerequisites
●● An Azure subscription you will be using in this lab.
●● A Microsoft account or an Azure AD account with the Owner or Contributor role in the Azure sub-
scription you will be using in this lab and with the Global Administrator role in the Azure AD tenant
associated with that Azure subscription.
●● The completed lab Prepare for deployment of Azure Azure Virtual Desktop (AD DS)
Estimated time: 30 minutes
Lab files
●● None
36 https://aka.ms/AZ-140_Labs
37 https://aka.ms/AZ-140_02_Lab_04
113
Objectives
After completing this lab, you will be able to:
●● Deploy Azure Azure Virtual Desktop host pools and hosts by using Azure Resource Manager tem-
plates
Lab prerequisites
●● An Azure subscription you will be using in this lab.
●● A Microsoft account or an Azure AD account with the Owner or Contributor role in the Azure sub-
scription you will be using in this lab and with the Global Administrator role in the Azure AD tenant
associated with that Azure subscription.
●● The completed lab Prepare for deployment of Azure Azure Virtual Desktop (AD DS) or Prepare
for deployment of Azure Azure Virtual Desktop (Azure AD DS)
●● The completed lab Deploy host pools and session hosts by using the Azure portal (AD DS) or
Deploy host pools and session hosts by using the Azure portal (Azure AD DS)
Estimated time: 45 minutes
Lab files
●● \\AZ-140\AllFiles\Labs\02\az140-23_azuredeployhp23.parameters.json
●● \\AZ-140\AllFiles\Labs\02\az140-23_azuremodifyhp23.parameters.json
38 https://aka.ms/AZ-140_Labs
39 https://aka.ms/AZ-140_02_Lab_05
114
Objectives
After completing this lab, you will be able to:
●● Deploy Azure Azure Virtual Desktop host pools and hosts by using PowerShell
●● Add hosts to the Azure Virtual Desktop host pool by using PowerShell
Lab prerequisites
●● An Azure subscription you will be using in this lab.
●● A Microsoft account or an Azure AD account with the Owner or Contributor role in the Azure sub-
scription you will be using in this lab and with the Global Administrator role in the Azure AD tenant
associated with that Azure subscription.
●● The completed lab Prepare for deployment of Azure Azure Virtual Desktop (AD DS) or Prepare
for deployment of Azure Azure Virtual Desktop (Azure AD DS)
Estimated time: 60 minutes
Lab files
●● \\AZ-140\AllFiles\Labs\02\az140-24_azuredeployhp3.json
●● \\AZ-140\AllFiles\Labs\02\az140-24_azuredeployhp3.parameters.json
40 https://aka.ms/AZ-140_Labs
41 https://aka.ms/AZ-140_02_Lab_06
115
Objectives
After completing this lab, you will be able to:
●● Deploy Azure Azure Virtual Desktop host pools and session hosts by using PowerShell
●● Add session hosts to the Azure Virtual Desktop host pool by using PowerShell
Lab prerequisites
●● An Azure subscription you will be using in this lab.
●● A Microsoft account or an Azure AD account with the Owner or Contributor role in the Azure sub-
scription you will be using in this lab and with the Global Administrator role in the Azure AD tenant
associated with that Azure subscription.
●● The completed lab Prepare for deployment of Azure Azure Virtual Desktop (AD DS) or Prepare
for deployment of Azure Azure Virtual Desktop (Azure AD DS)
Estimated time: 60 minutes
42 https://aka.ms/AZ-140_Labs
43 https://aka.ms/AZ-140_02_Lab_07
116
Lab files
●● \\AZ-140\AllFiles\Labs\02\az140-25_azuredeployvm25.json
●● \\AZ-140\AllFiles\Labs\02\az140-25_azuredeployvm25.parameters.json
Review questions
Module review questions
Multiple choice
You manage an AAD tenant named westwind.com with an virtual network named AVD-Vnet-A. You deploy
an AAD DS to a domain named westwindA.com to AVD-Vnet-A. You want to deploy an AVD host pool
named AVDHostPool. You want to make sure that you can deploy Win 10 Ent host pools to AVDHostPool.
What do you do first?
A. Configure a private endpoint
B. Add an additional network adapter
C. Modify the DNS settings on your virtual network (AVD-Vnet-A)
D. Implement a RD Session Host
Multiple choice
You are planning on deploying multiple AVD session hosts with private IP addresses. You want to make sure
that your admins can initiate an RDP session to all of the session hosts from the Azure admin portal. What
should you implement?
A. An RDP or SSH client on all Win 10 computers
Azure Bastion
A path-based redirection on the Application Gateway
A subnet level NSG on the AzureFirewallSubnet
Multiple choice
You are planning an AVD deployment that will use FSLogix profile containers. The following is being
planned for the Azure Storage account with will be hosting the FSLogix profile containers. Account type:
StorageV2 (GP v2) Performance: Premium Name: AVDStorage2 What is needed to make sure the storage
account supports the AVD deployment?
A. Set block size to 4 MB
B. Create a capacity pool
C. Set Authentication type to Account key
Set the Account kind to FileStorage
118
Multiple choice
You manage a network that has an on-premises domain that has a universal security group named Securi-
tyUsers. SecurityUsers syncs with AAD, where there is a hybrid AAD tenant. You manage an AVD host pool
that has three Win 10 Enterprise multi-session hosts. You want to make sure that only members of Security-
Users can establish AVD sessions to the host pool. What needs to be done to meet your goal?
A. Create a new role assignment for the host pool
B. Modify the RDP properties on the host pool
C. Configure role assignment for each of the three VMs
D. Assign SecurityUsers to an application group
Multiple choice
You manage an AAD tenant named WestwindEast.com You use an account named Administrator-East to
deploy an Azure AD DS managed domain named A-AD-DS-WestwindEast.com to a virtual network called
VNET-East. You want to deploy the AVD host pool named East-Pool-1 to VNET-East. You want to make sure
that you can use the Administrator-East account to deploy Win 10 Enterprise session hosts to East-Pool-1.
What is the first thing you should do?
A. Change the password for the Administrator-East account
B. Configure a role assignment for the East-Pool-1 host pool
C. Configure a role assignment for each VM in the host pool
D. Configure a policy preference in a GPO
119
Answers
Multiple choice
What should you use to secure connectivity and prevent exposing RDP/SSH ports to the outside world
for all virtual machines in a virtual network?
■■ Azure Bastion
Azure Load Balancer
Network security groups (NSGs)
Explanation
That's correct. Azure Bastion provides secure connectivity to all virtual machines (VMs) in a virtual network.
Azure Bastion protects your virtual machines from exposing RDP/SSH ports to the outside world while still
providing secure access using RDP/SSH.
Multiple choice
What does Azure Virtual Desktop use for establishing remote sessions and carrying remote destop
protocol (RDP) traffic?
■■ Reverse connect transport
Remote Desktop Protocol (RDP)
Session host communication channel
Explanation
That's correct. Azure Virtual Desktop uses reverse connect transport to establish remote sessions and carry
RDP traffic.
Multiple choice
What should you choose for a Azure Virtual Desktop user profile solution?
Azure Disk Storage
■■ FSLogix
Azure Data Lake Storage
Explanation
That's correct. FSLogix is designed to roam profiles in remote computing environments, such as Azure
Virtual Desktop. It stores a complete user profile in a single container.
Multiple choice
Which storage solution allows you to deploy Azure file shares on premium/solid-state disk-based
(SSD-based) hardware?
■■ FileStorage storage account
General purpose version 2 (GPv2) storage account
Premium block blobs
Explanation
That's correct. FileStorage storage accounts allow you to deploy Azure file shares on premium/solid-state
disk-based (SSD-based) hardware. FileStorage accounts can only be used to store Azure file shares; no other
storage resources (blob containers, queues, tables, etc.) can be deployed in a FileStorage account.
120
Multiple choice
What should you configure to automatically assign users to virtual machines and personal desktop host
pools?
■■ Configure automatic assignment
Configure direct assignment
Azure Role-based access control (RBAC)
Explanation
That's correct. Automatic assignment is the default assignment type for new personal desktop host pools
created in your Azure Virtual Desktop environment. To automatically assign users, first assign them to the
personal desktop host pool so that they can see the desktop in their feed. When an assigned user launches
the desktop in their feed, they will claim an available session host if they have not already connected to the
host pool, which completes the assignment process.
Multiple choice
What should you use to register virtual machines to the Azure Virtual Desktop host pool?
■■ Azure Virtual Desktop Agent
Create a VM from a managed image
Shared Image Galleries image
Explanation
That's correct. Download and install the Azure Virtual Desktop Agent to register the virtual machines to the
Azure Virtual Desktop host pool.
Multiple choice
What should you use to enable image sharing?
Azure VM Image Builder
Azure Marketplace
■■ Shared Image Gallery (SIG)
Explanation
That's correct. Using a Shared Image Gallery you can share your images to different users, service principals,
or AD groups within and outside your organization. Shared images can be replicated to multiple regions, for
quicker scaling of your deployments.
Multiple choice
What is the most efficient and cost-effective way to manage the language needs of your users for a
Windows 10 Enterprise multi-session image?
Build dedicated host pools with a customized image for each language
Proved access to the Shared Image Galleries images
■■ Customize the images to ensure they can select whichever language they need
Explanation
That's correct. Have users with different language and localization requirements in the same host pool, so
customize their images to ensure they can select whichever language they need.
121
Multiple choice
You manage an AAD tenant named westwind.com with an virtual network named AVD-Vnet-A. You
deploy an AAD DS to a domain named westwindA.com to AVD-Vnet-A. You want to deploy an AVD host
pool named AVDHostPool. You want to make sure that you can deploy Win 10 Ent host pools to AVD-
HostPool. What do you do first?
A. Configure a private endpoint
B. Add an additional network adapter
■■ C. Modify the DNS settings on your virtual network (AVD-Vnet-A)
D. Implement a RD Session Host
Explanation
The answer is C, Modify the DNS settings on your virtual network (AVD-Vnet-A). As seen in topic Create a
host pool by using the Azure portal, a possible solution to deploy host pools with appropriate DNS settings
to have the right credentials, or that the DNS configuration is set to the defaults.
Multiple choice
You are planning on deploying multiple AVD session hosts with private IP addresses. You want to make
sure that your admins can initiate an RDP session to all of the session hosts from the Azure admin portal.
What should you implement?
A. An RDP or SSH client on all Win 10 computers
■■ Azure Bastion
A path-based redirection on the Application Gateway
A subnet level NSG on the AzureFirewallSubnet
Explanation
The answer is B, Azure Bastion. As seen in topic Configure AVD session hosts using Azure Bastion, Azure
Bastion is a service you deploy that lets you connect to a virtual machine using your browser and the Azure
portal. The Azure Bastion service is a fully platform-managed PaaS service that you provision inside your
virtual network.
Multiple choice
You are planning an AVD deployment that will use FSLogix profile containers. The following is being
planned for the Azure Storage account with will be hosting the FSLogix profile containers. Account type:
StorageV2 (GP v2) Performance: Premium Name: AVDStorage2 What is needed to make sure the storage
account supports the AVD deployment?
A. Set block size to 4 MB
B. Create a capacity pool
C. Set Authentication type to Account key
■■ Set the Account kind to FileStorage
Explanation
The answer is D, Set the Account kind to FileStorage. As seen in topic Set the Account kind to FileStorage
when creating a FileStorage storage account, ensure the Performance radio button is set to Premium and
the Account kind drop-down list is selected to FileStorage.
122
Multiple choice
You manage a network that has an on-premises domain that has a universal security group named
SecurityUsers. SecurityUsers syncs with AAD, where there is a hybrid AAD tenant. You manage an AVD
host pool that has three Win 10 Enterprise multi-session hosts. You want to make sure that only members
of SecurityUsers can establish AVD sessions to the host pool. What needs to be done to meet your goal?
A. Create a new role assignment for the host pool
B. Modify the RDP properties on the host pool
C. Configure role assignment for each of the three VMs
■■ D. Assign SecurityUsers to an application group
Explanation
The answer is D, Assign SecurityUsers to an application group. As seen in the topic *Deploy and manage
host pools and hosts by using PowerShell*, users obtain access to host pools by being allocated to a host
pool using an assigned Application Group.
Multiple choice
You manage an AAD tenant named WestwindEast.com You use an account named Administrator-East to
deploy an Azure AD DS managed domain named A-AD-DS-WestwindEast.com to a virtual network called
VNET-East. You want to deploy the AVD host pool named East-Pool-1 to VNET-East. You want to make
sure that you can use the Administrator-East account to deploy Win 10 Enterprise session hosts to
East-Pool-1. What is the first thing you should do?
■■ A. Change the password for the Administrator-East account
B. Configure a role assignment for the East-Pool-1 host pool
C. Configure a role assignment for each VM in the host pool
D. Configure a policy preference in a GPO
Explanation
The answer is A, Change the password for the Administrator-East account. As seen in the topic Create a
host pool by using the Azure portal, the Administrator account can't have multi-factored authentication
(MFA) enabled. And, when joining to an Azure Active Directory Domain Services (Azure AD DS) domain, the
account must be part of the Azure AD DC Administrators group and the account password must work in
Azure AD DS.
Module 3 Manage access and security
Manage access
Introduction
Azure Virtual Desktop uses Azure role-based access controls (RBAC) to assign roles to users and admins.
Apart from standard built-in roles for Azure, Azure Virtual Desktop has additional roles that let you
separate management roles for host pools, app groups, and workspaces.
This module aligns with the exam AZ-140: Configuring and Operating Microsoft Azure Virtual Desktop.
Learning objectives
After completing this module, you'll be able to:
●● Describe Azure role-based access controls for Azure Virtual Desktop.
●● Plan and implement Azure roles and role-based access control for Azure Virtual Desktop.
●● Describe how to configure Azure Virtual Desktop with Intune.
Prerequisites
●● Conceptual knowledge of governance policies, resource organization, and subscription management.
●● Working experience with organizing resources, applying governance policies, and enforcing compli-
ance requirements.
●● Reader
However, Azure Virtual Desktop has additional roles that let you separate management roles for host
pools, app groups, and workspaces.
These roles are named in compliance with Azure's standard roles and least-privilege methodology.
Azure Virtual Desktop doesn't have a specific Owner role. However, you can use a standard Owner role
for the service objects.
Below are the Azure Virtual Desktop roles:
●● Desktop Virtualization Contributor role: Lets you manage all aspects of the deployment. However,
it doesn't grant you access to compute resources. You'll also need the User Access Administrator role
to publish app groups to users or user groups.
●● Desktop Virtualization Reader role: Lets you view everything in the deployment but doesn't let you
make any changes.
●● The Host Pool Contributor role: Allows you to manage all aspects of host pools, including access to
resources. You'll need an extra contributor role, Virtual Machine Contributor, to create virtual ma-
chines. You will need AppGroup and Workspace contributor roles to create host pool using the portal
or you can use Desktop Virtualization Contributor role.
●● Host Pool Reader role: Allows you to view everything in the host pool, but won't allow you to make
any changes.
●● Application Group Contributor role: Lets you manage all aspects of app groups. If you want to
publish app groups to users or user groups, you'll need the User Access Administrator role.
●● Application Group Reader role: Allows you to view everything in the app group and will not allow
you to make any changes.
●● Workspace Contributor role: Allows you to manage all aspects of workspaces. To get information on
applications added to the app groups, you'll also need to be assigned the Application Group Reader
role.
●● Workspace Reader role: Lets you view everything in the workspace, but won't allow you to make any
changes.
●● User Session Operator role: Allows you to send messages, disconnect sessions, and use the “logoff”
function to sign sessions out of the session host. However, this role doesn't let you perform session
host management like removing session host, changing drain mode, and so on. This role can see
assignments but can't modify admins. We recommend you assign this role to specific host pools. If
you give this permission at a resource group level, the admin will have read permission on all host
pools under a resource group.
●● Session Host Contributor role: Allows you to view and remove session hosts, and change drain
mode. They can't add session hosts using the Azure portal because they don't have write permission
for host pool objects. If the registration token is valid (generated and not expired), you can use this
role to add session hosts to the host pool outside of Azure portal if the admin has compute permis-
sions through the Virtual Machine Contributor role.
A role assignment has three components: security principal, role definition, and scope.
The Azure Virtual Desktop delegated access model is based on the Azure role-based access control
(RBAC) model.
Azure Virtual Desktop delegated access supports the following values for each element of the role
assignment:
Security principal
●● Users
●● User groups
●● Service principals
Role definition
●● Built-in roles
●● Custom roles
Scope
●● Host pools
●● App groups
●● Workspaces
Run the following cmdlet to add Azure Active Directory user group to an app group:
New-AzRoleAssignment -ObjectId -RoleDefinitionName
Limitations
There are some limitations to keep in mind when managing Windows 10 Enterprise remote desktops:
Configuration
All VM limitations listed in Using Windows 10 virtual machines1 also apply to Azure Virtual Desktop
VMs.
Also, the following profiles aren't currently supported:
●● Domain Join
●● Wi-Fi
Remote actions
The following Windows 10 desktop device remote actions aren't supported/recommended for Azure
Virtual Desktop VMs:
●● Autopilot reset
●● BitLocker key rotation
●● Fresh Start
●● Remote lock
●● Reset password
●● Wipe
Retirement
Deleting VMs from Azure leaves orphaned device records in Intune. They'll be automatically cleaned up
according to the cleanup rules configured for the tenant.
1 https://docs.microsoft.com/mem/intune/fundamentals/windows-10-virtual-machines
127
Knowledge check
Multiple choice
You have an Azure Virtual Desktop session host with virtual machines (VMs). You want to allow a group of
users access to the VMs. What should you do?
Assign a role
Assign the the Desktop Virtualization Reader role to the group.
Create a Conditional Access policy
Multiple choice
You want to assign a role allowing a user to manage all aspects of Azure Virtual Desktop host pools,
including access to resources. What role should you assign?
Application Group Reader
Host Pool Contributor
Workspace Contributor
Summary
In this module, you learned how to:
●● Describe Azure role-based access controls (RBAC) for Azure Virtual Desktop.
●● Plan and implement Azure roles and role-based access control (RBAC) for Azure Virtual Desktop.
●● Describe how to configure Azure Virtual Desktop with Intune.
Learn more
●● Azure free account2 | Azure free account FAQ3
●● Free account for Students4 | Azure for students FAQ5
●● Create an Azure account6 module on Learn.
2 https://azure.microsoft.com/free/?azure-portal=true
3 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
4 https://azure.microsoft.com/free/students/?azure-portal=true
5 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
6 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
128
Manage security
Introduction
The Windows client for Azure Virtual Desktop integrates Azure Virtual Desktop with your local machine.
However, when you configure your Azure Virtual Desktop account into the Windows client, there are
certain actions you'll need to take to keep your users safe.
This module aligns with the exam AZ-140: Configuring and Operating Microsoft Azure Virtual Desktop.
Learning objectives
After completing this module, you'll be able to:
●● Plan and implement Conditional Access policies for connections to Azure Virtual Desktop.
●● Plan and implement multifactor authentication (MFA) in Azure Virtual Desktop.
●● Understand Conditional Access policy components.
●● Manage security by using Microsoft Defender for Cloud.
●● Understand Microsoft Defender for Cloud antivirus for session hosts.
Prerequisites
●● Working experience creating, assigning, and securing corporate identities.
●● Conceptual knowledge of identity assignment solutions, role-based access control, and identity
protection methods.
Microsoft provides standard conditional policies called security defaults that ensure a basic level of
security. However, your organization may need more flexibility than security defaults offer. You can use
Conditional Access to customize security defaults with more granularity and to configure new policies
that meet your requirements.
Benefits
The benefits of deploying Conditional Access are:
●● Increase productivity. Only interrupt users with a sign-in condition like MFA when one or more
signals warrants it. Conditional Access policies allow you to control when users are prompted for MFA,
when access is blocked, and when they must use a trusted device.
●● Manage risk. Automating risk assessment with policy conditions means risky sign-ins are at once
identified and remediated or blocked. Coupling Conditional Access with Identity Protection, which
detects anomalies and suspicious events, allows you to target when access to resources is blocked or
gated.
●● Address compliance and governance. Conditional Access enables you to audit access to applica-
tions, present terms of use for consent, and restrict access based on compliance policies.
●● Manage cost. Moving access policies to Azure AD reduces the reliance on custom or on-premises
solutions for Conditional Access, and their infrastructure costs.
Prerequisites
●● A working Azure AD tenant with Azure AD Premium or trial license enabled.
●● An account with Conditional Access administrator privileges.
●● A non-administrator user with a password you know, such as testuser.
●● A group that the non-administrator user is a member of.
130
While remembering credentials is convenient, it can also make deployments on Enterprise scenarios or
personal devices less secure. To protect your users, you can make sure the client keeps asking for multi-
factor authentication credentials more frequently.
This unit shows you how to configure the Conditional Access policy for Azure Virtual Desktop to enable
this setting.
132
When you use Azure Virtual Desktop, it’s important to understand that while some components come
already secured for your environment, you'll need to configure other areas yourself to fit your organiza-
tion’s security needs.
Listed below are the security needs you're responsible for in your Azure Virtual Desktop deployment:
Security alerts and recommendations can be consumed and managed from the Security Center portal or
exported to analysis tools for remediation.
Device Page
On the device page, Azure Virtual Desktop is seen under the device details section. Under OS, you’ll see
Windows 10 AVD x64 indicating an Azure Virtual Desktop machine.
The device page also shows the number of logged on users in the past 30 days on the overview tab.
Selecting the See all users link allows you to view the complete list of users. You’ll see many columns that
include: Logon Type, log on type 10, and RemoteInteractive.
138
Machine Timeline
The machine timeline is populated with information for all active user sessions on an Azure Virtual
Desktop machine. The timeline allows you to see all events happening on the machine and the ability to
investigate timeline events that are specific to a particular user session. In the example below, there are
events in the machine timeline for five users who are logged on concurrently to an Azure Virtual Desktop
machine:
To see all activity related to a specific user, search for the username.
139
Knowledge check
Multiple choice
You manage an on-premises network. You have a subscription that has a virtual network, Azure Virtual
Desktop host pool, and an Azure Firewall. The virtual network connects the on-premises network using
site-to-site VPN. You want to make sure that only users in the on-premises network connect to the Azure
Virtual Desktop in the host pool. What should you do?
Run New-AzRoleAssignment cmdlet
Run mstsc.exe
Conditional Access policy assignments
Multiple choice
You want to enable security posture management for Azure Virtual Desktop virtual machines (VMs) that
includes a secure configuration assessment and Secure Score. What should you do?
Utilize Azure Security Center
Configure automatic assignment
Enable network security groups (NSGs)
Summary
In this module, you learned how to:
●● Plan and implement Conditional Access policies for connections to Azure Virtual Desktop.
●● Plan and implement multifactor authentication (MFA) in Azure Virtual Desktop.
●● Understand Conditional Access policy components.
●● Manage security by using Microsoft Defender for Cloud.
●● Understand Microsoft Defender Antivirus for session hosts.
Learn more
●● Azure free account7 | Azure free account FAQ8
●● Free account for Students9 | Azure for students FAQ10
●● Create an Azure account11 module on Learn.
7 https://azure.microsoft.com/free/?azure-portal=true
8 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
9 https://azure.microsoft.com/free/students/?azure-portal=true
10 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
11 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
141
Lab
Configure Conditional Access policies for con-
nections to AVD (AD DS)
Important: To download the most recent version of this lab, please visit the AZ-140 GitHub repository12.
Direct link to the Lab - Configure Conditional Access policies for connections to AVD (AD DS).13.
Objectives
After completing this lab, you will be able to:
●● Prepare for Azure Active Directory (Azure AD)-based Conditional Access for Azure Virtual Desktop
●● Implement Azure AD-based Conditional Access for Azure Virtual Desktop
Lab prerequisites
●● An Azure subscription
●● A Microsoft account or an Azure AD account with the Global Administrator role in the Azure AD
tenant associated with the Azure subscription and with the Owner or Contributor role in the Azure
subscription
●● The completed lab Prepare for deployment of Azure Virtual Desktop (AD DS) or Prepare for
deployment of Azure Virtual Desktop (Azure AD DS)
●● The completed lab Deploy host pools and session hosts by using the Azure portal (AD DS) or
Deploy host pools and session hosts by using the Azure portal (Azure AD DS)
Estimated time: 60 minutes
Lab files
None
12 https://aka.ms/AZ-140_Labs
13 https://aka.ms/AZ-140_03_Lab_01
142
Review questions
Module review questions
Multiple choice
You have an AVD session host with VMs. You want to allow a group of users access to the VMs. What should
you do?
A. Modify the RDP Properties for the host pool
B. Create a role assignment
C. Configure conditional access policies in Azure AD
D. Configure an NSG
Multiple choice
You manage and on-premises network. You have a subscription that has: A virtual network an AVD host
pool An Azure Firewall The virtual network connects the on-premises network using site-to-site VPN. You
want to make sure that only users in the on-premises network connect to the AVD resources in the host
pool. What should you do?
A. Configure a conditional access policy
B. Run New-AzRoleAssignment cmdlet
C. Run mstsc.exe
D. Create and AppLocker policy
144
Answers
Multiple choice
You have an Azure Virtual Desktop session host with virtual machines (VMs). You want to allow a group of
users access to the VMs. What should you do?
■■ Assign a role
Assign the the Desktop Virtualization Reader role to the group.
Create a Conditional Access policy
Explanation
That's correct. Azure Virtual Desktop has a delegated access model that lets you define the amount of
access a user can have by assigning them a role. A role assignment has three components: security princi-
pal, role definition, and scope. The Azure Virtual Desktop delegated access model is based on the Azure
RBAC model.
Multiple choice
You want to assign a role allowing a user to manage all aspects of Azure Virtual Desktop host pools,
including access to resources. What role should you assign?
Application Group Reader
■■ Host Pool Contributor
Workspace Contributor
Explanation
That's correct. The Host Pool Contributor role lets you manage all aspects of host pools, including access to
resources.
Multiple choice
You manage an on-premises network. You have a subscription that has a virtual network, Azure Virtual
Desktop host pool, and an Azure Firewall. The virtual network connects the on-premises network using
site-to-site VPN. You want to make sure that only users in the on-premises network connect to the Azure
Virtual Desktop in the host pool. What should you do?
Run New-AzRoleAssignment cmdlet
Run mstsc.exe
■■ Conditional Access policy assignments
Explanation
That's correct. Conditional Access policy assignments define the conditions under which the policy will apply
that provides session controls that enable limited experiences.
145
Multiple choice
You want to enable security posture management for Azure Virtual Desktop virtual machines (VMs) that
includes a secure configuration assessment and Secure Score. What should you do?
■■ Utilize Azure Security Center
Configure automatic assignment
Enable network security groups (NSGs)
Explanation
That's correct. Azure Security Center provides security posture management and threat protection capabili-
ties for Azure Virtual Desktop virtual machines (VMs), including secure configuration assessment, Secure
Score, host level detections, and file integrity monitoring.
Multiple choice
You have an AVD session host with VMs. You want to allow a group of users access to the VMs. What
should you do?
A. Modify the RDP Properties for the host pool
■■ B. Create a role assignment
C. Configure conditional access policies in Azure AD
D. Configure an NSG
Explanation
The answer is B, Create a role assignment. As seen in Plan and implement Azure roles and RBAC for AVD,
Azure Virtual Desktop has a delegated access model that lets you define the amount of access a particular
user can have by assigning them a role. A role assignment has three components: security principal, role
definition, and scope. The Azure Virtual Desktop delegated access model is based on the Azure RBAC
model. Azure Virtual Desktop delegated access supports user group access.
Multiple choice
You manage and on-premises network. You have a subscription that has: A virtual network an AVD host
pool An Azure Firewall The virtual network connects the on-premises network using site-to-site VPN. You
want to make sure that only users in the on-premises network connect to the AVD resources in the host
pool. What should you do?
■■ A. Configure a conditional access policy
B. Run New-AzRoleAssignment cmdlet
C. Run mstsc.exe
D. Create and AppLocker policy
Explanation
The answer is A, Configure a conditional access policy. As seen in topic Understand Conditional Access
policy components, Conditional Access policy assignments define the conditions under which the policy will
apply that provides session controls that enable limited experiences.
Module 4 Manage user environments and
apps
Learning objectives
After completing this module, you'll be able to:
●● Plan for FSLogix.
●● Recommend best practices for FSLogix profile containers and Azure files.
●● Install FXLogix.
●● Recommend storage options for FSLogix profile containers.
●● Configure Cloud Cache.
●● Configure Profile Containers.
●● Manage Rule Sets.
Prerequisites
●● Conceptual knowledge of storage accounts, blobs, files, disks, and data protection.
●● Working experience with creating and securing storage systems.
148
User profiles
A user profile contains data elements about an individual, including configuration information like
desktop settings, persistent network connections, and application settings. By default, Windows creates a
local user profile that is tightly integrated with the operating system.
A remote user profile provides a partition between user data and the operating system. It allows the
operating system to be replaced or changed without affecting the user data. In Remote Desktop Session
Host (RDSH) and Virtual Desktop Infrastructures (VDI), the operating system may be replaced for the
following reasons:
●● An upgrade of the operating system
●● A replacement of an existing Virtual Machine (VM)
●● A user being part of a pooled (non-persistent) RDSH or VDI environment
Install FSLogix
The FSLogix software no longer requires license keys. It is recommended that the latest version of FSLogix
is downloaded and installed.
1 https://docs.microsoft.com/fslogix/fslogix-storage-config-ht
150
Download FSLogix
FSLogix is available for download here.2
2 https://aka.ms/fslogix_download
151
3 https://docs.microsoft.com/fslogix/implement-application-masking-tutorial
152
Required infrastructure Minimum share size 1 Minimum capacity pool Two VMs on Azure IaaS
GiB 4 TiB, min volume size (+ Cloud Witness) or at
100 GiB least three VMs without
and costs for disks
Protocols SMB 2.1/3 and REST NFSv3, NFSv4.1 (pre- NFSv3, NFSv4.1, SMB
view), SMB 3.x/2.x 3.1
4 https://docs.microsoft.com/fslogix/install-ht
156
Adding a user to the FSLogix Profile Exclude List group means that the FSLogix agent will not attach a
FSLogix profile container for the user. In the case where a user is a member of both the exclude and
include groups, exclude takes priority.
Profile Containers is now configured and ready to be used. In order to verify that Profile Container is
working, sign in as a user in the Included List group. Using File Manager, navigate to the location speci-
fied in VHDLocations. Verify that a folder, with the user name and SID has been created.
159
Rule Types
FSlogix supports four rule types:
Hiding Rule - hides the specified items using specified criteria.
5 https://docs.microsoft.com/fslogix/install-ht
160
Delete a rule
1. Select an existing Rule Set from the left panel.
2. Select one or more Rules from the right panel.
3. Select Edit then Delete Rule.
Edit a rule
1. Select an existing Rule Set from the left panel.
2. Select an existing Rule from the right panel.
3. Select Edit then Edit Rule.
Redirecting to a network
Files and directories can be redirected to resources located on a network. The user must have appropriate
rights to the network resource. To redirect to a network location, enter the path (in UNC format) into the
Destination field.
6 https://docs.microsoft.com/fslogix/application-masking-rules-ht
163
To deploy a rule set, use any method to copy rule files (.fxr) and assignment files (.fxa) to the rules
directory.
Knowledge check
Multiple choice
You manage an Azure Virtual Desktop host pool with twenty Windows 10 Enterprise multi-session hosts.
Your users connect to the Azure Virtual Desktop deployment from Windows 10 computers. You plan on
using FSLogix Application Masking to deploy Application Masking rule sets. Where should you copy the rule
sets?
FSLogix Office Container
Azure Storage account
C:\Program Files\FSLogix\Apps\Rules on every session host
Multiple choice
Which container solution should you use in non-persistent, virtual environments, such as Azure Virtual
Desktop?
Office Container
Profile Container
Kubernetes
Summary
In this module, you learned how to:
●● Plan for FSLogix.
●● Recommend best practices for FSLogix profile containers and Azure files.
●● Install FXLogix.
●● Recommend storage options for FSLogix profile containers.
●● Configure Cloud Cache.
●● Configure Profile Containers.
●● Manage Rule Sets.
Learn more
●● Azure free account7 | Azure free account FAQ8
●● Free account for Students9 | Azure for students FAQ10
●● Create an Azure account11 module on Learn.
7 https://azure.microsoft.com/free/?azure-portal=true
8 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
9 https://azure.microsoft.com/free/students/?azure-portal=true
10 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
11 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
164
Learning objectives
After completing this module, you'll be able to:
●● Configure user settings through group policies for Azure Virtual Desktop.
●● Configure user settings through Endpoint Manager policies for Azure Virtual Desktop.
●● Configure session timeout properties for Azure Virtual Desktop.
●● Configure device redirections for Azure Virtual Desktop.
●● Configure Universal Print.
●● Troubleshoot user profile issues.
Prerequisites
●● Working experience with data integration solutions.
●● Conceptual knowledge of data integration solutions.
Optimization principles
Some implementations of virtual desktop environments use a “base” operating system image, which
becomes the basis for the virtual desktop. There are persistent and non-persistent base images.
The smallest possible base, or “gold” image size, can reduce memory utilization on the host system and
reduce network operations for Azure Virtual Desktop.
The persistent base image preserves changes to the virtual desktop operating system from one session to
the next. The non-persistent base image does not preserve changes to the virtual desktop operating
system from one session to the next.
To the user this desktop is little different than other virtual or physical device, other than it is accessed
over a network.
The optimization settings can be reviewed on a reference machine. A virtual machine (VM) would be an
ideal place to build the VM, because state can be saved, checkpoints can be made, backups can be made,
and so on. A default OS installation is performed to the base VM. That base VM is then optimized by
165
removing unneeded apps, installing Windows updates, installing other updates, deleting temporary files,
applying settings, and so on.
Updates
Virtual desktop administrators control the process of updating through a process of shutting down VMs
based on a “master” or "gold" image, unseal that image, which is read-only, patch the image, then reseal
it and bring it back into production. Therefore, there is no need to have virtual desktop devices checking
Windows Update.
The optimization scripts can be found at https://github.com/The-Virtual-Desktop-Team/Virtu-
al-Desktop-Optimization-Tool.
the user makes to the machine are kept through monthly Quality Updates, and the base is reset
following a Feature Update.
Collapse Windows Settings, and then expand Administrative Templates. Click or expand Network, and
then adjust each setting as follows by double-clicking it, then selecting the radio button for the indicated
value and clicking the OK button:
3. In the right pane of the Local Group Policy Editor, double-click to configure:
●● Set time limit for disconnected sessions.
●● Set time limit for active but idle Remote Desktop Services sessions.
●● Set time limit for active Remote Desktop Services sessions.
●● End Session when time limits are reached.
For example the, Set time limit for logoff of RemoteApp sessions is seen in the graphic below.
171
4. Click Enabled.
5. Select the desired time for logoff delay, and click OK.
6. At a command prompt, type gpupdate and press ENTER to force the policy to refresh immediately.
Camera redirection
Set the following RDP property to configure camera redirection:
●● camerastoredirect:s:* redirects all cameras.
●● camerastoredirect:s: disables camera redirection.
Note: Even if the camerastoredirect:s: property is disabled, local cameras may be redirected
through the devicestoredirect:s: property. To fully disable camera redirection set camerastore-
direct:s: and either set devicestoredirect:s: or define some subset of plug and play devices
that does not include a camera.
You can also redirect specific cameras using a semicolon-delimited list of KSCATEGORY_VIDEO_CAMERA
interfaces, such as camerastoredirect:s:\?\usb#vid_0bda&pid_58b0&mi.
Clipboard redirection
Set the following RDP property to configure clipboard redirection:
●● redirectclipboard:i:1 enables clipboard redirection.
●● redirectclipboard:i:0 disables clipboard redirection.
USB redirection
First, set the following RDP property to enable USB device redirection:
●● usbdevicestoredirect:s:* enables USB device redirection.
●● usbdevicestoredirect:s: disables USB device redirection.
173
Second, set the following Group Policy on the user's local device:
●● Navigate to Computer Configuration > Policies> Administrative Templates > Windows Compo-
nents > Remote Desktop Services > Remote Desktop Connection Client > RemoteFX USB
Device Redirection.
●● Select Allows RDP redirection of other supported RemoteFX USB devices from this computer.
●● Select the Enabled option, and then select the Administrators and Users in RemoteFX USB Redi-
rection Access Rights box.
●● Select OK.
Printer redirection
Set the following RDP property to configure printer redirection:
●● redirectprinters:i:1 enables printer redirection.
●● redirectprinters:i:0 disables printer redirection.
Component Description
Universal Print Cloud print service
Azure Active Directory User and device identity and authorization service
Office Data Storage Service Print queue data storage service
Microsoft Endpoint Manager Client device printer provisioning policy service
Microsoft Graph Printer management API
Universal Print connector A component that handles communication
between printers and the Universal Print service.
Universal Print ready printer A printer that has built-in support for communi-
cating with Universal Print.
Printer (without native UP support) A printer that needs to be registered using the
Universal Print connector to communicate with
Universal Print.
175
Assign licenses
Once Universal Print is enabled for a tenant, a Universal Print license needs to be assigned to every user
who will be using it, including administrators who manage it.
●● A Universal Print license is assigned to the Microsoft 365 tenant by Global Administrator.
●● To configure and manage Universal Print, the corresponding administrator must have a Universal Print
license assigned.
●● To configure and manage Universal Print, an administrator must be assigned either of the following
two Azure Active Directory (Azure AD) roles: Printer Administrator or Global Adminis-
trator.
●● A client device (to install and print from Universal Print) running Windows client OS.
●● An Internet connection.
12 https://docs.microsoft.com/universal-print/fundamentals/
13 https://docs.microsoft.com/universal-print/fundamentals/universal-print-connector-overview
14 https://docs.microsoft.com/universal-print/fundamentals/universal-print-connector-installation
15 https://docs.microsoft.com/universal-print/fundamentals/universal-print-connector-printer-registration
16 https://docs.microsoft.com/universal-print/portal/share-printers
176
Report issues
To report issues or suggest features for Azure Virtual Desktop with Azure Resource Manager integration,
visit the Azure Virtual Desktop Tech Community17.
17 https://techcommunity.microsoft.com/t5/Windows-Virtual-Desktop/bd-p/WindowsVirtualDesktop
177
You can use the Tech Community to discuss best practices or suggest and vote for new features.
When you create a post, describe your issue in as much detail as possible. Detailed information can help
other users answer your question or understand the feature you're proposing a vote for.
Escalation tracks
Before doing anything else, make sure to check the Azure status page18 and Azure Service Health19 to
make sure your Azure service is running properly.
Use the following table to identify and resolve issues you may encounter when setting up an environ-
ment using Remote Desktop client. Once your environment's set up, you can use our new Diagnostics
service20 to identify issues for common scenarios.
18 https://status.azure.com/status
19 https://azure.microsoft.com/features/service-health/
20 https://docs.microsoft.com/azure/virtual-desktop/diagnostics-role-service
178
Session host pool Virtual Machine (VM) creation Open an Azure support request (https://azure.
when Azure Resource Manager templates provid- microsoft.com/support/create-ticket/), then select
ed with Azure Virtual Desktop aren't being used. Azure Virtual Desktop for the service.
Feed discovery problems due to the network Your users need to contact their network adminis-
trator.
Connecting clients See Azure Virtual Desktop service connections and
if that doesn't solve your issue, see Session host
virtual machine configuration.
Responsiveness of remote applications or desktop If issues are tied to a specific application or
product, contact the team responsible for that
product.
Licensing messages or errors If issues are tied to a specific application or
product, contact the team responsible for that
product.
Issues with third-party authentication methods or Verify that your third-party provider supports
tools Azure Virtual Desktop scenarios.
Issues using Log Analytics for Azure Virtual For issues with the diagnostics schema, open an
Desktop Azure support request (https://azure.microsoft.
com/support/create-ticket/).
Try connecting with another client, like Remote Desktop client for Windows 10, and check to see if you
can open the web client.
Knowledge check
Multiple choice
You have a Azure Virtual Desktop host pool named HostPoolSouth. You are investigating an issue for a
Remote Desktop client that is no longer responding. You want to the default Remote Desktop client settings
restored and unsubscribed for workspaces. What should you do?
Run msrdcw.exe
Install the FSLogix agent on the session hosts in HostPoolSouth
Stop the RDAgentBootLoader
Multiple choice
You have a Azure Virtual Desktop host pool named HostPool-1 and two session hosts named AVDSession-
Host1 and AVDSessionHost1. Additionally, you have App groups named AppRemoteGR1 and AppRemote-
GR2 with a RemoteApp named UserRemoteApp-1. You want to prevent users from copying and pasting
content from UserRemoteApp-1 to a local computer or device. What should you do to prevent this?
Modify the RDP Properties of HostPool-1
Require multi-factor authentication (MFA)
Re-register App groups AppRemoteGR1 and AppRemoteGR2
Summary
In this module, you learned how to:
●● Configure user settings through group policies for Azure Virtual Desktop.
●● Configure user settings through Endpoint Manager policies for Azure Virtual Desktop.
●● Configure session timeout properties for Azure Virtual Desktop.
●● Configure device redirections for Azure Virtual Desktop.
●● Configure Universal Print.
●● Troubleshoot user profile issues.
Learn more
●● Azure free account21 | Azure free account FAQ22
●● Free account for Students23 | Azure for students FAQ24
●● Create an Azure account25 module on Learn.
21 https://azure.microsoft.com/free/?azure-portal=true
22 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
23 https://azure.microsoft.com/free/students/?azure-portal=true
24 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
25 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
182
Learning objectives
After completing this module, you'll be able to:
●● Describe MSIX app attach for Azure Virtual Desktop.
●● Explain how MSIX app attach works.
●● Set up a file share for MSIX app attach.
●● Use the OneDrive sync app on Azure Virtual Desktops.
●● Use Microsoft Teams on Azure Virtual Desktop.
●● Publish built-in apps in Azure Virtual Desktop.
Prerequisites
●● Working experience with data integration solutions.
●● Conceptual knowledge of data integration solutions.
Term Definition
Stage MSIX app attach notifies the operating system that
an application is available, and that the virtual disk
that contains the MSIX package (also known as the
MSIX image) is available.
Registration MSIX app attach uses a per-user process to make
the application available to you.
Delayed registration Complete registration of the application is delayed
until you decide to run the application.
Deregistration The application is no longer available to you after
you sign out.
Destage The application is no longer available from the
virtual machine after shutdown or restart of the
machine.
184
After you open MSIX app attach, you experience the following process:
1. From the Azure Virtual Desktop client, you sign in and select the host pool for which you have access.
The process is similar to opening published RemoteApp programs from the Azure Virtual Desktop
environment.
2. You're assigned a virtual machine within the host pool, on which a RemoteApp or Remote Desktop
session is created. The Azure Virtual Desktop client interacts with that session.
3. If the user profile is configured, the FSLogix agent on the session host provides the user profile from
the file share. The file share can be Azure Files, Azure NetApp Files, or an infrastructure as a service
(IaaS) file server.
4. Applications that are assigned to you are read from Azure Virtual Desktop.
5. MSIX app attach applications are registered to the virtual machine for you, from the attached MSIX
virtual disk. That virtual disk might be on an IaaS file share, Azure Files, or Azure NetApp Files.
Use the following key terms for MSIX app attach as a review and reference.
Performance requirements
MSIX app attach image size limits for your system depend on the storage type you're using to store the
VHD or VHDx files, and the size limitations of the VHD, VHSD, or CIM files and the file system.
The following table gives an example of how many resources a single 1-GB MSIX image with one MSIX
app inside of it requires for each VM:
Resource Requirements
Steady state IOPs 1 IOPs
Machine boot sign-in 10 IOPs
Latency 400 ms
Requirements can vary widely depending how many MSIX-packaged applications are stored in the MSIX
image. For larger MSIX images, you'll need to allocate more bandwidth.
Storage recommendations.
Azure offers multiple storage options that can be used for MISX app attach. We recommend using Azure
Files or Azure NetApp Files as those options offer the best value between cost and management over-
head.
●● \\storageaccount.file.core.windows.net\share*.VHD
●● \\storageaccount.file.core.windows.net\share*.VHDX
●● <MSIXAppAttachFileShare>.CIM
●● \\storageaccount.file.core.windows.net\share**.CIM
●● Separate the storage fabric for MSIX app attach from FSLogix profile containers.
●● All VM system accounts and user accounts must have read-only permissions to access the file share.
●● Any disaster recovery plans for Azure Virtual Desktop must include replicating the MSIX app attach
file share in your secondary failover location.
26 https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/storage/files/storage-how-to-create-file-share.md
27 https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/storage/files/storage-files-identity-ad-ds-enable.md
28 https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/storage/files/storage-files-identity-ad-ds-assign-permissions.md
187
10. Set up NTFS permissions for the user accounts. You'll need an operating unit (OU) sourced from the
AD DS that the accounts in the VM belong to.
Step 1: Basics
1. Sign in to the Azure portal.
2. Use the search box to find Azure Virtual Desktop.
3. Select Application groups > Add.
4. Select the subscription, resource group, host pool, and application type.
Field Description
188
Step 2: Assignments
1. Select Add Azure AD users or user groups.
Step 3: Applications
1. Select Add applications.
189
2. Use the information in the following table to help you add an application. Accept the rest of the
default values where not listed in the table.
190
Field Value
Application source Start menu
Application WordPad
Display name WordPad
3. Select Next: Workspace.
Step 4: Workspace
1. For Register application group, select Yes.
191
29 https://rdweb.wvd.microsoft.com/arm/webclient/index.html
30 https://azure.microsoft.com/services/virtual-desktop/
31 https://docs.microsoft.com/fslogix/configure-profile-container-tutorial
32 https://docs.microsoft.com/fslogix/configure-office-container-tutorial
192
OneDrive for Business is not supported in non-persistent RDSH or VDI environments without FSLogix
profile containers.
Deployment instructions
1. Download OneDriveSetup.exe.
193
33 https://docs.microsoft.com/azure/virtual-desktop/teams-on-wvd
34 https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4AQBt
194
This process is the default installation, which installs Teams to the %AppData% user folder. Teams won't
work properly with per-user installation on a non-persistent setup.
Per-machine installation
msiexec /i <path_to_msi> /l*v <install_logfile_name> ALLUSER=1
This installs Teams to the Program Files (x86) folder on a 32-bit operating system and to the Program
Files folder on a 64-bit operating system. At this point, the golden image setup is complete. Installing
Teams per-machines is required for non-persistent setups.
To uninstall the MSI from the host VM, run this command:
msiexec /passive /x <msi_name> /l*v <uninstall_logfile_name>
3. This uninstalls Teams from the Program Files (x86) folder or Program Files folder, depending on the
operating system environment.
35 https://docs.microsoft.com/microsoftteams/teams-for-vdi
195
Azure Virtual Desktop only supports publishing apps with install locations that begin with C:\Program
Files\WindowsApps.
The User Input Delay counter measures the max delta (within an interval of time) between the input
being queued and when it's picked up by the app in a traditional message loop, as shown in the follow-
ing flow chart:
One important detail of this counter is that it reports the maximum user input delay within a configurable
interval. This is the longest time it takes for an input to reach the application, which can impact the speed
of important and visible actions like typing.
For example, in the following table, the user input delay would be reported as 1,000 ms within this
interval. The counter reports the slowest user input delay in the interval because the user's perception of
“slow” is determined by the slowest input time (the maximum) they experience, not the average speed of
all total inputs.
Number 0 1 2
Delay 16 ms 20 ms 1,000 ms
197
Next, restart the server. Then, open the Performance Monitor, and select the plus sign (+), as shown in
the following graphic.
After doing that, you should see the Add Counters dialog, where you can select User Input Delay per
Process or User Input Delay per Session.
198
If you select User Input Delay per Process, you'll see the Instances of the selected object (in other
words, the processes) in SessionID:ProcessID <Process Image> format.
For example, if the Calculator app is running in a Session ID 1, you'll see 1:4232 <Calculator.exe>.
The counter starts reporting user input delay as soon as you add it. The maximum scale is set to 100 (ms)
by default.
199
Knowledge check
Multiple choice
You want to set up a file share for MSIX app attach. How should the MSIX images be stored?
MSIX app packages
MSIX app packages
Azure NetApp Files
Multiple choice
You manage a Azure Virtual Desktop deployment. Your users are requesting chat, calling, and meeting
functionality. What should you deploy?
Microsoft Teams on Azure Virtual Desktop
Yammer
Summary
In this module, you learned how to:
●● Describe MSIX app attach for Azure Virtual Desktop.
●● Explain how How MSIX app attach works.
●● Set up a file share for MSIX app attach.
●● Use the OneDrive sync app on Azure Virtual Desktops.
●● Use Microsoft Teams on Azure Virtual Desktop.
●● Publish built-in apps in Azure Virtual Desktop.
Learn more
●● Azure free account36 | Azure free account FAQ37
●● Free account for Students38 | Azure for students FAQ39
●● Create an Azure account40 module on Learn.
36 https://azure.microsoft.com/free/?azure-portal=true
37 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
38 https://azure.microsoft.com/free/students/?azure-portal=true
39 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
40 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
202
Labs
Implement and manage Azure Virtual Desktop
profiles (Azure AD DS)
Important: To download the most recent version of this lab, please visit the AZ-140 GitHub repository41.
Direct link to the Lab - Implement and manage Azure Virtual Desktop profiles (Azure AD DS).42.
Objectives
After completing this lab, you will be able to:
●● Configure Azure Files to store profile containers for Azure Virtual Desktop in Azure AD DS environ-
ment
●● Implement FSLogix based profiles for Azure Virtual Desktop in Azure AD DS environment
Lab prerequisites
●● An Azure subscription
●● A Microsoft account or an Azure AD account with the Global Administrator role in the Azure AD
tenant associated with the Azure subscription and with the Owner or Contributor role in the Azure
subscription
●● An Azure Virtual Desktop environment provisioned in the lab Introduction to Azure Virtual Desktop
(Azure AD DS)
Estimated time: 30 minutes
Lab files
●● None
41 https://aka.ms/AZ-140_Labs
42 https://aka.ms/AZ-140_04_Lab_01
43 https://aka.ms/AZ-140_Labs
203
Direct link to the Lab - Package Azure Virtual Desktop applications (AD DS).44.
Objectives
After completing this lab, you will be able to:
●● Prepare for and create MSIX app packages
●● Implement MSIX app attach container for Azure Virtual Desktop in AD DS environment
●● Implement the MSIX app attach on Azure Virtual Desktop in AD DS environment
Lab prerequisites
●● An Azure subscription
●● A Microsoft account or an Azure AD account with the Global Administrator role in the Azure AD
tenant associated with the Azure subscription and with the Owner or Contributor role in the Azure
subscription
●● The completed lab Prepare for deployment of Azure Virtual Desktop (AD DS) or Prepare for
deployment of Azure Virtual Desktop (Azure AD DS)
●● The completed lab Azure Virtual Desktop profile management (AD DS) or Azure Virtual Desktop
profile management (Azure AD DS)
Estimated time: 90 minutes
Lab files
●● \\AZ-140\AllFiles\Labs\04\az140-42_azuredeploycl42.json
●● \\AZ-140\AllFiles\Labs\04\az140-42_azuredeploycl42.parameters.json
44 https://aka.ms/AZ-140_04_Lab_03
204
Review Questions
Module review questions
Multiple choice
You manage an AVD instance. You need to plan how to run containerized apps without running the apps on
the session host. What do you need to use?
A. MSIX app packages
B. Docker remote containers
C. NuGet packages
D. Azure Service Bus queues
Multiple choice
You have a AVD host pool named HostPoolNorth that has three session hosts. The sessions hosts use FSLogix
profile containers. You want to configure Cloud Cache on each of the session hosts. What do you do first?
A. Create and MSIX package
B. Configure the IsAVDEnviroment reg key on all Windows 2019 servers
C. Remove VHDLocations entries from the Windows registry
D. Copy the rule sets to the FSLogix profile containers for all users
Multiple choice
You have a AVD host pool named: HostPoolSouth. You are investigating an issue for a Remote Desktop
client that is no longer responding. You want to the default Remote Desktop client settings restored and
unsubscribed for workspaces. What should you do?
A. Stop the RDAgentBootLoader (net stop RDAgentBootLoader)
B. Create a second host pool
C. Install the FSLogix agent on the session hosts in HostPoolSouth
D. Run msrdcw.exe
Multiple choice
You have a AVD deployment with the following: A host pool named HostPool-1 wo session hosts: AVDSes-
sionHost1 and AVDSessionHost1 App groups named AppRemoteGR1 and AppRemoteGR2 with a RemoteA-
pp named UserRemoteApp-1 You don’t want your users copying and pasting content from UserRemoteA-
pp-1 to a local computer or device. What should you do to prevent this?
A. Modify the RDP Properties of HostPool-1
B. Require multi-factor authentication (MFA)
C. Re-register App groups AppRemoteGR1 and AppRemoteGR2
D. Disable Storage Sense on both session hosts
206
Checkbox
You have a AVD deployment that uses M365 services that include Microsoft Teams. Users have the remote
desktop client to connect two the deployment using Win 10 computers. You want to support the A/V
features in AVD and allow your users with access to Teams calling and meeting features. Which of the
following three things should you do first?
A. Install the Teams WebSocket Service on the VMs
B. Install the Teams WebSocket Service all Windows 2019 Servers
C. Install the Teams desktop app on the Windows 10 computers
D. Install the Teams desktop app on the VMs
E. Install the Remote Desktop WebRTC Redirector Service
Multiple choice
You manage a AVD host pool containing two session hosts. You have the Microsoft Teams client installed on
both host sessions. You have the following situation: The meeting feature is disabled The call feature is
disabled The Teams collaboration feature is working The Teams chat feature is working You want to allow
your users the ability to use call and meeting features. What do you do to resolve this?
A. Add VHDLocations entries for the Windows registry
B. Create an AppLocker policy
C. Install the Remote Desktop WebRTC Redirector Service
D. Configure RDP Properties on the host pool
Multiple choice
You manage a AVD deployment with the following: A AVD host pool that contains 20 Windows 10 En.
Multi-session hosts. Users connect to the AVD deployment from Windows 10 computers. You plan on using
FSLogix Application Masking. You want to deploy Application Masking rule sets. Where should you copy the
rule sets?
A. C:\Program Files\FSLogix\Apps\Rules on every session host
B. FSLogix Office Container
C. An Azure Storage account
D. \store2\file.core.windows.net\profiles
207
Answers
Multiple choice
You manage an Azure Virtual Desktop host pool with twenty Windows 10 Enterprise multi-session hosts.
Your users connect to the Azure Virtual Desktop deployment from Windows 10 computers. You plan on
using FSLogix Application Masking to deploy Application Masking rule sets. Where should you copy the
rule sets?
FSLogix Office Container
Azure Storage account
■■ C:\Program Files\FSLogix\Apps\Rules on every session host
Explanation
The Rules and Rule Sets are accessed from *C:\Program Files\FSLogix\Apps\Rules.*
Multiple choice
Which container solution should you use in non-persistent, virtual environments, such as Azure Virtual
Desktop?
Office Container
■■ Profile Container
Kubernetes
Explanation
Profile Container is used to redirect the full user profile. Profile Container is used in non-persistent, virtual
environments, such as Virtual Desktops.
Multiple choice
You have a Azure Virtual Desktop host pool named HostPoolSouth. You are investigating an issue for a
Remote Desktop client that is no longer responding. You want to the default Remote Desktop client
settings restored and unsubscribed for workspaces. What should you do?
■■ Run msrdcw.exe
Install the FSLogix agent on the session hosts in HostPoolSouth
Stop the RDAgentBootLoader
Multiple choice
You have a Azure Virtual Desktop host pool named HostPool-1 and two session hosts named AVDSes-
sionHost1 and AVDSessionHost1. Additionally, you have App groups named AppRemoteGR1 and AppRe-
moteGR2 with a RemoteApp named UserRemoteApp-1. You want to prevent users from copying and
pasting content from UserRemoteApp-1 to a local computer or device. What should you do to prevent
this?
■■ Modify the RDP Properties of HostPool-1
Require multi-factor authentication (MFA)
Re-register App groups AppRemoteGR1 and AppRemoteGR2
208
Multiple choice
You want to set up a file share for MSIX app attach. How should the MSIX images be stored?
■■ MSIX app packages
MSIX app packages
Azure NetApp Files
Multiple choice
You manage a Azure Virtual Desktop deployment. Your users are requesting chat, calling, and meeting
functionality. What should you deploy?
■■ Microsoft Teams on Azure Virtual Desktop
Yammer
Explanation
Microsoft Teams on Azure Virtual Desktop supports chat and collaboration. With media optimizations, it
also supports calling and meeting functionality.
Multiple choice
You manage an AVD instance. You need to plan how to run containerized apps without running the apps
on the session host. What do you need to use?
■■ A. MSIX app packages
B. Docker remote containers
C. NuGet packages
D. Azure Service Bus queues
Explanation
The answer is A, MSIX app packages. As seen in the MSIX App Attach topic, the Azure Virtual Desktop
service recommends FSLogix profile containers as a user profile solution. FSLogix is designed to roam profiles
in remote computing environments, such as Azure Virtual Desktop. It stores a complete user profile in a
single container.
209
Multiple choice
You have a AVD host pool named HostPoolNorth that has three session hosts. The sessions hosts use
FSLogix profile containers. You want to configure Cloud Cache on each of the session hosts. What do you
do first?
A. Create and MSIX package
B. Configure the IsAVDEnviroment reg key on all Windows 2019 servers
■■ C. Remove VHDLocations entries from the Windows registry
D. Copy the rule sets to the FSLogix profile containers for all users
Explanation
The answer is C, Remove VHDLocations entries from the Windows registry. As seen in the Configure Profile
Containers, topic, the configuration of Profile Container is accomplished through registry settings and user
groups. VHDLocations (required setting), A list of file system locations to search for the user's profile VHD(X)
file. If one isn't found, one will be created in the first listed location. If the VHD path doesn't exist, it will be
created before it checks if a VHD(X) exists in the path. These values can contain variables that will be
resolved. Supported variables are %username%, %userdomain%, %sid%, %osmajor%, %osminor%, %os-
build%, %osservicepack%, %profileversion%, and any environment variable available at time of use.
Multiple choice
You have a AVD host pool named: HostPoolSouth. You are investigating an issue for a Remote Desktop
client that is no longer responding. You want to the default Remote Desktop client settings restored and
unsubscribed for workspaces. What should you do?
A. Stop the RDAgentBootLoader (net stop RDAgentBootLoader)
B. Create a second host pool
C. Install the FSLogix agent on the session hosts in HostPoolSouth
■■ D. Run msrdcw.exe
Explanation
The answer is D, Run msrdcw.exe. As seen in the Troubleshoot AVD clients topic, if a remote Desktop client
for Windows 10 stops responding or cannot be opened, you can reset the user data from the About page or
using a command. Use the following command to remove your user data, restore default settings and
unsubscribe from all Workspaces. msrdcw.exe /reset [/f]a8
Multiple choice
You have a AVD deployment with the following: A host pool named HostPool-1 wo session hosts: AVD-
SessionHost1 and AVDSessionHost1 App groups named AppRemoteGR1 and AppRemoteGR2 with a
RemoteApp named UserRemoteApp-1 You don’t want your users copying and pasting content from
UserRemoteApp-1 to a local computer or device. What should you do to prevent this?
■■ A. Modify the RDP Properties of HostPool-1
B. Require multi-factor authentication (MFA)
C. Re-register App groups AppRemoteGR1 and AppRemoteGR2
D. Disable Storage Sense on both session hosts
Explanation
The answer is A, Modify the RDP Properties of HostPool-1. As seen in the Configure device redirections topic,
you set the following RDP property to configure clipboard redirection: redirectclipboard:i:1 enables clipboard
redirection redirectclipboard:i:0 disables clipboard redirection
210
Checkbox
You have a AVD deployment that uses M365 services that include Microsoft Teams. Users have the
remote desktop client to connect two the deployment using Win 10 computers. You want to support the
A/V features in AVD and allow your users with access to Teams calling and meeting features. Which of the
following three things should you do first?
■■ A. Install the Teams WebSocket Service on the VMs
B. Install the Teams WebSocket Service all Windows 2019 Servers
■■ C. Install the Teams desktop app on the Windows 10 computers
■■ D. Install the Teams desktop app on the VMs
E. Install the Remote Desktop WebRTC Redirector Service
Explanation
The answer is A, C, and D: Install the Teams WebSocket Service on the VMs Install the Teams desktop app
on the Windows 10 computers Install the Teams desktop app on the VMs As seen in the Using Microsoft
Teams on Azure Virtual desktop topic, you install the Teams desktop app, install the Teams WebSocket
Service, and install Microsoft Teams.
Multiple choice
You manage a AVD host pool containing two session hosts. You have the Microsoft Teams client installed
on both host sessions. You have the following situation: The meeting feature is disabled The call feature is
disabled The Teams collaboration feature is working The Teams chat feature is working You want to allow
your users the ability to use call and meeting features. What do you do to resolve this?
A. Add VHDLocations entries for the Windows registry
B. Create an AppLocker policy
■■ C. Install the Remote Desktop WebRTC Redirector Service
D. Configure RDP Properties on the host pool
Explanation
The answer is C, Install the Remote Desktop WebRTC Redirector Service. As seen in the Using Microsoft
Teams on Azure Virtual desktop topic, by installing the Teams WebSocket Service (version 1.0.2006.11001),
you fix an issue with the Teams app during a call or meeting with incoming video to dropping.
Multiple choice
You manage a AVD deployment with the following: A AVD host pool that contains 20 Windows 10 En.
Multi-session hosts. Users connect to the AVD deployment from Windows 10 computers. You plan on
using FSLogix Application Masking. You want to deploy Application Masking rule sets. Where should you
copy the rule sets?
■■ A. C:\Program Files\FSLogix\Apps\Rules on every session host
B. FSLogix Office Container
C. An Azure Storage account
D. \store2\file.core.windows.net\profiles
Explanation
The answer is A, C:\Program Files\FSLogix\Apps\Rules on every session host. As seen in the Manage Rule
Sets and application masking topic, by default the Rules and Rule Sets are accessed from C:\Program Files\
FSLogix\Apps\Rules. The location where Rules and Rule Sets are accessed differ if the FSLogix installation
location is changed.
Module 5 Monitor and maintain a AVD infra-
structure
Learning objectives
After completing this module, you'll be able to:
●● Configure virtual machine replication for Azure Virtual Desktop.
●● Configure FSLogix for multiple profile locations.
Prerequisites
●● Conceptual knowledge of Azure compute solutions.
●● Working experience with virtual machines, containers, and app service.
VM replication
You'll need to replicate your VMs to the secondary location for Azure Virtual Desktop. Your options for
doing so depend on how your VMs are configured:
●● You can configure all your VMs for both pooled and personal host pools with Azure Site Recovery.
With this method, you'll only need to set up one host pool and its related app groups and workspac-
es.
212
●● You can create a new host pool in the failover region while keeping all resources in your failover
location turned off.
●● You need to set up new app groups and workspaces in the failover region, then use an Azure Site
Recovery plan to turn on host pools.
●● You can create a host pool that's populated by VMs built in both the primary and failover regions
while keeping the VMs in the failover region turned off.
●● You only need to set up one host pool and its related app groups and workspaces.
●● You can use an Azure Site Recovery plan to power on host pools with this method.
Use Azure Site Recovery to manage replicating VMs in other Azure locations, as described in Az-
ure-to-Azure disaster recovery architecture1.
Set up Azure Site Recovery by replicating an Azure VM to a different Azure region directly from the Azure
portal. Site Recovery is automatically updated with new Azure features as they’re released.
Use Azure Site Recovery for personal host pools, because Azure Site Recovery supports both serv-
er-based and client-based SKUs.
If you use Azure Site Recovery, you won't need to register VMs manually.
●● The Azure Virtual Desktop agent in the secondary VM will automatically use the latest security token
to connect to the service instance closest to it.
●● The VM (session host) in the secondary location will automatically become part of the host pool.
●● The end user will have to reconnect during the process.
1 https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/site-recovery/azure-to-azure-architecture.md
213
If there are existing user connections during the outage, before the admin can start failover to the
secondary region, you need to end the user connections in the current region.
Once you've signed out all users in the primary region, you can fail over the VMs in the primary region
and let users connect to the VMs in the secondary region.
FSLogix configuration
The FSLogix agent can support multiple profile locations if you configure the registry entries for FSLogix.
To configure the registry entries:
1. Open the Registry Editor.
2. Go to Computer > HKEY_LOCAL_MACHINE > SOFTWARE > FSLogix > Profiles.
3. Right-click on VHDLocations and select Edit Multi-String.
4. In the Value Data field, enter the locations you want to use.
5. When you're done, select OK.
If the first location is unavailable, the FSLogix agent will automatically fail over to the second, and so on.
It's recommended you configure the FSLogix agent with a path to the secondary location in the main
region. Once the primary location shuts down, the FLogix agent will replicate as part of the VM Azure Site
Recovery replication. Once the replicated VMs are ready, the agent will automatically attempt to path to
the secondary region.
Example scenario
Let's say your primary session host VMs are in the Central US region, but your profile container is in the
Central US region for performance reasons.
In this case, you would configure the FSLogix agent with a path to the storage in Central US. You would
configure the session host VMs to replicate in West US. Once the path to Central US fails, the agent will
try to create a new path for storage in West US instead.
S2D
Since S2D handles replication across regions internally, you don't need to manually set up the secondary
path.
Azure Files
Azure Files supports cross-region asynchronous replication that you can specify when you create the
storage account. If the asynchronous nature of Azure Files already covers your disaster recovery goals,
then you don't need to do additional configuration.
If you need synchronous replication to minimize data loss, then we recommend you use FSLogix Cloud
Cache instead.
214
Knowledge check
Multiple choice
How should you configure the FSLogix location in the event of a primary location shut down?
Configure FileStorage storage accounts
Configure the FSLogix agent with a path to the secondary location in the main region
Multiple choice
You want to replicate your virtual machines (VMs) to the secondary location. What could you do?
Deploy Azure Site Recovery
Deploy Azure Load Balancer
Azure Role-based access control (RBAC)
Summary
In this module, you learned how to:
●● Configure virtual machine (VM) replication for Azure Virtual Desktop.
●● Configure FSLogix for multiple profile locations.
Learn more
●● Azure free account2 | Azure free account FAQ3
●● Free account for Students4 | Azure for students FAQ5
●● Create an Azure account6 module on Learn.
2 https://azure.microsoft.com/free/?azure-portal=true
3 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
4 https://azure.microsoft.com/free/students/?azure-portal=true
5 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
6 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
215
Learning objectives
After completing this module, you'll be able to:
●● Describe how to scale session hosts using Azure Automation.
●● Create or update an Azure Automation account.
●● Create an Azure Automation Run As account.
●● Create the Azure Logic App and execution schedule.
Prerequisites
●● Working experience with developing cloud applications.
●● Conceptual knowledge of messaging, events, API management, and app caching.
In this unit, you'll learn about the scaling tool built with the Azure Automation account and Azure Logic
App that automatically scales session host VMs in your Azure Virtual Desktop environment.
The scaling tool uses a combination of an Azure Automation account, a PowerShell runbook, a webhook,
and the Azure Logic App to function. When the tool runs, Azure Logic App calls a webhook to start the
Azure Automation runbook. The runbook then creates a job.
During peak usage time, the job checks the current number of sessions and the VM capacity of the
current running session host for each host pool. It uses this information to calculate if the running session
host VMs can support existing sessions based on the SessionThresholdPerCPU parameter defined
for the CreateOrUpdateAzLogicApp.ps1 file.
●● If the session host VMs can't support existing sessions, the job starts additional session host VMs in
the host pool.
During the off-peak usage time, the job determines how many session host VMs should be shut down
based on the MinimumNumberOfRDSH parameter. If you set the LimitSecondsToForceLogOffUser
parameter to a non-zero positive value, the job will set the session host VMs to drain mode to prevent
new sessions from connecting to the hosts.
●● The job will notify any currently signed in users to save their work, wait the configured amount of
time, and then force the users to sign out.
●● Once all user sessions on the session host VM have been signed out, the job will shut down the VM.
●● After the VM shuts down, the job will reset its session host drain mode.
Note: Your account must have contributor rights on the Azure subscription where you want to deploy the
scaling tool.
3. Run the following cmdlet to download the script for creating the Azure Automation account:
New-Item -ItemType Directory -Path "C:\Temp" -Force
Set-Location -Path "C:\Temp"
$Uri = "https://raw.githubusercontent.com/Azure/RDS-Templates/master/
wvd-templates/wvd-scaling-script/CreateOrUpdateAzAutoAccount.ps1"
# Download the script
Invoke-WebRequest -Uri $Uri -OutFile ".\CreateOrUpdateAzAutoAccount.ps1"
7 https://docs.microsoft.com/azure/automation/automation-create-standalone-account
219
4. Run the following cmdlet to execute the script and create the Azure Automation account. You can
either fill in values for the parameters or comment them to use their defaults.
$Params = @{
"AADTenantId" = "<Azure_Active_Directory_tenant_ID>" # Op-
tional. If not specified, it will use the current Azure context. "Sub-
scriptionId" = "<Azure_subscription_ID>" # Optional. If
not specified, it will use the current Azure context.
"UseARMAPI" = $true
"ResourceGroupName" = "<Resource_group_name>" #
Optional. Default: "AVDAutoScaleResourceGroup"
"AutomationAccountName" = "<Automation_account_name>" #
Optional. Default: "AVDAutoScaleAutomationAccount"
"Location" = "<Azure_region_for_deployment>"
"WorkspaceName" = "<Log_analytics_workspace_name>" # Op-
tional. If specified, Log Analytics will be used to configure the custom log
table that the runbook PowerShell script can send logs to.
}
.\CreateOrUpdateAzAutoAccount.ps1 @Params
5. The cmdlet's output will include a webhook URI. Make sure to keep a record of the URI because you'll
use it as a parameter when you set up the execution schedule for the Azure Logic App.
6. If you specified the parameter WorkspaceName for Log Analytics, the cmdlet's output will also
include the Log Analytics Workspace ID and its Primary Key. Make sure to remember URI because
you'll need to use it again later as a parameter when you set up the execution schedule for the Azure
Logic App.
7. After you've set up your Azure Automation account, sign in to your Azure subscription and check to
make sure your Azure Automation account and the relevant runbook have appeared in your specified
resource group, as shown in the following image:
To check if your webhook is where it should be, select the name of your runbook. Next, go to your
runbook's Resources section and select Webhooks.
The Azure Automation Run As account allows access to your Azure resources.
An Azure Automation Run As account provides authentication for managing resources in Azure with
Azure cmdlets. When you create a Run As account, it creates a new service principal user in Azure Active
Directory and assigns the Contributor role to the service principal user at the subscription level. An Azure
Run As account is a great way to authenticate securely with certificates and a service principal name
without needing to store a username and password in a credential object.
Any user who's a member of the Subscription Admins role and coadministrator of the subscription can
create a Run As account.
To create a Run As account in your Azure Automation account:
1. In the Azure portal, select All services. In the list of resources, enter and select Automation accounts.
2. On the Automation accounts page, select the name of your Azure Automation account.
221
3. In the pane on the left side of the window, select Run As accounts under the Account Settings
section.
4. Select Azure Run As account. When the Add Azure Run As account pane appears, review the
overview information, and then select Create to start the account creation process.
5. Wait a few minutes for Azure to create the Run As account. You can track the creation progress in the
menu under Notifications.
6. When the process finishes, it will create an account in the specified Azure Automation account. Select
Azure Run As account.
Login-AzAccount
3. Run the following cmdlet to download the script for creating the Azure Logic App.
New-Item -ItemType Directory -Path "C:\Temp" -Force
Set-Location -Path "C:\Temp"
$Uri = "https://raw.githubusercontent.com/Azure/RDS-Templates/master/
wvd-templates/wvd-scaling-script/CreateOrUpdateAzLogicApp.ps1"
# Download the script
Invoke-WebRequest -Uri $Uri -OutFile ".\CreateOrUpdateAzLogicApp.ps1"
4. Run the following PowerShell script to create the Azure Logic App and execution schedule for your
host pool:
Note: You'll need to run this script for each host pool you want to autoscale, but you need only one
Azure Automation account.
$AADTenantId = (Get-AzContext).Tenant.Id
ated with VMs you don't want to be managed by this scaling tool"
$LimitSecondsToForceLogOffUser = Read-Host -Prompt "Enter the number of
seconds to wait before automatically signing out users. If set to 0, any
session host VM that has user sessions, will be left untouched"
$LogOffMessageTitle = Read-Host -Prompt "Enter the title of the message sent
to the user before they are forced to sign out"
$LogOffMessageBody = Read-Host -Prompt "Enter the body of the message sent
to the user before they are forced to sign out"
$Params = @{
"AADTenantId" = $AADTenantId
# Optional. If not specified, it will use the current Azure context
"SubscriptionID" = $AzSubscription.Id
# Optional. If not specified, it will use the current Azure context
"ResourceGroupName" = $ResourceGroup.ResourceGroupName
# Optional. Default: "AVDAutoScaleResourceGroup"
"Location" = $ResourceGroup.Location
# Optional. Default: "West US2"
"UseARMAPI" = $true
"HostPoolName" = $AVDHostPool.Name
"HostPoolResourceGroupName" = $AVDHostPool.ResourceGroupName
# Optional. Default: same as ResourceGroupName param value
"LogAnalyticsWorkspaceId" = $LogAnalyticsWorkspaceId
# Optional. If not specified, script will not log to the Log Analytics
"LogAnalyticsPrimaryKey" = $LogAnalyticsPrimaryKey
# Optional. If not specified, script will not log to the Log Analytics
"ConnectionAssetName" = $AutoAccountConnection.Name
# Optional. Default: "AzureRunAsConnection"
"RecurrenceInterval" = $RecurrenceInterval
# Optional. Default: 15
"BeginPeakTime" = $BeginPeakTime
# Optional. Default: "09:00"
"EndPeakTime" = $EndPeakTime
# Optional. Default: "17:00"
"TimeDifference" = $TimeDifference
# Optional. Default: "-7:00"
"SessionThresholdPerCPU" = $SessionThresholdPerCPU
# Optional. Default: 1
"MinimumNumberOfRDSH" = $MinimumNumberOfRDSH
# Optional. Default: 1
224
"MaintenanceTagName" = $MaintenanceTagName
# Optional.
"LimitSecondsToForceLogOffUser" = $LimitSecondsToForceLogOffUser
# Optional. Default: 1
"LogOffMessageTitle" = $LogOffMessageTitle
# Optional. Default: "Machine is about to shutdown."
"LogOffMessageBody" = $LogOffMessageBody
# Optional. Default: "Your session will be logged off. Please save and close
everything."
"WebhookURI" = $WebhookURIAutoVar.Value
}
.\CreateOrUpdateAzLogicApp.ps1 @Params
After you run the script, the Azure Logic App should appear in a resource group.
1. Open Windows PowerShell.
2. Run the following cmdlet to sign in to your Azure account.
Login-AzAccount
3. Run the following cmdlet to download the script for creating the Azure Logic App.
New-Item -ItemType Directory -Path "C:\Temp" -Force
Set-Location -Path "C:\Temp"
$Uri = "https://raw.githubusercontent.com/Azure/RDS-Templates/master/
wvd-templates/wvd-scaling-script/CreateOrUpdateAzLogicApp.ps1"
# Download the script
Invoke-WebRequest -Uri $Uri -OutFile ".\CreateOrUpdateAzLogicApp.ps1"
4. Run the following PowerShell script to create the Azure Logic App and execution schedule for your
host pool:
Note: You'll need to run this script for each host pool you want to autoscale, but you need only one
Azure Automation account.
$AADTenantId = (Get-AzContext).Tenant.Id
$Params = @{
"AADTenantId" = $AADTenantId
# Optional. If not specified, it will use the current Azure context
"SubscriptionID" = $AzSubscription.Id
# Optional. If not specified, it will use the current Azure context
"ResourceGroupName" = $ResourceGroup.ResourceGroupName
# Optional. Default: "AVDAutoScaleResourceGroup"
"Location" = $ResourceGroup.Location
# Optional. Default: "West US2"
"UseARMAPI" = $true
"HostPoolName" = $AVDHostPool.Name
226
"HostPoolResourceGroupName" = $AVDHostPool.ResourceGroupName
# Optional. Default: same as ResourceGroupName param value
"LogAnalyticsWorkspaceId" = $LogAnalyticsWorkspaceId
# Optional. If not specified, script will not log to the Log Analytics
"LogAnalyticsPrimaryKey" = $LogAnalyticsPrimaryKey
# Optional. If not specified, script will not log to the Log Analytics
"ConnectionAssetName" = $AutoAccountConnection.Name
# Optional. Default: "AzureRunAsConnection"
"RecurrenceInterval" = $RecurrenceInterval
# Optional. Default: 15
"BeginPeakTime" = $BeginPeakTime
# Optional. Default: "09:00"
"EndPeakTime" = $EndPeakTime
# Optional. Default: "17:00"
"TimeDifference" = $TimeDifference
# Optional. Default: "-7:00"
"SessionThresholdPerCPU" = $SessionThresholdPerCPU
# Optional. Default: 1
"MinimumNumberOfRDSH" = $MinimumNumberOfRDSH
# Optional. Default: 1
"MaintenanceTagName" = $MaintenanceTagName
# Optional.
"LimitSecondsToForceLogOffUser" = $LimitSecondsToForceLogOffUser
# Optional. Default: 1
"LogOffMessageTitle" = $LogOffMessageTitle
# Optional. Default: "Machine is about to shutdown."
"LogOffMessageBody" = $LogOffMessageBody
# Optional. Default: "Your session will be logged off. Please save and close
everything."
"WebhookURI" = $WebhookURIAutoVar.Value
}
.\CreateOrUpdateAzLogicApp.ps1 @Params
After you run the script, the Azure Logic App should appear in a resource group, as shown in the follow-
ing image.
To make changes to the execution schedule, such as changing the recurrence interval or time zone, go to
the Azure Logic Apps autoscale scheduler and select Edit to go to the Azure Logic Apps Designer.
227
Knowledge check
Multiple choice
You have and Azure Virtual Desktop deployment with session hosts joined to an on-premises Active Directo-
ry (AD) domain named westwind.com. You need to limit your user sessions to three hours. What should you
configure?
Run Register-AzWvdApplicationGroup
Configure a Run As account in Azure Automation
A GPO in westwind.com
Multiple choice
You have an Azure Virtual Desktop deployment using the Start/Stop VMs during off- hours solution in
Azure. You want to isolate virtual machines that should never be stopped by the solution. What should you
configure?
Remote Desktop Diagnostics
Remote Connection Gateway service
An Azure Automation account variable
Summary
In this module, you learned how to:
●● Describe how to scale session hosts using Azure Automation.
228
Learn more
●● Azure free account8 | Azure free account FAQ9
●● Free account for Students10 | Azure for students FAQ11
●● Create an Azure account12 module on Learn.
8 https://azure.microsoft.com/free/?azure-portal=true
9 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
10 https://azure.microsoft.com/free/students/?azure-portal=true
11 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
12 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
229
Learning objectives
After completing this module, you'll be able to:
●● Describe how to monitor Azure Virtual Desktop by using Azure Monitor.
●● How to use Log Analytics workspace for Azure Monitor.
●● How to monitor Azure Virtual Desktop by using Azure Advisor.
●● How to resolve Azure Advisor recommendations.
●● How to diagnose graphics performance issues.
Prerequisites
●● Working experience with developing cloud applications.
●● Conceptual knowledge of messaging, events, and API management.
Read access only lets admins view data. They'll need different permissions to manage resources in the
Azure Virtual Desktop portal.
●● AgentHealthStatus
2. Select Configure host pool.
3. Select Deploy.
4. Refresh the configuration workbook.
233
workbook.
1. Under Workspace, check to see whether Azure Virtual Desktop diagnostics are enabled for the Azure
Virtual Desktop workspace. If they aren't, an error message will appear that says “No existing diagnos-
tic configuration was found for the selected workspace.” You'll need to enable the following support-
ed diagnostics tables:
●● Checkpoint
●● Error
●● Management
●● Feed
2. Select Configure workspace.
3. Select Deploy.
4. Refresh the configuration workbook.
Session hosts
You'll need to install the Log Analytics agent on all session hosts in the host pool and send data from
those hosts to your selected Log Analytics workspace. If Log Analytics isn't configured for all the session
hosts in the host pool, you'll see a Session hosts section at the top of Session host data settings with
the message “Some hosts in the host pool are not sending data to the selected Log Analytics workspace.”
To set up your remaining session hosts using the configuration workbook:
1. Select Add hosts to workspace.
2. Refresh the configuration workbook.
This unit will tell you how to set up Azure Advisor in your Azure Virtual Desktop deployment to help your
users.
●● Performance
This recommendation appears under Operational Excellence. The recommendation should also show you
a warning message like this:
You don't have a validation environment enabled in this subscription. When you made your host pools, you
selected No for “Validation environment” in the Properties tab. To ensure business continuity through Azure
Virtual Desktop service deployments, make sure you have at least one host pool with a validation environ-
ment where you can test for potential issues.
You can make this warning message go away by enabling a validation environment in one of your host
pools.
To enable a validation environment:
1. Go to your Azure portal home page and select the host pool you want to change.
2. Next, select the host pool you want to change from a production environment to a validation environ-
ment.
238
3. In your host pool, select Properties on the left column. Next, scroll down until you see “Validation
3. In your host pool, select the Properties tab in the column on the right side of the screen. Next, scroll
down until you see Validation environment. Select No, then select Apply.
Diagnose issues
Graphics-related performance issues generally fall into four categories:
●● Low frame rate
●● Random stalls
●● High input latency
●● Poor frame quality
Knowledge check
Multiple choice
You want to monitor Azure Virtual Desktop using Azure Virtual Desktop Insights that is included in Azure
Monitor. What should you use as a diagnostic settings destination for the host pool?
Azure
Azure Storage Queues
Log Analytics Workspace
Multiple choice
You have an Azure Virtual Desktop host pool named NewPool1. The pool contains Session Hosts that runs
Windows 10 Enterprise multi-session. You want to use Performance Monitor to troubleshoot a low frame
quality issue that is affecting a user in NewPool1. What should you run to retrieve the user ID?
qwinsta
Web Access
Azure Container Instances
Summary
In this module, you learned how to:
●● Describe how to monitor Azure Virtual Desktop by using Azure Monitor.
●● How to use Log Analytics workspace for Azure Monitor.
●● How to monitor Azure Virtual Desktop by using Azure Advisor.
●● How to resolve Azure Advisor recommendations.
●● How to diagnose graphics performance issues.
Learn more
●● Azure free account13 | Azure free account FAQ14
●● Free account for Students15 | Azure for students FAQ16
●● Create an Azure account17 module on Learn.
13 https://azure.microsoft.com/free/?azure-portal=true
14 https://azure.microsoft.com/free/free-account-faq/?azure-portal=true
15 https://azure.microsoft.com/free/students/?azure-portal=true
16 https://docs.microsoft.com/azure/education-hub/azure-dev-tools-teaching/program-faq#azure-for-students/?azure-portal=true
17 https://docs.microsoft.com/learn/modules/create-an-azure-account/?azure-portal=true
242
Lab
Implement autoscaling in host pools (AD DS)
Important: To download the most recent version of this lab, please visit the AZ-140 GitHub repository18.
Direct link to the Lab - Implement autoscaling in host pools (AD DS).19.
Objectives
After completing this lab, you will be able to:
●● Configure autoscaling of Azure Virtual Desktop session hosts
●● Verify autoscaling of Azure Virtual Desktop session hosts
Lab prerequisites
●● An Azure subscription you will be using in this lab.
●● A Microsoft account or an Azure AD account with the Owner or Contributor role in the Azure sub-
scription you will be using in this lab and with the Global Administrator role in the Azure AD tenant
associated with that Azure subscription.
●● The completed lab Prepare for deployment of Azure Virtual Desktop (AD DS)
●● The completed lab Deploy host pools and session hosts by using the Azure portal (AD DS)
Estimated time: 60 minutes
Lab files
●● None
18 https://aka.ms/AZ-140_Labs
19 https://aka.ms/AZ-140_05_Lab_01
243
Review questions
Module review questions
Multiple choice
You have and AVD deployment. The session hosts are joined to an on-premises AD domain named west-
wind.com. You need to limit your user sessions to three hours. What needs to be configured?
A GPO in westwind.com
Run Register-AzWvdApplicationGroup
Create an Azure Storage account that uses GRS
Configure a Run As account in Azure Automation
Multiple choice
You manage and AVD deployment. You deploy and configure WBD in a secondary location. You plan to
perform a test failover to the secondary location, but discover existing user sessions to the primary location.
You need to sign out the users from the session hosts in the primary location. which PowerShell cmdlet
should you use?
A. Register-AzWvdApplicationGroup
B. Update-AzWvdApplicationGroup
C. Remove-AzWvdUserSession
D. Register-AzWvdApplicationGroup
Multiple choice
You have and AVD deployment with the following host pools: WestPool5 Windows 10 Ent (personal) West
US Azure region WestPool7 Windows Server 2019 (pooled) West US Azure region You need to implement a
disaster recovery plan in the Central US region. What do you need to include in the plan?
A. An Azure Site Recovery plan
B. Create a new host pool in the Central US Azure region
C. Enable Azure Backup in the Central US Azure region
D. Add another host pool in the West US Azure region
Multiple choice
You have and AVD host pool in the Central US Azure region. You want to make sure that the host pool can
failover to the US East Azure region. What do you do first?
A. Configure the RDP properties the Central US host pool
B. Run Update-AZWvdApplication group
C. Create a new host pool in the East US
D. Create a Recovery Services vault
245
Multiple choice
You have an Azure Virtual Desktop host pool named host_poolTmp and an Azure automation account
named autoaccount2. host_poolTmp is integrated with an Azure AD DS (westwind.com). You plan to
configure scaling for host_poolTmp using Azure Automation runbooks. You need to authorize the runbooks
to manage the scaling of host_poolTmp. You should configure?
A. An additional host pool
B. A Run As account in Azure Automation
C. An Azure Site recovery plan
D. A token to re-register the VMs in the host pool
Multiple choice
You have and AVD deployment. You use the Start/Stop VMs during off- hours solution in Azure. You need to
configure which virtual machines must never be stopped by the solution. What should you configure?
A. An Azure Automation account variable
B. A connection shared resource in Azure Automation
C. A managed identity in AAD
D. An Azure NetApp account
Multiple choice
You have and AVD host pool running a Win10 enterprise multi session. You want to configure automatic
scaling of the host pool to fulfill the following: Distribute new user sessions across all running session hosts
Automatically start a new session host when concurrent user sessions exceed 30 users per host What should
you include in the solution?
A. Azure Front Door with depth-first load balancing
B. Azure traffic manager with weighted and performance traffic routing
C. An Azure Automation account and the breadth-first load balancing algorithm
D. Azure load balancer with cross-region load balancing
Multiple choice
You have and AVD instance. You want to monitor the AVD instance using Azure Virtual Desktop Insights
that is included in Azure Monitor. What should you use as a diagnostic settings destination for the host
pool?
A. Azure Data Lake Storage Gen1
B. Azure Files
C. Azure Queues
D. Log Analytics Workspace
246
Multiple choice
You have and AVD deployment. Using Azure Advisor, you are given the following recommendation related
to AVD. Impact: Medium Description: No validation environment enabled Benefits: Ensure business continui-
ty through AVD service deployments Impacted resources: HOST-West-Pool2 What are the benefit of follow-
ing the recommendation?
A. You can validate allowed locations
B. You can validate preview features for Azure Virtual Desktop
C. You can validate audited VMs that do not use managed disks
D. You can validate log analytics file storage access
Multiple choice
You have and AVD host pool named NewPool1. The pool contains Session Hosts that runs Win 10 Ent
multi-session. You need to use Performance Monitor to troubleshoot a low frame quality issue that is
affecting a user in NewPool1. What should you run to retrieve the user ID?
A. Remove-AzWvdApplication
B. Disconnect-AzWvdUserSession
C. Get-AzWvdWorkspace
D. qwinsta
Multiple choice
You manage and AVD host pool. The pool contains Session Hosts that run Win 10 Ent multi-session. You
connect to a RD session on hostpool5 and find an issue with the frequency of screen updates. You need to
identify whether the issue relates to insufficient server, network, or client resources. The solution should
minimize the time it takes to identify the resource type. What should you do?
A. In the current session, use Performance Monitor to display the values of all the RemoteFX Graph-
ics()\frames skipped/second counters
B. From within the RegEdit, navigate to Computer\HKEY_LOCAL_MACHINE\software\FSLogix and
create a key named Profiles for path to VHDLocations
C. From Azure Cloud Shell, run the Update-AzWvdDesktopcmdlet and specify the InputObject
parameter
D. From Azure Cloud Shell, run the Remove-AzWvdApplicationGroup cmdlet and specify the -Default-
Profile parameter
247
Multiple choice
You have an AVD deployment with the following host pools: WestPool5 Windows 10 Ent (personal) West US
Azure region WestPool7 Windows Server 2019 (pooled) West US Azure region You need to implement a
disaster recovery plan in the Central US region. What do you need to include in the plan?
A. An Azure Site Recovery plan
B. Create a new host pool in the Central US Azure region
C. Enable Azure Backup in the Central US Azure region
D. Add another host pool in the West US Azure region
248
Answers
Multiple choice
How should you configure the FSLogix location in the event of a primary location shut down?
Configure FileStorage storage accounts
■■ Configure the FSLogix agent with a path to the secondary location in the main region
Explanation
Configure the FSLogix agent with a path to the secondary location in the main region. Once the primary
location shuts down, the FLogix agent will replicate as part of the VM Azure Site Recovery replication. Once
the replicated VMs are ready, the agent will automatically attempt to path to the secondary region.
Multiple choice
You want to replicate your virtual machines (VMs) to the secondary location. What could you do?
■■ Deploy Azure Site Recovery
Deploy Azure Load Balancer
Azure Role-based access control (RBAC)
Explanation
You can configure all your VMs for both pooled and personal host pools with Azure Site Recovery. With this
method, you'll only need to set up one host pool and its related app groups and workspaces.
Multiple choice
You have and Azure Virtual Desktop deployment with session hosts joined to an on-premises Active
Directory (AD) domain named westwind.com. You need to limit your user sessions to three hours. What
should you configure?
Run Register-AzWvdApplicationGroup
Configure a Run As account in Azure Automation
■■ A GPO in westwind.com
Explanation
Configure a GPO and set the *LimitSecondsToForceLogOffUser* parameter to zero. This allows the session
configuration setting in specified group policies to handle signing off user sessions.
Multiple choice
You have an Azure Virtual Desktop deployment using the Start/Stop VMs during off- hours solution in
Azure. You want to isolate virtual machines that should never be stopped by the solution. What should
you configure?
Remote Desktop Diagnostics
Remote Connection Gateway service
■■ An Azure Automation account variable
Explanation
The scaling tool in Azure Automation account provides start and stop based on Peak and Off-Peak business
hours.
249
Multiple choice
You want to monitor Azure Virtual Desktop using Azure Virtual Desktop Insights that is included in Azure
Monitor. What should you use as a diagnostic settings destination for the host pool?
Azure
Azure Storage Queues
■■ Log Analytics Workspace
Explanation
Use a designated Log Analytics workspace for your Azure Virtual Desktop session hosts to ensure that
performance counters and events are only collected form session hosts in your Azure Virtual Desktop
deployment.
Multiple choice
You have an Azure Virtual Desktop host pool named NewPool1. The pool contains Session Hosts that runs
Windows 10 Enterprise multi-session. You want to use Performance Monitor to troubleshoot a low frame
quality issue that is affecting a user in NewPool1. What should you run to retrieve the user ID?
■■ qwinsta
Web Access
Azure Container Instances
Explanation
Run the qwinsta command and find the session name for a session hosted in a multi-session virtual
machine (VM), or your session is hosted in a VM that supports virtual Graphics Processing Units (vGPU).
Multiple choice
You have and AVD deployment. The session hosts are joined to an on-premises AD domain named
westwind.com. You need to limit your user sessions to three hours. What needs to be configured?
■■ A GPO in westwind.com
Run Register-AzWvdApplicationGroup
Create an Azure Storage account that uses GRS
Configure a Run As account in Azure Automation
Explanation
The answer is A, you need to configure a GPO in westwind.com.
As seen in the Scale session hosts using Azure Automation topic, if you set the LimitSecondsToForceLogOf-
fUser parameter to zero, the job allows the session configuration setting in specified group policies to handle
signing off user sessions.
To see these group policies, go to Computer Configuration > Policies > Administrative Templates > Win-
dows Components > Remote Desktop Services > Remote Desktop Session Host > Session Time Limits.
If there are any active sessions on a session host VM, the job will leave the session host VM running. If there
aren't any active sessions, the job will shut down the session host VM.
During any time, the job also takes host pool's MaxSessionLimit into account to determine if the current
number of sessions is more than 90% of the maximum capacity. If it is, the job will start additional session
host VMs.
During any time, the job also takes host pool's MaxSessionLimit into account to determine if the current
number of sessions is more than 90% of the maximum capacity.
250
Multiple choice
You manage and AVD deployment. You deploy and configure WBD in a secondary location. You plan to
perform a test failover to the secondary location, but discover existing user sessions to the primary
location. You need to sign out the users from the session hosts in the primary location. which PowerShell
cmdlet should you use?
A. Register-AzWvdApplicationGroup
B. Update-AzWvdApplicationGroup
■■ C. Remove-AzWvdUserSession
D. Register-AzWvdApplicationGroup
Explanation
The answer is C, you should use Remove-AzWvdUserSession. As seen in the VM replication topic, to
disconnect users in the Azure-integrated version of Azure Virtual Desktop, run this cmdlet: Remove-AzWv-
dUserSession Once you've signed out all users in the primary region, you can fail over the VMs in the
primary region and let users connect to the VMs in the secondary region.
Multiple choice
You have and AVD deployment with the following host pools: WestPool5 Windows 10 Ent (personal) West
US Azure region WestPool7 Windows Server 2019 (pooled) West US Azure region You need to implement
a disaster recovery plan in the Central US region. What do you need to include in the plan?
■■ A. An Azure Site Recovery plan
B. Create a new host pool in the Central US Azure region
C. Enable Azure Backup in the Central US Azure region
D. Add another host pool in the West US Azure region
Explanation
The answer is A, you should include an Azure Site Recovery plan. As seen in the VM replication and Virtual
networks, user identities, and data topics, it is recommended you use Azure Site Recovery to manage
replicating VMs in other Azure locations (as described in Azure-to-Azure disaster recovery architecture). It is
also recommended that you use Azure Site Recovery for personal host pools, because Azure Site Recovery
supports both server-based and client-based SKUs.
Multiple choice
You have and AVD host pool in the Central US Azure region. You want to make sure that the host pool
can failover to the US East Azure region. What do you do first?
A. Configure the RDP properties the Central US host pool
B. Run Update-AZWvdApplication group
C. Create a new host pool in the East US
■■ D. Create a Recovery Services vault
Explanation
The answer is D, you should create a Recovery Services vault. As seen in the Configure backup and for
FSLogix user profiles, personal VDIs, and images and Configure backup from the Recovery Services vault
topics, Recovery Services vault is a management entity that stores recovery points created over time and
provides an interface to perform backup related operations. These include taking on-demand backups,
performing restores, and creating backup policies.
251
Multiple choice
You have an Azure Virtual Desktop host pool named host_poolTmp and an Azure automation account
named autoaccount2. host_poolTmp is integrated with an Azure AD DS (westwind.com). You plan to
configure scaling for host_poolTmp using Azure Automation runbooks. You need to authorize the
runbooks to manage the scaling of host_poolTmp. You should configure?
A. An additional host pool
■■ B. A Run As account in Azure Automation
C. An Azure Site recovery plan
D. A token to re-register the VMs in the host pool
Explanation
The answer is B, you should configure a Run As account in Azure Automation. As seen in the Create an
Azure Automation Run As account topic, an Azure Automation Run As account provides authentication for
managing resources in Azure with Azure cmdlets. When you create a Run As account, it creates a new
service principal user in Azure Active Directory and assigns the Contributor role to the service principal user
at the subscription level. An Azure Run As account is a great way to authenticate securely with certificates
and a service principal name without needing to store a username and password in a credential object.
Multiple choice
You have and AVD deployment. You use the Start/Stop VMs during off- hours solution in Azure. You need
to configure which virtual machines must never be stopped by the solution. What should you configure?
■■ A. An Azure Automation account variable
B. A connection shared resource in Azure Automation
C. A managed identity in AAD
D. An Azure NetApp account
Explanation
The answer is A, you should configure an Azure Automation account variable. As seen in the Scale session
hosts using Azure Automation topic, the scaling tool in Azure Automation account provides a low-cost auto-
mation option for customers who want to optimize their session host VM costs. You can use the scaling tool
to: Schedule VMs to start and stop based on Peak and Off-Peak business hours. Scale out VMs based on
number of sessions per CPU core. Scale in VMs during Off-Peak hours, leaving the minimum number of
session host VMs running.
252
Multiple choice
You have and AVD host pool running a Win10 enterprise multi session. You want to configure automatic
scaling of the host pool to fulfill the following: Distribute new user sessions across all running session
hosts Automatically start a new session host when concurrent user sessions exceed 30 users per host
What should you include in the solution?
A. Azure Front Door with depth-first load balancing
B. Azure traffic manager with weighted and performance traffic routing
■■ C. An Azure Automation account and the breadth-first load balancing algorithm
D. Azure load balancer with cross-region load balancing
Explanation
The answer is C, you should include an Azure Automation account and the breadth-first load balancing
algorithm. As seen in the Scale session hosts using Azure Automation topic, you can use the scaling tool to:
Schedule VMs to start and stop based on Peak and Off-Peak business hours. Scale out VMs based on
number of sessions per CPU core. Scale in VMs during Off-Peak hours, leaving the minimum number of
session host VMs running. The scaling tool controls the load balancing mode of the host pool it's currently
scaling. The tool uses breadth-first load balancing mode for both peak and off-peak hours.
Multiple choice
You have and AVD instance. You want to monitor the AVD instance using Azure Virtual Desktop Insights
that is included in Azure Monitor. What should you use as a diagnostic settings destination for the host
pool?
A. Azure Data Lake Storage Gen1
B. Azure Files
C. Azure Queues
■■ D. Log Analytics Workspace
Explanation
The answer is D, you should use Log Analytics Workspace as a diagnostic settings destination. As seen in the
Monitor AVD by using Azure Monitor topic, you use Log Analytics Workspace. To start using Azure Monitor
for Azure Virtual Desktop, you'll need at least one Log Analytics workspace. Use a designated Log Analytics
workspace for your Azure Virtual Desktop session hosts to ensure that performance counters and events are
only collected form session hosts in your Azure Virtual Desktop deployment.
253
Multiple choice
You have and AVD deployment. Using Azure Advisor, you are given the following recommendation
related to AVD. Impact: Medium Description: No validation environment enabled Benefits: Ensure busi-
ness continuity through AVD service deployments Impacted resources: HOST-West-Pool2 What are the
benefit of following the recommendation?
A. You can validate allowed locations
■■ B. You can validate preview features for Azure Virtual Desktop
C. You can validate audited VMs that do not use managed disks
D. You can validate log analytics file storage access
Explanation
The answer is B, you can validate preview features for Azure Virtual Desktop. As seen in the How to resolve
Azure Advisor recommendations topic, the message says: You don't have a validation environment enabled
in this subscription. When you made your host pools, you selected No for "Validation environment" in the
Properties tab. To ensure business continuity through Azure Virtual Desktop service deployments, make sure
you have at least one host pool with a validation environment where you can test for potential issues. You
can make this warning message go away by enabling a validation environment in one of your host pools.
Multiple choice
You have and AVD host pool named NewPool1. The pool contains Session Hosts that runs Win 10 Ent
multi-session. You need to use Performance Monitor to troubleshoot a low frame quality issue that is
affecting a user in NewPool1. What should you run to retrieve the user ID?
A. Remove-AzWvdApplication
B. Disconnect-AzWvdUserSession
C. Get-AzWvdWorkspace
■■ D. qwinsta
Explanation
The answer is D, you should run qwinsta. As seen in the topic Diagnose graphics performance issues, you
can run the qwinsta command and find your session name if your session is hosted in a multi-session
virtual machine (VM), or your session is hosted in a VM that supports virtual Graphics Processing Units
(vGPU). See: https://docs.microsoft.com/windows-server/administration/windows-commands/qwinsta
254
Multiple choice
You manage and AVD host pool. The pool contains Session Hosts that run Win 10 Ent multi-session. You
connect to a RD session on hostpool5 and find an issue with the frequency of screen updates. You need
to identify whether the issue relates to insufficient server, network, or client resources. The solution
should minimize the time it takes to identify the resource type. What should you do?
■■ A. In the current session, use Performance Monitor to display the values of all the RemoteFX Graph-
ics()\frames skipped/second counters
B. From within the RegEdit, navigate to Computer\HKEY_LOCAL_MACHINE\software\FSLogix and
create a key named Profiles for path to VHDLocations
C. From Azure Cloud Shell, run the Update-AzWvdDesktopcmdlet and specify the InputObject
parameter
D. From Azure Cloud Shell, run the Remove-AzWvdApplicationGroup cmdlet and specify the -Default-
Profile parameter
Explanation
The answer is A, while in the current session, use Performance Monitor to display the values of all the
RemoteFX Graphics()\frames skipped/second counters. As seen in the Diagnose graphics performance issues
topic, the Output Frames/Second counter measures the number of frames made available to the client. If
this value is less than the Input Frames/Second counter, frames are being skipped. There are three types of
Frames Skipped/Second counters: Frames Skipped/Second (Insufficient Server Resources) Frames Skipped/
Second (Insufficient Network Resources) Frames Skipped/Second (Insufficient Client Resources)
Multiple choice
You have an AVD deployment with the following host pools: WestPool5 Windows 10 Ent (personal) West
US Azure region WestPool7 Windows Server 2019 (pooled) West US Azure region You need to implement
a disaster recovery plan in the Central US region. What do you need to include in the plan?
■■ A. An Azure Site Recovery plan
B. Create a new host pool in the Central US Azure region
C. Enable Azure Backup in the Central US Azure region
D. Add another host pool in the West US Azure region
Explanation
The answer is A, an Azure Site Recovery plan As seen in the VM replication and Virtual networks, user
identities, and data topics, it is recommended you use Azure Site Recovery to manage replicating VMs in
other Azure locations (as described in Azure-to-Azure disaster recovery architecture). It is also recommend-
ed that you use Azure Site Recovery for personal host pools, because Azure Site Recovery supports both
server-based and client-based SKUs.