(somewhat) Social
« Loading Microsoft Connect Items To A Database–Intro | Main | T-SQL Tuesday #13–A Mysterious Business »

MCM Readiness Video Downloads

There have been some major changes to the Microsoft Certified Master (MCM) SQL 2008 certification (you can see more details on this at http://www.microsoft.com/learning/en/us/certification/master-sql-path.aspx)

What I consider a HUGE plus alongside the changes is the posting of MCM readiness videos (recorded by acknowledged experts in the field). These videos are free for download and have been posted out on Technet.

There has been a lot of talk on Twitter about simple ways to download all of the videos. Today Aaron Nelson (blog|twitter) gave a presentation called “Powershell Grab Bag” as a part of the Powershell Virtual Chapter. In this presentation he provided a script to download all the PASS Summit videos (this will only work for the Summit attendees as you have to have a login, just think of it as encouragement to attend next year). Aaron’s script did the job awesomely and I was able to download 165 Summit videos easily just by kicking off the Powershell script.

I reworked Aaron’s script for my own nefarious purposes and with his kind permission I give you a process to download all the MCM videos.


Firstly download MCMList.csv and put it in C:\Temp. Once that’s done you just need to download “Download MCM Vids.PS1” and run it.

It will create a new directory C:\Temp\MCMVids and download all the current videos. One thing you might want to change in the script is:

$url = $File.Zipped

Depending upon what you want to download you can change Zipped to Zune, WMV or MP3 to download in that format.


The only downside is that the MCMList needs to be manually maintained. This isn’t a lovely elegant solution, but it does work (I used it to download videos today).

As more MCM readiness videos get uploaded I will update the csv file so that it’s always current.

If you decide to use this please let me know how it works for you, also if you want me to add the other video/audio formats let me know and I’ll update the scripts accordingly.

PrintView Printer Friendly Version

EmailEmail Article to Friend

References (5)

References allow you to track sources for this article, as well as articles that were written in response to this article.
  • Response
    Response: 時計 価格
    女性 時計 人気
  • Response
    Response: rorex
    rolex gmt
  • Response
    NFL is really 1 of the biggest sports in America. It has a big following.
  • Response
    Response: index program
    Neat Web page, Maintain the very good job. Thanks a ton.
  • Response
    Response: job interview tips
    English To SQL - English To SQL - Blog - MCM Readiness Video Downloads

Reader Comments (8)

Awesome job Aaron and Nic! Love it!

December 16, 2010 | Unregistered CommenterCameron Mergel


For me it worked well. Congrats for this post.

Best Regards,
Marcos Freccia

January 4, 2011 | Unregistered CommenterMarcos Freccia

I'll be updating the csv file in the next couple of days for the new videos...stay tuned.

January 5, 2011 | Registered CommenterNic

You have a extra comma on header row on that csv which causes a error. Other wise, awsome and thank you.

January 18, 2011 | Unregistered CommenterMatt

I had to remove the end of line comas from the csv file, and it worked great. Thanks very much.

April 25, 2011 | Unregistered CommenterJanStud

The updated CSV file only has one error that has to fixed before executing the script. On 20E (row 20, column E (MP3)), the URL is actually showing in column F. So just cut and paste that value into E20 and then save. Script should run with no errors.
You receive these two errors from this issue:
"Import-Csv : Cannot process argument because the value of argument "name" is invalid. Change the value of the "name" argument and run the operation again."
"You cannot call a method on a null-valued expression."

June 2, 2011 | Unregistered CommenterShawn Melton

Great script.

I had to add 3 extra lines after

$webclient = New-Object system.net.webclient

to get it working with a proxy server.

$proxy = new-object System.Net.WebProxy "proxy.server.com:8080" #replace proxy.server.com:8080 with your proxy server address and prot
$proxy.UseDefaultCredentials = $true


January 4, 2012 | Unregistered CommenterGreg

Thanks for this. I got this working the csv had an extra comma at the end which I have taken off. thanks for sharing this.

August 10, 2013 | Unregistered CommenterAudra

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>