it´s Patrick again after a few weeks of absence, which I´ve used to develop my autoscaling script and bring it to the next level! Based on your feedback I´ve developed the script based on the official Microsoft documentation, where all implementation steps are mentioned particular and extended it with your feedback to produce a real community tool! The script is all free and can be extended and modified! For this reason it is only available as COMMUNITY EDITION for both personal and commercial usage!
MD5 Checksum: A0E9F04F2F7C33F00C3505170A36412F
Feature Video and usage demonstration
One of the most requested features was, to create a GUI for those of you, or your customers, which aren´t used to PowerShell that much! Additionally, I´ve improved the deployment speed for the enrollment to under 15 minutes including administrator interaction! Please find the feature list here:
FEATURE LIST version 0.2
- Graphical User Interface (Modern Windows UI)
- Secure connection to Azure (including MFA capabilities for your secure enrolment)
- Provides all the steps mentioned in the official Microsoft documentation in just one single tool
- Less than 2 minutes of user/admin interaction
- Automated creation of the Automation Account
- Automated creation of the required Run-As Account
- Automated creation of the Logic App with all parameters
- WebHook URI will be detected automatically
- Your configuration will be saved in a file, if you need to quickly perform an update to your scaling, you don´t need to update the LogicApp from the Azure Portal / CLI
- Always up-to-date, when Microsoft updates the script
- Portable script / tool
1. Download the tool
First of all, you need to download the tool, it´s availble directly from my blog, or on GitHub:
The link will be delivered as ZIP file, which contains the following files/folders:
- Bin (Files including the templated/used graphics)
- WVDLogixAutoScaleTool.ps1 (Script, which also opens the GUI)
The only prerequisites the tool requires are the Azure modules for PowerShell. Simple download them here, if you don´t have them:
Install-Module -Name Az -AllowClobber -Scope AllUsers
3. Start the tool
Simply download the tool to your PC, start a Powershell as Administrator (ATTENTION! Mandatory to download and run the script!)
The script will automatically check the prerequisites and guides you to the Azure logon. MFA enabled is supported to run the script securely. Simply type in your Administrator credentials (Global Administrator preferred because you need to assign permissions to the Run-As Account).
2. Next, the tool asks you to provide a folder. This is nessecary to download the required scripts from Microsofts GitHub repository and to provide you immediately with the latest version of those scripts. You can even create a new folder in the upcoming context.
3. The tool will then try to find the configuration file inside of the folder. If there is no available, it will create a new configuration. Please refer to the folder again next time, if you want to update your LogicApp.
4. Now the GUI will show up and presents you all required information in one view:
- Logged on user
- Subscription ID
- Azure AD Tenant ID
5. Click on “Start the wizard >>>” to start the configuration in your tenant. You don´t need to do anything more than just selecting the required information.
- Automation Account Name
- The Resource Group for the deployment
- The deployment location
6. The script has now created a configuration file and will start a new instance of PowerShell to configure the Automation Account – DO NOT CLOSE THIS WINDOW. The GUI will show the current process in realtime. In the meantime, the Run-As Account and a log file will be created. The process takes approx. 10-13 minutes to complete (depending on Azure).
You can now see your inserted values in the “Your Configuration” field.
7. After approx. 10-13 minutes the PowerShell window will close automatically and a new button is visible from within the tool. Click on “Configure / Change Scheduler” to configure the LogicApp in just a few steps (ATTENTION! WAIT UNTIL THE POWERSHELL WINDOW IS REALLY CLOSED). Here you can define the following values:
- VM Tag, to exclude VMs from scaling
- The HostPool to be scaled
- How often the scheduler should check (value in minutes)
- BEGIN and END of peak time
- Your Time Zone, e.g. CET (including “+”) +2:00
- Number of Session Hosts that must be available
- LogOff Threshold in seconds
- Title and Message Body
- RunAs Account
8. Congratulations! You´ve successfully created your Automation! If you need to modify your configuration, just start the tool again and select the folder you´ve created in step 1!