Download all SPC12 PowerPoints and Videos – PowerShell Script

Back by popular demand, here is the script to grab all the PowerPoints and Videos.  This year the script shouldn't take down the site (like it did last year b/c everyone downloaded it and ran it at the same time) as they actually built it on Azure (blobs)!!!

The authentication part was quite a bit different than last year's because you needed to pass the wctx to azure after you were logged into LiveID.  This then must be passed on to the MySPC website where you are then simply using an ASP.NET Session and a .ASPXAUTH cookie.

Once logged into the site, you must hit every session page.  I did this for you already and all the valid session ids are in the "sessions.txt" file.  If you find I missed one, simply add it to the file and re-run the script. After hitting a page, you will see that the links to the files are stored in an Azure Blob endpoint (http://hubb.blob.core.windows.net/f6e6035d-a0cd-42d4-aa62-c12756979e5f-published).  The links to these end points expire after a small amount of time and have a querystring auth component.   This means you need to download the files as you hit each page.  If you wait too long, you will need to get the links again.

There are two important variables in the script (one is downloadPPTX and the other is downloadVideos).  I'm not that interested in videos so by default, the variable is set to $false.  Being that this is on Azure, I was somewhat surprised to see the performance wasn't that great.  I would have though the files would download a lot quicker!

RAR File is attached below… be sure to run it a few times over the next few days…they still haven't posted all the powerpoints and videos.

UPDATE:  Add the following to the script to handle special characters in your password:

#endcode the password
[Reflection.Assembly]::LoadWithPartialName("System.Web")
$encodedPassword = [System.Web.HttpUtility]::UrlEncode($password)
GetAuth $username $encodedPassword

Enjoy,
Chris