After hanging onto their 0.9x Windows PowerShell module version for what seemed like forever, the Microsoft Azure development team finally has released Azure PowerShell version 1.0. Let’s kick the tires and see what’s the same and what’s new!

Timothy Warner

Timothy Warner is a Microsoft Cloud and Datacenter Management Most Valuable Professional (MVP) who is based in Nashville, TN. Check out his Azure and Windows Server video training at Pluralsight, and feel free to reach out to Tim via Twitter.

Latest posts by Timothy Warner (see all)

Note that before you can follow the examples in this guide, you have to install Azure PowerShell 1.0.

Service Management vs. Resource Manager ^

In my time with Microsoft Azure thus far, I’ve used the Azure Management Portal (manage.windowsazure.com) and the Azure PowerShell module. These technologies rely upon the Azure Service Management application programming interfaces (APIs). Service Management has worked great for me—no complaints.

The “classic” Azure Management Portal

The “classic” Azure Management Portal.

Viewing the commands contained in the Azure Service Management module

Viewing the commands contained in the Azure Service Management module.

What’s confusing and frustrating is that now Microsoft steers us toward their new-ish Resource Manager service deployment system. The new Azure Portal (portal.microsoft.com) uses Resource Manager by default:

The new Azure Portal

The new Azure Portal.

What’s crazy is how many Resource Manager PowerShell modules there are. Check out the following screenshot:

The new Azure Resource Manager APIs make PowerShell a bit more cumbersome to use

The new Azure Resource Manager APIs make PowerShell a bit more cumbersome to use.

Azure command discovery ^

All the standard rules apply when investigating Azure PowerShell commands. Run the following statement to list all commands in the Service Management module:

As of this writing, I see 754 commands in the Service Management module. Wow! Now let’s view the available commands in the AzureRM* modules:

Piping Get-Command into Measure-Object tells me we have 787 total commands across all the Resource Manager modules.

By the way, installing Azure PowerShell v1.x via the WebPI gives you a customized PowerShell console named, appropriately enough, Microsoft Azure PowerShell. If you examine the properties for its shortcut icon, you see the following target:

If you really want to get geeky, open the ShortcutStartup.ps1 initialization script. All it does is pre-load the Azure PowerShell modules into the runspace and give a brief welcome message. Take a look here:

The Microsoft Azure PowerShell custom console is handy

The Microsoft Azure PowerShell custom console is handy.

I hear quite a bit of grousing among Windows PowerShell MVPs who complain that the Resource Manager APIs and PowerShell modules are incompletely (or simply not) documented, and that many features are missing or half-baked. For that reason, we’ll focus on the “legacy” Service Management commands from here on.

My favorite way to access command help is to add the –ShowWindow switch parameter to the Get-Help cmdlet. Doing so puts the full help file (assuming you’ve run Update-Help to populate your local help repository) in a separate window, making it easier to keep your PowerShell console and the help screen separate.

Let’s say we want to learn how to create a VM using the Azure Service Management PowerShell module. First, we’ll find the appropriate command:

Okay. It looks like we need New-AzureVM. Here’s how the command works:

The Microsoft Azure command documentation is…sparse

The Microsoft Azure command documentation is … sparse.

Ouch! Look at the previous figure again. The documentation for Azure PowerShell (both the Service Management and Resource Manager varieties) is woefully lacking.

Connecting to your Azure subscription ^

So we’ve installed the Azure PowerShell module(s) and experimented with command discovery and online help. However, we can’t do anything in the Azure public cloud unless and until we connect our local PowerShell session with our Azure subscription. Let’s take care of that quickly.

Boy, it’s so much easier to get connected with the 1.x Azure PowerShell release. No more downloading and ingesting management certificates! First, we run Add-AzureAccount and provide our Azure email address and account password. Then we can use Get-AzureSubscription to see the associated Azure subscription(s).

It’s never been easier to connect PowerShell to your Azure subscription

It’s never been easier to connect PowerShell to your Azure subscription.

I have more than one Azure subscription, so I need to run the following command to set my default one:

Deploying a new Azure asset ^

Let’s finish up by using Azure Service Management to deploy a quick website. Doing so is delightfully easy:

We need the hostname, of course, so we’ll invoke Get-AzureWebsite:

And if we point our Web browser to that hostname, we see the default home page:

A single line of PowerShell published this Web site to the Azure cloud

A single line of PowerShell published this website to the Azure cloud.

As the following screenshot shows, we can manage our new Azure website through the Portal Web interface as well. I highlighted the FTP/FTPS hostnames because the first thing that most website admins want to do is get in there and manipulate the site’s content files.

Our PowerShell-created Azure website as seen from the Portal experience

Our PowerShell-created Azure website as seen from the Portal experience.

Join the 4sysops PowerShell group!

0
Share
0 Comments

Leave a reply

Your email address will not be published. Required fields are marked *

*

© 4sysops 2006 - 2019

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account