There are many tasks an Azure administrator or engineer performs over and over again. Many of these tasks are executed using Azure PowerShell cmdlets issued at a command prompt. These may include something as simple as creating an Azure VM, starting or stopping that machine, adding or changing configuration settings, managing the registry, moving VMs among servers, and more.
This is Not New
Long before there was Windows, there was the command prompt which gave users direct access to the Disk Operating System (DOS) of their computers. Literally every computer user had to issue commands at the command prompt to get anything done. Run a program, copy files, delete files, see the contents of a directory.
One of the available commands at the DOS prompt was “Autoexec” which had a unique property. If it was present on a disk at the time the computer was booted up, DOS would automatically run the contents of the Autoexec file which, themselves, were all valid DOS commands. This was used to set parameters needed for the main program on the disk to run, and then run the program. Autoexec was the forerunner of today’s scripting.
Scripting is the Real Power of PowerShell
Think about the Virtual Machine Manager (VMM). With it, you can configure and manage all Azure components, servers, networking, and storage, as a single fabric. You can add and remove components across your entire environment. Discover, classify, provision, allocate, and assign storage.
To fully appreciate the capabilities of PowerShell scripting, consider the fact that all of VMM is built on it. Everything you can do in VMM you can do in PowerShell as a stand-alone command, or as part of a script. With the ability to store and retrieve variables, make changes directly to file contents, instantiate and move VMs as needed, and much more, consider VMM to be the GUI interface for underlying PowerShell cmdlets.
PowerShell Scripts Become Your Tools
Many say that PowerShell scripting is much easier to learn than people expect. In the field, there are some very specific ways in which PowerShell scripts are put to use that quickly become invaluable.
When creating a VM, for example, there are several steps required to provision the VM, establish its environment, specify storage, memory, and other requirements. You’ve probably done this so many times you can now do it in your sleep.
But stay awake and put all those cmdlets into a script. Now you can create all the VMs anyone needs by issuing a single command to run the script. If you’re like most technologists, you are right now thinking of all the things you do repetitively that would be perfect to create a script for! As you start to build these, realize that you are creating a powerful toolkit for yourself that you can use over and over again, making these tasks much quicker and easier to perform.
The Heavy Lifting
Let’s now take this further. Think about your routines. The things you do every day with Azure. Maintenance routines. Reporting. Performance checking. Clean up.
PowerShell scripts can be scheduled to fire off at a specified time or when specific conditions are met. You may have scripts for all these daily routines, or to keep a careful eye on specific capacities to make necessary adjustments when needed. What do we call that?
Automation
The real heavy lifting power of PowerShell scripting is that it gives you the ability to automate much of your Azure environment. Beyond scripting repetitive tasks, you can automate entire routines. All of them. Simply by writing and scheduling scripts. Imagine the possibilities.
Your Tool Case
As you build your Azure PowerShell script-based tools, you’ll need a tool case to keep them in. You’ll quickly find that you’ve built so many that you really need to keep them carefully organized. Especially for those who support multiple Azure users, you will always want to have all your scripts close at hand and easily retrievable for quick use.
This is one of the reason’s BitTitan created MSPComplete. One of the most powerful features for Azure support specialists is the ability to create automated tasks with PowerShell scripts, and configure them to run in one click or automatically.
MSPComplete also lets you centralize script storage in line with delivery documentation, run those scripts in the cloud directly through the platform, and receive notifications when scripts finish running or fail.
Important Opportunity for the Azure MSP
For those who are in the business of managing Azure environments for their customers, MSPComplete helps create, store, and execute PowerShell scripts to assist with the management of these environments while simultaneously increasing profitability.
Create Custom Service Offerings
As you write scripts, realize that you are creating your own intellectual property (IP). These scripts are the product of your training, your experience, and your expertise and therefore have great value. They are also unique to you, creating a powerful competitive differentiator. As you develop a script to help one customer, start thinking about other customers who would benefit from the same script. Then go sell it to them. Build once, sell repeatedly.
As you begin to build these new service offerings make sure you are properly protecting your intellectual property. Consult your attorney for more guidance on that.