Laptop Setup
Bootcamp with Windows on one partition and OSX on another.
A great way to manage your Windows Azure environment is to use a Docker Container, instead of powershell.
If you are new to automating your infrastructure and code, then this will be a great way to start on the right foot from day one.
Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production.
Install Docker
Grab the latest version of docker here.
After Installing Docker
1. Use bootcamp to boot back into OSX.
2. In OSX restart the machine (warm restart)
3. Hold the Options key down to boot back into Windows
The above looks like a waste of time, However, this will enable Virtualisation in the Bios of the Macbook, since OSX does this by default and windows will not. So it is a small hack to get virtualisation working via a warm reboot from OSX back to Windows.
Grab a Docker Virtual Image with Azure CLI
Run the following command:
docker run -it microsoft/azure-cli
The above command will connect to the Docker Repository and download the image to run in a container. This is basically a virtualized environment where you can now manage your windows environment from.
Install Azure Command Line Interface (CLI)
Run the following command:
Azure Help
Look carefully at the image below. Powershell was used to run Docker. However once I run Docker, look at my prompt (root@a28193f1320d:/#). We are now in a Linux virtual machine (a28193f1320d) and we now have total control over our Azure resources from the command line.

Now, the Linux guys will start having some respect for us Windows guys. We are now entering an age where we need to be agnostic to technology.
Below we are now running a full blown Kernel of Linux in a Windows Powerhsell prompt.
What is even cooler, we are using a Linux VM to manage the Azure environment, and so we get awesome tools for free.
Good Habits
By using docker with the Azure Command Line interface, you will put yourself into a good position by automating all your infrastructure and code requirements.
You will be using the portal less and less to manage and deploy your azure resources such as Virtual Machines, Blobs and Permissions.
Note, we are now using ARM – Azure Resource Management, some features in ARM will not be compatible with older Azure deployments. Read more about ARM.
Conclusion
You can deploy, update, or delete all the resources for your solution in a single, coordinated operation. You use a template for deployment and that template can work for different environments such as testing, staging, and production. Resource Manager provides security, auditing, and tagging features to help you manage your resources after deployment.
CLI Reference
help: Commands: help: account Commands to manage your account information and publish settings help: acs Commands to manage your container service. help: ad Commands to display Active Directory objects help: appserviceplan Commands to manage your Azure appserviceplans help: availset Commands to manage your availability sets. help: batch Commands to manage your Batch objects help: cdn Commands to manage Azure Content Delivery Network (CDN) help: config Commands to manage your local settings help: datalake Commands to manage your Data Lake objects help: feature Commands to manage your features help: group Commands to manage your resource groups help: hdinsight Commands to manage HDInsight clusters and jobs help: insights Commands related to monitoring Insights (events, alert rules, autoscale settings, metrics) help: iothub Commands to manage your Azure IoT hubs help: keyvault Commands to manage key vault instances in the Azure Key Vault service help: lab Commands to manage your DevTest Labs help: location Commands to get the available locations help: network Commands to manage network resources help: policy Commands to manage your policies on ARM Resources. help: powerbi Commands to manage your Azure Power BI Embedded Workspace Collections help: provider Commands to manage resource provider registrations help: quotas Command to view your aggregated Azure quotas help: rediscache Commands to manage your Azure Redis Cache(s) help: resource Commands to manage your resources help: role Commands to manage role definitions help: servermanagement Commands to manage Azure Server Managment resources help: storage Commands to manage your Storage objects help: tag Commands to manage your resource manager tags help: usage Command to view your aggregated Azure usage data help: vm Commands to manage your virtual machines help: vmss Commands to manage your virtual machine scale sets. help: vmssvm Commands to manage your virtual machine scale set vm. help: webapp Commands to manage your Azure webapps help: help: Options: help: -h, --help output usage information help: -v, --version output the application version help: help: Current Mode: arm (Azure Resource Management)