---
title: "PowerShell Universal Dashboard: Your Azure Guide"
description: "Host your own dashboard or website in Azure using PowerShell Universal Dashboard. No previous web dev experience needed."
canonical: "https://adamtheautomator.com/powershell-universal-dashboard/"
---

# PowerShell Universal Dashboard: Your Azure Guide

> Host your own dashboard or website in Azure using PowerShell Universal Dashboard. No previous web dev experience needed.

Source: https://adamtheautomator.com/powershell-universal-dashboard/

---

ATA Learning

Tap to hide

[

ATA Learning

](/)

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Search for:  

*   [](https://twitter.com/adbertram)
*   [](https://github.com/Adam-the-Automator)
*   [](https://www.linkedin.com/company/adam-the-automator-llc)
*   [](/feed/)

![PowerShell Universal Dashboard: Your Azure Guide](https://adamtheautomator.com/wp-content/uploads/2019/06/5d238ae5c824b514689ea555.jpg)

# PowerShell Universal Dashboard: Your Azure Guide

[![](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)Adam Bertram](https://adamtheautomator.com/author/adam-bertram/)25 June 20192 min. read

Categories: [Cloud](/category/cloud/)

Tags:[Microsoft Azure](/tag/microsoft-azure/)[PowerShell](/tag/powershell/)

If you know how to write PowerShell and need to build a graphical dashboard representing just about any data, check out [PowerShell Universal Dashboard (UD)](https://universaldashboard.io/). UD is an intuitive way to build great-looking dashboards and even forms using just PowerShell. Luckily, Universal Powershell Dashboard works in Azure!

Universal Powershell Dashboard is a PowerShell module available to be installed by running `Install-Module -Name UniversalDashboard.Community`. The community module is free but I encourage you to purchase the [full version](https://ironmansoftware.com/powershell-universal/).

I’m not going to go into the ins and outs of UD, Adam Driscoll (UD’s developer) has written [extensive documentation](https://docs.universaldashboard.io/) already on the topic.

UD needs a web server to run. You can choose to run UD [on IIS](https://docs.powershelluniversal.com/config/hosting/hosting-iis) or in an Azure Web App. I hate messing with on-prem infrastructure so I always choose to deploy resources into the cloud whenever I can. Since UD natively supports running in an Azure Web App, it’s the perfect cloud candidate.

I found that even though UD has docs for setting it up in Azure, I still was struggling with an easy way to get it going. I managed to come up with a rough PowerShell script to setup the latest instance for you all in one swoop.

It can use some work but I just needed this for an upcoming [Pluralsight](https://www.pluralsight.com/?clickid=XTBzyF3s5xyJTNh0MvSyQWlBUklRpyUBWUzmWE0&irgwc=1&mpid=1454808&utm_source=impactradius&utm_medium=digital_affiliate&utm_campaign=1454808&aid=7010a000001xAKZAA2) course I was working on. Feel free to improve upon it as you need. Hopefully, comments inside will explain everything well enough.

```powershell
param(
	[Parameter(Mandatory)]
	[ValidateNotNullOrEmpty()]
	[string]$WebAppName,
	
	[Parameter(Mandatory)]
	[ValidateNotNullOrEmpty()]
	[string]$AzureLocation,

	[Parameter(Mandatory)]
	[ValidateNotNullOrEmpty()]
	[string]$AzureResourceGroup
)

#region Create the Azure web app
$appSrvPlan = New-AzAppServicePlan -Name "$WebAppName-AppSrv" -Location $AzureLocation -ResourceGroupName $AzureResourceGroup -Tier Free
$null = New-AzWebApp -Name $WebAppName -AppServicePlan $appSrvPlan.Name -ResourceGroupName $AzureResourceGroup -Location $AzureLocation
#endregion

#region Download UD
Save-Module UniversalDashboard.Community -Path $env:TEMP -AcceptLicense
$udModulePath = (Get-ChildItem -Path "$env:TEMP\UniversalDashboard.Community" -Directory).FullName
#endregion

# Get publishing profile for the web app
$pubProfile = Get-AzWebAppPublishingProfile -Name $Webappname -ResourceGroupName $AzureResourceGroup
$ftpPubProfile = ([xml]$pubProfile).publishData.publishProfile | Where-Object { $_.publishMethod -eq 'FTP' }

## Build the cred to authenticate
$password = ConvertTo-SecureString $ftpPubProfile.userPWD -AsPlainText -Force
$azureCred = New-Object System.Management.Automation.PSCredential ($ftpPubProfile.userName, $password)

try {
	$webclient = New-Object -TypeName System.Net.WebClient
	$webclient.Credentials = $azureCred

	#region Create all folders
	Get-ChildItem -Path $udModulePath -Directory -Recurse | foreach {
		$path = $_.FullName.Replace("$udModulePath\", '').Replace('\', '/')
		$uri = "$($ftpPubProfile.publishUrl)/$path"
		$makeDirectory = [System.Net.WebRequest]::Create($uri)
		$makeDirectory.Credentials = $azureCred
		$makeDirectory.Method = [System.Net.WebRequestMethods+FTP]::MakeDirectory
		Write-Host "Creating folder [$path]..."
		$null = $makeDirectory.GetResponse()
	}
	#endregion

	## Create a simple dashboard to bring the site up
	Set-Content -Path "$udModulePath\dashboard.ps1" -Value 'Start-UDDashboard -Wait'

	#region Upload all of the files
	Get-ChildItem -Path $udModulePath -File -Recurse | foreach {
		$path = $_.FullName.Replace("$udModulePath\", '').Replace('\', '/').Replace('.\', '')
		$uri = New-Object System.Uri("$($ftpPubProfile.publishUrl)/$path")
		Write-Host "Uploading file [$path]..."
		$null = $webclient.UploadFile($uri, $_.FullName)
	}
	#endregion
} catch {
	$PSCmdlet.ThrowTerminatingError($_)
} finally {
	## Cleanup
	$webclient.Dispose()
}
```

I called the script _New-UDAzureInstance.ps1_ and launch it like:

```powershell
PS> ./New-UDAzureInstance.ps1 -WebAppName ADBPoshUD -AzureResourceGroup 'Course-PowerShellDevOpsPlaybook' -AzureLocation 'East US'
```

Once you’ve got UD set up in Azure, you will then modify the _dashboard.ps1_ file to build any kind of dashboard you need.

Browse to the URL of your Azure Web App and bask in the glory of a freshly installed Universal Powershell Dashboard instance.

![PowerShell Universal Dashboard in Azure](https://adamtheautomator.com/content/images/2019/07/universal-dashboard-azure---image-12.png)

PowerShell Universal Dashboard in Azure

I hope this saves some people some time setting up Universal Powershell Dashboard in Azure!

Share this article

[Share on X](https://twitter.com/intent/tweet?url=https%3A%2F%2Fadamtheautomator.com%2Fpowershell-universal-dashboard%2F&text=PowerShell%20Universal%20Dashboard%3A%20Your%20Azure%20Guide)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fadamtheautomator.com%2Fpowershell-universal-dashboard%2F)[Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fadamtheautomator.com%2Fpowershell-universal-dashboard%2F)

## Related Posts

![](https://adamtheautomator.com/wp-content/uploads/2019/08/microsoft-graph.png)

### [Mastering PowerShell Graph API: Easy-to-Follow Insights](/powershell-graph-api/)

Master the PowerShell Graph API with our concise guide. Learn to access, read, and manage data effortlessly, enhancing your API skills quickly and efficiently.

![](https://adamtheautomator.com/wp-content/uploads/2020/02/braydon-anderson-wOHH-NUTvVc-unsplash-scaled.jpg)

### [Deploy Azure DSC Configurations with ARM Templates](/azure-dsc-2/)

Master the deployment of Azure DSC configurations to Azure VMs using ARM templates. Boost your cloud management skills and IT expertise.

![](https://adamtheautomator.com/wp-content/uploads/2019/12/network-2402637_1280.jpg)

### [Optimize Azure Scale Sets Management with PowerShell](/azure-powershell-scale-set/)

Master Azure Scale Sets management using PowerShell. Learn to create, configure, and automate VM scale sets for improved cloud infrastructure.

## Categories

*   [IT Ops](/category/it-ops/)
*   [Cloud](/category/cloud/)
*   [DevOps](/category/devops/)
*   [Home Ops](/category/home-ops/)
*   [Information Security](/category/infosec/)
*   [Software Development](/category/software-development/)

## Site

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Copyright 2026© ATA Learning | [Privacy Policy](/privacy/)
