AVD Life Cycle Management Remove Published Remote Apps with PowerShell

AVD life cycle management is essential for many IT Pros and decision-makers. In this post, we will be able to see how to remove published remote apps with PowerShell.

Related PostLearn How to Publish AVD Remote Apps with PowerShell

Introduction

n a real-world scenario, you might need to remove the existing remote apps and add new remote apps. There are many things you need to take while running the PowerShell commands.

NOTE! – Try these PowerShell commands in your non-production environments before trying these commands in the production AVD environment.

Patch My PC

Prerequisite – Remove AVD Remote Apps

Ensure that you have gone through all the prerequisites before removing remote apps from the RDS environment. I assume you have an AVD tenant and have already published remote apps to users.

NOTE! – Windows Virtual Desktop (AVD) has the restriction that within a host pool, a user cannot be assigned to both a desktop app group and a RemoteApp app group.

Install Azure AD, RD PowerShell Module

##Install & Import AzureAD Module
Install-Module -Name AzureAD
Import-Module -Name AzureAD
##Install & Import RD - AVD Module
Install-Module -Name Microsoft.RDInfra.RDPowerShell
Import-Module -Name Microsoft.RDInfra.RDPowerShell 

Login to RD Account – Authenticate with Azure AD

## Login with Azure AD Account user name and password  
Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.com

#Login to RDS account with Service Principle
$aadContext = Connect-AzureAD
$svcPrincipal = New-AzureADApplication -AvailableToOtherTenants $true -DisplayName "Windows Virtual Desktop Svc Principal"
$svcPrincipalCreds = New-AzureADApplicationPasswordCredential -ObjectId $svcPrincipal.ObjectId
$creds = New-Object System.Management.Automation.PSCredential($svcPrincipal.AppId, (ConvertTo-SecureString $svcPrincipalCreds.Value -AsPlainText -Force))

Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com" -Credential $creds -ServicePrincipal -AadTenantId $aadContext.TenantId.Guid
 Login to RDS using SPN - AVD Remove Published Remote Apps
Login to RDS using SPN- AVD. Remove Published Remote Apps.

Set Variables – AVD Remote Apps

#Set the Variable
$hostpoolname ='WVD-A-MS-Apps'#$hostpoolname ='AVD-A-MS-Apps'
$UserPrincipalName='[email protected]'
$NameofappGroup1='LOB Apps'
$NameofappGroup2='officeApps' 

Identify Remote Apps Published to RemoteApp Group

Following PowerShell commands helps you confirm the associated small app groups and host pool before removing the published remote apps.

  • RDS App Group Details (Desktop App and Remote App Groups for the RDS Session Host)
  • List of the apps associated with an RDS Remote App Group
  • List of the users related to RDS Remote App Group

NOTE – You might not have access to run this query if you are login to RDS using SPN. Instead, you might need to have appropriate access to Azure AD to list the users in the Azure AD Group.

Adaptiva
#Get the details of AVD Remote App Groups
Get-RdsAppGroup -TenantName $tenant -HostPoolName $hostpoolname

 ##List of Remote App Group
Get-RdsAppGroup -TenantName $tenant -HostPoolName $hostpoolname -AppGroupName $NameofappGroup2

##List of Users associated to Remote App Group
Get-RdsAppGroupUser -TenantName $tenant -HostPoolName $hostpoolname -AppGroupName $NameofappGroup2 
WVD Remove Published Remote Apps
Find out the Groups – AVD Remove Published Remote Apps

AVD Remove Published Remote Apps

The following are the activities you might need to perform before removing published remote apps.

Remove User from Remote Apps Group

NOTE! – The AVD remote app groups should be empty before you can remove them.

##Remove the Users from Remote Apps Groups
Remove-RdsAppGroupUser -TenantName  $tenant -HostPoolName $hostpoolname -AppGroupName $NameofappGroup2 -UserPrincipalName $UserPrincipalName
Remove Users from Remote Apps Group - WVD Remove Published Remote Apps
Remove Users from Remote Apps Group – AVD Remove Published Remote Apps

Are no Users Part of Remote Apps Groups?

##Make Sure NO Users are part of Remote App Groups
Get-RdsAppGroupUser -TenantName $tenant -hostpoolname $hostpoolname -appgroupname $NameofappGroup2

List of Published Remote Apps Associated with Remote App Group

Find the list of published remote apps associated with the remote app group.

NOTE! – We need to remove all the published remote apps before removing the remote app group.

##Get the list of Published AVD Remote Apps
Get-RdsRemoteApp -TenantName $tenant -hostpoolname $hostpoolname -appgroupname $NameofappGroup2

Remove Published AVD Remote App

The following PowerShell command will help you remove the published remote apps associated with an RDS small group.

##Remove Remote App Version
Remove-RdsRemoteApp -TenantName $tenant -hostpoolname $hostpoolname -appgroupname $NameofappGroup2 -Name 'My Apps Web Portal Edge'

Remove-RdsRemoteApp -TenantName $tenant -hostpoolname $hostpoolname -appgroupname $NameofappGroup2 -Name 'Task Manager'
RDS Remote Removal - WVD Remove Published Remote Apps
RDS Remote Removal – AVD Remove Published Remote Apps

Remove Remote App Group

The following command will help us to remove the RDS remote app groups.

NOTE! – This removal or deletion is possible only when there are no published apps that are not associated with that group.

## RD App Removal PowerShell Command
Remove-RdsAppGroup -TenantName $tenant -hostpoolname $hostpoolname -appgroupname $NameofappGroup2
WVD Remove Published Remote Apps
AVD Remove Published Remote Apps

Resources

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.