Category: Azure CLI

Azure CLIInfrastructure

Azure CLI 2.0: Quickly Start / Stop ALL VMs

You can easily Start and Stop Virtual Machines (VMs) through the Azure Portal. Previously, I’ve written about the importance of Stopping unused VMs to save money and place them in a “Stopped (Deallocated)” state. While it’s easy and simple to do through the Azure Portal, it’s also time consuming if you have multiple VMs; especially if you have a dozen or more VMs. The following Azure CLI 2.0 tip will show you how you can easily use the Azure CLI to Start and Stop multiple VMs with a single command!

Before we get into how to Start, Stop and Deallocate Virtual Machines (VMs) in batches, we must first cover the basics of Starting, Stopping and Deallocating VMs one at a time. After those commands are defined and demonstrated, then you’ll have the foundation necessary to extend on that to do the batching. Please be patient as you read through as you’ll need to step through this to fully understand the end result. And, you’ll be glad you did once you get there as this will really enable you to be immensely more productive in your management of Azure Virtual Machines when it comes to Starting, Stopping, and Deallocating them. Read More

Azure CLI

Azure CLI 2.0: Make Bash Output More Readable

It can be extremely useful to use the Azure CLI to manage / manipulate your Azure resources from the command-line. However, many of the commands will output a large amount of JSON that can be extremely difficult to read at the command-line. When using the Azure CLI within the Bash shell, you can use a couple techniques to make the JSON output much more readable, and using these techniques will really increase your productivity at the command-line.
Read More

Azure CLIInfrastructure

Azure CLI 2.0: Reset / Change Azure VM Password

It’s very easy to spin up a Virtual Machine (VM) in Microsoft Azure. You can do it through the Azure Portal or with scripting tools such as the Azure CLI, Azure PowerShell cmdlets, and even ARM Templates. When you provision the new VM you need to set an Administrator username and password for the VM. You will use these login credentials to connect to and manage the VM. However, there are time when you either need to 1) change the password periodically, or 2) reset the password if you may have forgotten what it was. Thankfully, Azure makes the task of changing the password for a VM extremely easy to do from the management of your Azure Subscription. It can be done easily enough through the UI of the Azure Portal, however there are times when scripting and automation are necessary to fit your workflow best. Below you’ll find the simple, easy to use command to change / reset the password for a VM running in Azure. Both Windows and Linux VMs work the same way!
Read More

Azure CLI

Install Azure CLI 2.0 on macOS

The Azure CLI is the cross-platform, command-line tool for managing and automating cloud resources in Microsoft Azure. The tool is supported across macOS, Linux, Windows, and more newly usable from within a web browser in the Azure Portal. While you can run it in the browser now, there are certainly benefit from being able to run the Azure CLI from your local machine. One of these benefits is to easily execute bash scripts locally to perform automation and other tasks. This article will guide you through the step-by-step process of installing the Azure CLI 2.0 on macOS. Read More

Azure CLIInfrastructure

Azure CLI 2.0: Generate SAS Token for Blob in Azure Storage

Azure Storage is a cloud service at the very center of Microsoft Azure. It provides the foundations for storing data in many services and systems within the Azure cloud platform. You can use Azure Blob Storage to store any binary data such as files, images, backups, .vhd’s, videos, and pretty much any other file. The Azure Blob Storage will secure all blobs / files by default where they can’t be access without a key. You can configure the service to allow anonymous access to blobs, however, there are many circumstances that you want to securely share a file with Azure Blob Storage.
Read More

Azure CLIInfrastructure

Azure CLI 2.0: Reset Azure SQL Database Password

The Azure SQL Database service allows you to set an Admin login and password when you provision a database server in the service. However, if you happen to forget the password for the Azure SQL Database server, it can be problematic. There is an option in the UI of the Azure Portal to reset this admin password. However, there may be times when you want to update the password from the command-line or in an automated fashion. Perhaps, you may want to automate the updating of the admin password for your Azure SQL Database servers periodically. Thankfully, there is a command in the Azure CLI 2.0 that does support updating or changing the password. Read More

Azure CLIInfrastructure

Azure CLI 2.0: Manage Resource Groups

