Downloading MMS2013 Content with PowerShell

Raise your hand of you want to right-click > Save As… upwards of 200 MMS 2013 session and interview video files and then do the same for all the slide decks.

Yeah…me neither.

Last year the content was posted on the MMS2012 CommNet site, so you had to register and log in to download the content.  It took a while but we tracked down where the actual files were stored.  It was only a matter of time before a few enterprising individuals put together PowerShell scripts to automate the download.  And there was much rejoicing (yay!).

This year’s content is hosted on the Microsoft Channel9 site: http://channel9.msdn.com/Events/MMS/2013  Because no account is required it actually makes content retrieval so much easier.

Stefan Roth posted an update from last year’s great download script, which Phil Pritchett then further modified.  There are two scripts involved: one to retrieve a list of the available session files from Channel9, and one to download the files from that list.  While the script worked extremely well, the one thing I didn’t like was that it simply downloaded the session files with just the session ID as the name (ex – “UD-B301.wmv”).  I much prefer having the files use the session name (ex – “Application Delivery with System Center 2012 Configuration Manager SP1 and Windows Intune.wmv” so I set about to further modify the script to handle this.

You can download the latest version of the script from HERE.

All the data is already being retrieved, it just needs to be parsed and passed along. The updates made simply add the session name + file extension to the sessions.txt file (using a double comma as a delimiter), then use that as the target file name.

You’ll be prompted for a path when running the download script; the script will create an MMS2013Sessions folder under that path and store the content there (Tip: don’t use quotes in the path!). If you have already run it in the past and downloaded some of the files, it will see them and not attempt to download them again.

Note this script does require PowerShell 3.0 (downloadable as part of the Windows Management Framework 3.0 update).

Expect to let this run a while…you’re looking at well over 30GB of files being downloaded, and it’s done in serial fashion not parallel.  Enjoy!

 

Chrysanth WebStory WebStory: Let’s Blog on Twitter!
email

Written by , Posted .
  • John Hammer

    How big is it once you’ve downloaded them all?

  • Stewart McGee

    I can’t get this to work. I get lots of powershell errors.

    The term ‘Invoke-WebRequest’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling o

    f the name, or if a path was included, verify that the path is correct and try again.

    At C:SCCMDownloadMMS2013SessionsCreate-MMS2013SessionFile.ps1:14 char:25

    + $mms = Invoke-WebRequest <<<< -Uri "http://www.2013mms.com/Topic/List?format=html&Keyword=&Categories=&Timeslot=&Speaker=&Day=&Start=

    &Finish=&oc=&take=-1&skip=0&_=1364899913083"

    + CategoryInfo : ObjectNotFound: (Invoke-WebRequest:String) [], CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException

    Is the first one, please help.

  • Charlie Maurice

    Doesnt work as the page the session table looks at doesnt load:

    http://www.2013mms.com/Topic/List?format=html&Keyword=&Categories=&Timeslot=&Speaker=&Day=&Start=&Finish=&oc=&take=-1&skip=0&_=1364899913083

    Havent had time to play with why it doesnt load.

  • Nathan McNulty

    Need to make a change to the script. It appears the value for “take” no longer accepts “-1″ as a value. If you change the URL to take=500, it should download everything just fine.

    • Charlie Maurice

      Thanks! Works great now =D