How I used PowerShell to download Channel9 recordings from events

Previously I’ve written Session Downloader to get all (or selected) session recordings from events such as TechEd and Build. Before I wrote the app, I wrote scripts based in PowerShell for the same thing.

Now, in time for the Connect() conference I’ve written a PowerShell module in C# that allows you to download recordings. This is how I use this module to download all recordings from Connect() or any other event.

SessionDownloader-PoSh

First, I’ve hosted the files at TechNet Gallery here. Download them from there and while you are at it, feel free to vote for it.

Extract the ZIP archive and you will find some DLL files and a sample script, which also follows below. What we do is that we start by importing the module, after that we gets data on ALL Channel9 events. After that we filter out the one we want. We then get all data, including data on the sessions for that event. Finally we start a bits transfer within a foreach loop going through each and every session for that conference.

Import-Module .\SessionDownloader.dll

$AllChannel9Events = Get-Channel9Events

$TheConnectEvent = $AllChannel9Events | Where-Object “DisplayName” -Like “Connect()*”

$TheConnectEventWithAllSessionsInfo = Get-Channel9Event -ID $TheConnectEvent.ID -IncludeSessionData

Foreach ($Session in $TheConnectEventWithAllSessionsInfo.Sessions)

{

$DestinationPath = (Join-Path (Join-Path $env:USERPROFILE “Videos”) $Session.VideoMP4High.Split(‘/’)[-1])

Start-BitsTransfer -DisplayName “Downloading session: $($Session.Title) -Description $Session.NoHTMLDescription -Source $Session.VideoMP4High -Destination $DestinationPath

}

Good luck with all learning!

 

/Tim

/

About The Author

Tim Nilimaa is a consultant with Lumagate in Sweden. He has been working with Configuration Manager for 8 years. His knowledge has been selected as a speaker at many events among them Microsoft Management Summit.

No Comments