Getting started with Microsoft Azure PowerShell
I will be writing a series of blogs around Microsoft Azure & Hybrid Cloud. As a quick start, wanted to write up on how to setup our machines with PowerShell to work with Microsoft Azure.
Setup machine with Microsoft Azure PowerShell
- If you haven’t installed Web Platform Installer, you can download and install it from http://www.microsoft.com/web/downloads/platform.aspx
- Download and install ‘Microsoft Azure PowerShell’ from Web Platform Installer. If you do not find that in ‘Spotlight’ you can perform a search for ‘Microsoft Azure PowerShell’
Set your default subscription and storage account
Download Azure Publish Settings file , configure default subscription and configure default storage account. There is a very good blog article from Michael Walsham explaining this step-by-step. I strongly recommend you read through that post. There is one minor change in Azure PowerShell cmdlet usage (based on a cmdlet update from Microsoft), from the post you see in the blog. I have written a PowerShell script with minor updates, which you can download from here.
Script Downloads
https://gist.github.com/Manesh-R/9ba344e08ebf7e6743a9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Ref: https://manesh.me/2015/02/05/getting-started-with-microsoft-azure-powershell/ | |
# Step 0: Define all variable values | |
$publishSettingsFile = "C:\Users\Manesh\Documents\AzureSubscriptions.publishsettings"; | |
$location = "West US"; | |
$subscriptionName = "Visual Studio Premium with MSDN"; | |
# Sometimes, you might have multiple MSDN subscriptions | |
# If someone else add you as a co-admin on their MSDN subscription etc. | |
# If so, choose the subscription Id option | |
$subscriptionId = $null; | |
# Sometimes, this account is created by someone else. | |
# So if the script fails, you might want to change this. | |
$storageAccountName = "manesh"; | |
# Step 1: Import Azure Publish Settings File | |
Import-AzurePublishSettingsFile $publishSettingsFile | |
# Step 2: Set current subscription | |
Get-AzureSubscription | |
if ($subscriptionId -eq $null) { | |
Select-AzureSubscription -SubscriptionName $subscriptionName -Current | |
} else { | |
Select-AzureSubscription -SubscriptionId $subscriptionId -Current | |
} | |
# Display only current subscription | |
Get-AzureSubscription -Current | |
# Step 3: Set current storage account | |
$isStorageGood = $false; | |
try { | |
Get-AzureStorageAccount –StorageAccountName $storageAccountName -ErrorAction Stop | Out-Null | |
if ((Get-AzureStorageAccount –StorageAccountName $storageAccountName).Location -eq $location) { | |
$isStorageGood = $true; | |
Write-Host "'$storageAccountName' storage account already exists, skipping creation" | |
} else { | |
Write-Host "'$storageAccountName' storage account already exists, but in a different location. Try another storage." | |
} | |
} | |
catch { | |
if (!(Test-AzureName -Storage $storageAccountName)) { | |
Write-Host "Creating Storage Account $storageAccountName" | |
New-AzureStorageAccount -StorageAccountName $storageAccountName -Location $location | |
$isStorageGood = $true; | |
} | |
else { | |
Write-Host "'$storageAccountName' storage account already exists and is owned by some other subscription. Try a different name." | |
} | |
} | |
if ($isStorageGood) { | |
if ($subscriptionId -eq $null) { | |
Set-AzureSubscription -SubscriptionName $subscriptionName -CurrentStorageAccountName $storageAccountName | |
} else { | |
Set-AzureSubscription -SubscriptionId $subscriptionId -CurrentStorageAccountName $storageAccountName | |
} | |
# You should see the provided subscription and storage account name while executing following command | |
Get-AzureSubscription -Current | |
Write-Host "All is well" | |
} else { | |
Write-Host "Try a different storage account name and re-run the script" | |
} |
.
Posted on 2015/02/05, in Microsoft Azure and tagged IaaS, Microsoft Azure, Microsoft Azure PowerShell, PowerShell. Bookmark the permalink. Leave a comment.
Leave a comment
Comments 0