All cloud resources created / provisioned in Microsoft Azure need to be associated with Resource Groups. This is one of the basic features of the Azure Resource Management model to cloud resource management, and it makes it far easier to manage groupings of resources that comprise full applications and workloads. The Azure Portal makes it extremely simple to create and delete Azure Resource Groups. This article takes a look at managing Azure Resource Groups form the cross-platform command-line using the Azure CLI 2.0. Read More

Azure CLIInfrastructureOpen Source

Azure CLI 1.0 vs 2.0 Compared, Installation and Usage

The Azure CLI is the cross-platform, command-line tool for managing resources in Microsoft Azure. Microsoft recently released the Azure CLI 2.0 and the commands start with “az” instead of “azure” like Azure CLI 1.0. This article runs through the main differences between Azure CLI 1.0 and Azure CLI 2.0 to help you understand how to use each one.

Installation and Platform

When the Azure CLI 1.0 was first released it was call the X-Plat CLI, and offered a new cross-platform command-line tool to use for Azure automation tasks. It offered an alternative to the Azure PowerShell cmdlets that gave a command-line tool for use on macOS and Linux, in addition to Windows. In the early days it was built on top of the Azure Service Management API’s, and has since been migrated over to support the newer Azure Resource Management API’s.

The new Azure CLI 2.0 was built with Azure Resource Management (ARM) from the start. It was also built with the lessons learned from 1.0 in mind to make 2.0 a better cross-platform, command-line tool. The development platform and language used to build the Azure CLI 2.0 was changed, and the commands essentially changed a bit in the process. It’s really not an “in-place” migration, and requires you to understand a little more than to just install the new version.

The Azure CLI 1.0 was written with Node.js to achieve cross-platform capabilities, and the new Azure CLI 2.0 is written in Python to offer better cross-platform capabilities. Both are Open Source and available on Github.

Azure CLI 2.0 is written in Python, Azure CLI was written in JavaScript. Both are Open Source!

Here’s the platform differences between the 2 version of the Azure CLI along with links where you can find the Open Source repository for each:

Azure CLI 1.0

Azure CLI 2.0

Azure CLI Installation

Since the Azure CLI is cross-platform it can be installed on Windows, macOS, and Linux. This is true for both the Azure CLI 1.0 and Azure CLI 2.0. Since the Azure CLI 1.0 is written with Node.js, it will require Node.js to be installed on your machine. While the Azure CLI 2.0 is written in Python, and requires Python.

Azure CLI 1.0 Installation

Here’s commands to install Azure CLI 1.0 at the command-line using Node.js:

sudo npm install -g azure-cli

Use a Docker Container to run the Azure CLI 1.0:

docker run -it microsoft/azure-cli

You can also use an installer with Windows and macOS to install the Azure CLI 1.0 more easily as well. You can find the installers for the Azure CLI 1.0 on the Github repository.

Azure CLI 2.0 Installation

Here’s commands to install Azure CLI 2.0 on different platforms. Keep in mind that it does require Python.

Windows Command-Line

You can download the .MSI installer for Azure CLI 2.0 to install the Windows command-line support for Azure CLI.

Bash on Windows 10

The Ubuntu Bash on Windows 10 can be used to run the Azure CLI 2.0 while utilizing it’s full support for Bash and on a Windows 10 machine at the same time.

  1. First step, if you don’t have Bash on Windows installed (Ubuntu Bash on Windows 10, or the newer (coming soon) support for SUSE and Fedora on Windows 10 too!) then install it!
  2. Using Bash, modify your sources list:
    echo "deb [arch=amd64] wheezy main" | \
    sudo tee /etc/apt/sources.list.d/azure-cli.list

Run the following sudo commands to install the Azure CLI 2.0:

sudo apt-key adv --keyserver --recv-keys 417A0893
sudo apt-get install apt-transport-https
sudo apt-get update && sudo apt-get install azure-cli

macOS and Linux
Here’s the installation command to install the Azure CLI 2.0 on macOS as well as Linux using Curl:

curl -L | bash

Additionally, you may need to restart your command-lim in order for some changes to take affect. You can do this with the following command:

