How to Restore Deleted Azure App Service Using PowerShell

In this post, I will briefly take you through how to Restore Deleted Azure App Service Using PowerShell. Before I proceed, let’s talk about Azure App service in detail. Azure App Service is a managed platform created by Microsoft for hosting web applications, mobile backends, and RESTful APIs. You can easily deploy WordPress on Azure App Service. You also use Azure CLI to create App Service and deploy your Angular App to Azure from Visual Studio Code with ease using App Service.
It falls under the category of Platform as a Service (PaaS) which means you get to focus on developing your application while Microsoft takes care of the underlying infrastructure like servers, operating systems, and networking.
App Service offers you the platform to host your apps in multiple languages and frameworks. You can develop your web applications or APIs using various programming languages like .NET, .NET Core, Java, Python, PHP, Ruby, or Node.js and bring it to run on App Service.
The important things to note are: Firstly, deleted apps are purged from the system 30 days after the initial deletion. After an app is purged, it can't be recovered.
Secondly, you cannot restore function apps hosted on the Consumption plan or Elastic Premium plan.
Thirdly, App Service apps running in an App Service Environment don't support snapshots. Therefore, undelete functionality and clone functionality are nott supported for App Service apps running in an App Service Environment.
See also how to create an App Service Plan with Continuous Deployment to deploy a .NET Application from GitHub.
Prerequisites
To follow along in this post, you must have the following:
- Azure Subscription with the contributor access to create and manage an App Service
- App Service Plan
- Deleted App Service
- PowerShell running on your Windows Machine.
Restoring Deleted App Service Using PowerShell
If you have met the above-mentioned prerequisites, let’s proceed to carry out the demonstration.
To start with, let me inspect the existing app service that I have currently running in my environment. The name is to tobedeleted001 deployed into the resource group called TobeDeleted-RG in the East US location.

It is important to remember the current name of the App Service, Resource Group Name and Location. These information are required to restore deleted App Service.
I will proceed to delete this App Service and then take us through the process of restoring it using PowerShell.

To restore App Service follow the steps below:
Step 1: Launch the PowerShell on your computer
In the PowerShell screen, run below commands:
$Connect-AZAccount - To authenticate to Your Azure Account
$Set-AzureSubscription -SubscriptionId 'XXXX-XXXXX-XXXXXXX-XXXX' - To select your preferred subscription if you have more than one Azure Subscriptions.

Step 2 – Discover deleted App Service
To get started with restoring a deleted App Service, you need to run the command below to discover some details about your deleted App Service. Such details include:
Get-AzDeletedWebApp -Name <your_deleted_app> -Location <your_deleted_app_location>

The above screenshot gives you detailed information includes:
Id: Showing the Subscription and the resource provider
DeletedSiteId: Unique identifier for the app, used for scenarios where multiple apps with the same name have been deleted
SubscriptionID: Subscription containing the deleted resource
Location: Location of the original app
ResourceGroupName: Name of the original resource group
Name: Name of the original app.
Slot: the name of the slot. In this case, Production.
Deletion Time: The date and time when the app was deleted
Step 3: Restore deleted app
To restore deleted App Service, run the below command:
Restore-AzDeletedWebApp -TargetResourceGroupName -Name -TargetAppServicePlanName

As shown in the above screenshot, when prompted for confirmation, type Y and press Enter to proceed.

I hope you found this guide on how to restore deleted Azure App Service using PowerShell very useful. Please feel free to leave a comment below.