Wednesday, February 11, 2015

Microsoft Azure & PowerShell : Export the list of all "Azure VM DISK Images" list to CSV or HTML using PowerShell script.

 

How can I get a list of all “Microsoft Azure VM OS Image lists”, She asked me over the Phone.

Who? Who else! Our own “A! Murky Ana.”

I said: Yes, you can, you just need to use “Get-AzureVMImage” cmdlet , to use it just  install a “Azure PowerShell Module, and run the above cmdlet and that’s all you need to do.

A! Murky Ana. : Can we export the list of Azure VM OS DISK Images  to HTML format or in a .CSV format?

Me: Yes you can.

A! Murky Ana. : How?

Me: You just need to write a small function / script  to do that & a few tiny scripting techniques to do data manipulation.

A! Murky Ana. : Can you do it for me?

Me: No! it’s your quest, you have to deal with this.

A! Murky Ana. : Ok, let's make a deal, You show me once only , the first and the last time  to teach me how to do that, I won’t ask you again, I want to see if that kind of script we can write.

Me.: Ok, First and the last time.

I hang up the phone.

After one day, I call her and told her, did you saw the movie “Galaxy of the Guardian”?

A! Murky Ana. : No?

Me: Go a Get a DVD of it, it’s so cool movie.!

A! Murky Ana. : Don’t you suppose to show me something? A script to Export a Azure Virtual Image list to .CSV file?

Me. Yes, I know, I am sending you the screen sharing link by using http://join.me ,  See it and I will walk through a script which I have written. Please download it from the below link

https://gallery.technet.microsoft.com/Azure-Get-the-List-of-all-520816af

This is a script function, you can run the function simply by using  Export-AzureVMImageList ” than this will generate a list of all Azure Virtual Image list those are available in to a HTML page and the page will open automatically.

 

To know more about PowerShell Function, visit this link : https://technet.microsoft.com/en-us/library/hh847829.aspx  

 

1

 

 

If you want to export the Azure VM image list to the .CSV format, then just use the –CSV “Export-AzureVMImageList -CSV ” switch with the function and it will generate a .CSV file containing the same information.

 

2

Exporting the list either to .CSV or HTML is quite handy, so that you can search the name and DISK image of the OS easily which you want to create, after having a list, it’s a matter of sec milliseconds, copy and paste.,

Remember the download link: https://gallery.technet.microsoft.com/Azure-Get-the-List-of-all-520816af

This script by default export all files  in the user’s temp directory.

You can know about your temp directory by using $env:TEMP variable in the PowerShell console.

 

temp

 

Just for your knowledge, there is three main part of the this current scripts.

1.    The Switch Parameter

2.    IF Else Statement

3.    The ForEach loop

 

The Switch Parameter

 

switch

 

This works like a ON/Off switch. If you use the –CSV parameter with the function, the script set it ON ( $true) and export the Output in the CSV format.  Else it keep it in the OFF state ( $false).

 

To know more about Parameters visit this link : https://technet.microsoft.com/en-us/library/hh847743.aspx

 

The IF-ELSE  Statement

 

true-false

 

The IF block checks if the –CSV is ON or OFF, if the –CSV is present in function, then it will run the   IF block code to export the file to .CSV format, otherwise the ELSE block will run and export the file in the HTML format.

 

The ForEach loop.

 

3

By using For-Each loop , we are manipulation with data and saving it as a single line to a  variable $body1

 

That’s it J , you know the trick, Now download the script and play with it. Try to change the default path. Try to change the File Name, or try to add some new parameters.

 

Check the video below on "How you can run the script".

 

Export-AzureVmList

 

 

Me: Happy?

 

A! Murky Ana. :  Yes,

 

Me. : Go and now learn more about "Microsoft Azure and PowerShell"

 

and she hung up the phone!!!

 

HOW RUDE............

 

* All characters appearing in this work are fictitious Any resemblance to real persons, living or dead, is purely coincidental.

 z1

Regards.

Aman Dhally
If you like, you can follow me on Twitter and Facebook. You can also check my “You Tube channel for PowerShell video tutorials. You can download all of my scripts from “Microsoft TechNet Gallery”.

 


 


 


 


 


 


 


 


 

Tuesday, February 10, 2015

PowerShell Suggestions : Write the Azure PowerShell Module version in all of your Azure Scripts.

 

She emailed me, Yes! "A Murky Ana!" and in the email she asked me that if it is necessary to document a "PowerShell Module version" in the "PowerShell scripts"?

I replied to her :-

Hi Ana!,

It's really good to document "PowerShell Module" version information of you are about to use a single PowerShell module only. For example, if you about to write a Long PowerShell scripts only for Microsoft Azure, then it's worth to mention a module version on the top of your PowerShell Scripts.

it's help other to check their Azure PowerShell module version before running your scripts so that no compatibility issues arises. If you like you can write a little bit tiny-miny PowerShell function to check the module version and only run the scripts if they match the desired version of the PowerShell modules.

09-02-2015 22-32-39

Checking the version of any module is very simple, just see the below command for an example.

PS C:\> (Get-Module -Name 'Azure').Version

Get-Module

I am hoping that you are able to understand now that it's a good to write the information of Module versions in the scripts.

* All characters appearing in this work are fictitious Any resemblance to real persons, living or dead, is purely coincidental.

 

Regards.

Aman Dhally
If you like, you can follow me on Twitter and Facebook. You can also check my “You Tube channel for PowerShell video tutorials. You can download all of my scripts from “Microsoft TechNet Gallery”.