Automating Microsoft Azure with PowerShell Review


I was again asked by Packt Publishing to review one of their books, this time, it was Automating Microsoft Azure with PowerShell. It came in good time, because I am starting to use Azure more and more, and PowerShell is a timesaver – actually, it is the only way to do lots of things. I have reviewed other books on Azure, which you can find at my blog, here.

The book starts with an introductory chapter, where PowerShell and Azure are introduced, and then goes to the real thing. Not all APIs are covered, namely, Machine Learning, DocumentDB, BizTalk, Stream Analytics, etc, etc, which is not really surprising, since it seems that every month a new service pops out. The book is ~150 pages long, distributed between 10 chapters, which is perfectly acceptable for the amount of topics it covers. The target audience is clearly administrators with little knowledge of Azure.

The author is John Chapman, which can be followed at Twitter as @chapmanjw.

Chapter 1: Getting Started with Azure and PowerShell

This chapter offers an introduction to PowerShell and how to install the Azure integration, retrieve subscription files and connecting to Azure. At the end of it we see how to create a blank website using PowerShell.

Chapter 2: Managing Azure Storage with PowerShell

This one is about storage. It explains about the major storage options that Azure has to offer – Table storage, Blobs, Queues and Files. Basic operations are discussed and we are presented with an example of a backup system.

Chapter 3: Managing Azure Virtual Machines with PowerShell

Next we have a discussion of the APIs available for the management of virtual machines (VMs). We learn how to create the many kinds of VMs existing in the Azure gallery, and performing all the typical operations, including creating snapshots and managing its storage.

Chapter 4: Managing Azure SQL Databases with PowerShell

In this chapter we learn how to create SQL servers and databases, configuring access to them, executing queries and finally exporting and importing data to and from.

Chapter 5: Deploying and Managing Azure Websites

Chapter 5 is about Azure Websites, the old name for Azure Web Apps. We learn how to create websites and how to provision them. Here I got the feeling that a lot is missing.

Chapter 6: Managing Azure Virtual Networks with PowerShell

A short chapter on how to configure virtual networks. Again, a lot more could be said on this.

Chapter 7: Managing Azure Traffic Manager with PowerShell

Azure Traffic Manager is Azure’s load-balancing mechanism. It explains how to configure websites for using the different load balancing techniques and load balancing profiles.

Chapter 8: Managing Azure Cloud Services with PowerShell

Cloud Services is another way to host VMs. The chapter explains how to create and manage cloud services, roles and endpoints and how retrieve Remote Desktop connection files.

Chapter 9: Managing Azure Active Directory with PowerShell

This chapter explains the basics of the Azure Active Directory (AD), the main authoritative source of identities in an Azure virtual network. We learn how to create and configure the basic options of an AD, managing users, groups and password policies. The example at the end of the chapter is about bulk creating users in the AD.

Chapter 10: Automating Azure with PowerShell

The final chapter talks about one of the automation mechanisms in Azure. We learn how to create an automation account and how to add runbooks to it.


The book is very succinct, and some topics would require substantially more coverage. It does provide some information enough to cover the basic usage of the covered Azure services.