- [1.0.17]
- Code improvements
- Adding Code for Session Host Configuration (Preview)
- [1.0.16]
- Adding more scopes when connecting to Graph via Connect-MgGraph
- Enabling PKU2U when the IDP is EntraID
- Update on New-AzureComputeGallery
- Bug fixes
- [1.0.15]
- Switching from Standard_D2s_v6 to Standard_D2s_v5 for the AVD Session Hosts (because v6 is not available in every Azure region)
- Enabling Azure Private Link with Azure Virtual Desktop
- Pester Tests are now optional (via -Pester switch on some functions)
- RBAC role management improvement
- Bug fixes
- [1.0.14]
- Configuring the session lock behavior for Azure Virtual Desktop
- OneDrive management for redirection of the known folders (Desktop, Documents, Pictures)
- [1.0.13]
- Enabling SSO
- Switching from Standard_D2s_v4 to Standard_D2s_v6 for the AVD Session Hosts
- Adding the more scopes for Graph
- Updating the '[AVD] Require multifactor authentication for all users' Conditional Access Policy
- Adding a Toast notification when a user logs in to have information about the FSLogix Profile space used.
- Adding some code to start VMs in case of eviction due to Spot Instance VM settings.
- Adding a workbook instance from the https://blog.itprocloud.de/AVD-Azure-Virtual-Desktop-Error-Drill-Down-Workbook/ Azure Workbook Template for every Hostpool.
- The[AMBA] (http://aka.ms/amba) alerts are now enabled by default
- Updating Pester Tests
- [1.0.12]
- Updating OS from Windows 11 23H2 to Windows 11 24H2 for the AVD Session Hosts
- [1.0.11]
- Renaming the Get-PsAvdMSIXProfileShare function to Get-PsAvdAppAttachProfileShare
- 1.0.10
- Modifications for Storage Account names and file share names for MSIX MSIX AppAttach and Azure AppAttach
- 1.0.9
- Removing dedicated RDP ShortPath functions (enabled by default)
- 1.0.8
- RBAC for managing Key Vaults
- VM Security Type set to TrustedLaunch
- 1.0.7
- Minor update
- 1.0.6
- Fixing bug for the Security eventlog (for collecting failures)
- 1.0.5
- Published by mistake
- 1.0.4
- Adding AVD dedicated Virtual network support
- Bug fixes
- 1.0.3
- Adding functions for credential management
- Bug fixes
- 1.0.2
- Code cleanup and optimizations
- 1.0.1
- Minor update
- 1.0.0
- First stable release
A full list of changes in each version can be found in the change log.
A list of potential changes or evolutions can be found in the What's next log.
This GitHub repository is the home of the PowerShell module PSAzureVirtualDesktop. This module is a collection of PowerShell classes and functions that can be used to quickly deploy Azure Virtual Desktop (AVD) Proof-Of-Concepts. FSLogix, MSIX, AppAttach (With AD only for the moment in this project), Intune, ADDS or Entra joined VMs, Scaling Plan, Hibernation, OS Ephemeral Disks are some of the supported options available.
Important
The module is designed to be used in a lab environment and is not intended for production use. The module is provided as-is and is not supported by Microsoft. For a Microsoft-supported version deployment, I suggest using the Azure Virtual Desktop (AVD) Landing Zone Accelerator (LZA), which is available here. Please note that this only covers the Azure component where the module PSAzureVirtualDesktop encompasses both OnPrem and Azure configurations.
The following Powershell modules will be installed as part of the installation of the PSAzureVirtualDesktop module:
- Az.Accounts
- Az.ApplicationInsights
- Az.Compute
- Az.DesktopVirtualization
- Az.ImageBuilder
- Az.ManagedServiceIdentity
- Az.KeyVault
- Az.Monitor
- Az.Network
- Az.OperationalInsights
- Az.PrivateDns
- Az.Resources
- Az.Storage
- Microsoft.Graph.Authentication
- Microsoft.Graph.Beta.Applications
- Microsoft.Graph.Beta.DeviceManagement
- Microsoft.Graph.Beta.DeviceManagement.Actions
- Microsoft.Graph.Beta.DeviceManagement.Administration
- Microsoft.Graph.Beta.Groups
- Microsoft.Graph.Beta.DirectoryManagement
- Microsoft.Graph.Beta.Identity.SignIns
- Microsoft.Graph.Beta.Users
- Microsoft.Graph.Beta.Users.Actions
- Pester
- ThreadJob
The following PowerShell modules are also required to be installed on the machine where the module is being used (cf. Domain Controller):
Before proceeding, ensure that a Domain Controller is present in your Azure Tenant. This requires a Windows Server with the Active Directory Directory Services role installed and configured. If this is not already set up, you can use the following links to quicky create these resources. The options are listed from least to most preferred:
- https://aka.ms/m365avdws
- https://github.com/lavanack/laurentvanacker.com/tree/master/Azure/Azure%20Virtual%20Desktop/AAD-Hybrid-Lab
- https://github.com/lavanack/laurentvanacker.com/tree/master/Azure/Azure%20Virtual%20Desktop/AAD-Hybrid-Lab%20-%20PowerShell (Only the New-AAD-Hybrid-Lab.ps1: Step-by-step guide is needed - the rest is optional)
For some configurations (Entra joined VMs/Session Hosts without FSLogix for instance), this Domain Controller is not really required, but we used the ActiveDirectory for managing the user accounts what will be used and synchronized with EntraID via Azure AD Connect.
To install from the PowerShell gallery using PowerShellGet (in PowerShell 5.0) run the following command from your Domain Controller:
Find-Module -Name PSAzureVirtualDesktop -Repository PSGallery | Install-ModuleTo confirm installation, run the below command:
Get-Module PSAzureVirtualDesktop -ListAvailableFor a full list of functions in PSAzureVirtualDesktop and examples on their use, check out the PSAzureVirtualDesktop wiki.