[CmdletBinding()] param( [PSCredential] $Credential, [Parameter(Mandatory=$False, HelpMessage='Tenant ID (This is a GUID which represents the "Directory ID" of the AzureAD tenant into which you want to create the apps')] [string] $tenantId, [Parameter(Mandatory=$False, HelpMessage='Azure environment to use while running the script (it defaults to AzureCloud)')] [string] $azureEnvironmentName ) #Requires -Modules AzureAD -RunAsAdministrator if ($null -eq (Get-Module -ListAvailable -Name "AzureAD")) { Install-Module "AzureAD" -Scope CurrentUser } Import-Module AzureAD $ErrorActionPreference = "Stop" Function Cleanup { if (!$azureEnvironmentName) { $azureEnvironmentName = "AzureCloud" } <# .Description This function removes the Azure AD applications for the sample. These applications were created by the Configure.ps1 script #> # $tenantId is the Active Directory Tenant. This is a GUID which represents the "Directory ID" of the AzureAD tenant # into which you want to create the apps. Look it up in the Azure portal in the "Properties" of the Azure AD. # Login to Azure PowerShell (interactive if credentials are not already provided: # you'll need to sign-in with creds enabling your to create apps in the tenant) if (!$Credential -and $TenantId) { $creds = Connect-AzureAD -TenantId $tenantId -AzureEnvironmentName $azureEnvironmentName } else { if (!$TenantId) { $creds = Connect-AzureAD -Credential $Credential -AzureEnvironmentName $azureEnvironmentName } else { $creds = Connect-AzureAD -TenantId $tenantId -Credential $Credential -AzureEnvironmentName $azureEnvironmentName } } if (!$tenantId) { $tenantId = $creds.Tenant.Id } $tenant = Get-AzureADTenantDetail $tenantName = ($tenant.VerifiedDomains | Where-Object { $_._Default -eq $True }).Name # Removes the applications Write-Host "Cleaning-up applications from tenant '$tenantName'" Write-Host "Removing 'webApp' (ms-identity-node) if needed" Get-AzureADApplication -Filter "DisplayName eq 'ms-identity-node'" | ForEach-Object {Remove-AzureADApplication -ObjectId $_.ObjectId } $apps = Get-AzureADApplication -Filter "DisplayName eq 'ms-identity-node'" if ($apps) { Remove-AzureADApplication -ObjectId $apps.ObjectId } foreach ($app in $apps) { Remove-AzureADApplication -ObjectId $app.ObjectId Write-Host "Removed ms-identity-node.." } # also remove service principals of this app Get-AzureADServicePrincipal -filter "DisplayName eq 'ms-identity-node'" | ForEach-Object {Remove-AzureADServicePrincipal -ObjectId $_.Id -Confirm:$false} } Cleanup -Credential $Credential -tenantId $TenantId