exec -l $SHELL

Docker Container

You can also run the Azure CLI 2.0 in a Docker Container fairly easily. Here’s the “docker run” command to do this:

docker run azuresdk/azure-cli-python:<version>

apt-get on Linux

You can also use the following commands to install Azure CLI 2.0 on Linux using apt-get.

On 32-bit systems:

echo "deb wheezy main" | \
sudo tee /etc/apt/sources.list.d/azure-cli.list

On 64-bit systems:

echo "deb [arch=amd64] wheezy main" | \
sudo tee /etc/apt/sources.list.d/azure-cli.list

After you run the above 32-bit or 64-bit specific command, then you’ll need to run the following sudo commands as well:

sudo apt-key adv --keyserver --recv-keys 417A0893
sudo apt-get install apt-transport-https
sudo apt-get update && sudo apt-get install azure-cli

There is some further documentation for installing the Azure CLI 2.0 available in the Azure Documentation site.

Getting Started with Azure CLI Commands

Both the Azure CLI 1.0 and 2.0 have very similar commands. However, the command start differently. With the Azure CLI 1.0 commands start with “azure” and with the Azure CLI 2.0 command start with “az”.

Before you can go about running Azure CLI commands, you need to first login to your Azure Subscription. Here are commands to do this in both Azure CLI versions:

# Azure CLI 1.0

azure login

#Azure CLI 2.0

az login

To get a full list of the available commands and full help information you can run the following command:

# Azure CLI 1.0


# Azure CLI 2.0


Also, you can find the version of Azure CLI you have installed by using the following command:

# Azure CLI 1.0

azure --version

# Azure CLI 2.0

az --version

Azure CLI Command Examples

Here’s some example commands using both the Azure CLI 1.0 and Azure CLI 2.0. You can see that they aren’t really all that different outside of the trigger command of either “azure” or “az”.

Create New Azure Resource Group

# Azure CLI 1.0

azure group create --name MyGroup1 --location eastus

# Azure CLI 2.0

az group create --name MyGroup1 --location eastus

Create Azure App Service Plan

# Azure CLI 1.0

azure appserviceplan create --name MyPlan --resource-group MyGroup1 --location eastus --sku F1

# Azure CLI 2.0

az appservice plan create --name MyPlan --resource-group MyGroup1 --location eastus --sku F1

List All Azure Virtual Machines

# Azure CLI 1.0

azure vm list

# Azure CLI 2.0

az vm list

More Information

You can find much more information about using the Azure CLI 1.0 and 2.0 in the documentation on the Open Source project sites hosted on Github, and in the Microsoft Azure documentation. Here’s some link to those resources:

Also, don’t forget to try out the new Azure Cloud Shell to use bash with both the Azure CLI 1.0 and Azure CLI 2.0 command directly in the Azure Portal from anywhere!

Happy cross-platform, command-line scripting in the cloud!!

Azure CLIDevOpsportalVideo

Azure Cloud Shell with Azure CLI inside Azure Portal

Here’s a short introduction to the Azure Cloud Shell; a new feature recently released into the Microsoft Azure Portal as part of the many announcements that Microsoft made at the Build 2017 conference. I also show off the Azure CLI 1.0 and 2.0 support in the Bash shell support of the Azure Cloud Shell; along with going through the portal UI to see what’s being created at the Command-Line as I go through to create a Resource Group, App Service Plan and App Service Web App from the CLI all within the Azure Portal! Enjoy!
Read More

Azure CLIDevelopmentDevOpsInfrastructurePowerShell

What is Azure Resource Manager?

In the early days of Microsoft Azure the Portal was the primary tool to go in and configure your cloud components. After some time the Azure Service Manager API’s were introduced as a set of both PowerShell and Command-Line tools (X-Plat CLI). These tools allowed for Azure Automation to be scripted, however they were still a bit cumbersome as they were procedural based. More recently Microsoft overhauled the entire Azure Portal that exists today as well as a brand new set of Azure Resource Manager API’s. The purpose of Azure Resource Manager is more than just replacing Azure Service Manager. It’s real purpose is a story about automation and DevOps. Read More