PoshCode Logo PowerShell Code Repository

Get-MIX10Video (modification of post by Steven Murawski view diff)
diff | embed code: <script type="text/javascript" src="http://PoshCode.org/embed/1716"></script>download | new post

Modified Jaykul’s PDC downloader for the MIX 10 Conference.

Updated to dynamically enumerate the video sessions and changed the ppt to pptx.

  1. #requires -version 2.0
  2. PARAM (
  3.    [Parameter(Position=1, Mandatory=$true)]
  4.    [ValidateSet("wmv","wmvhigh","pptx", "mp4")]
  5.    [String]$MediaType,
  6.    [string]$Destination = $PWD
  7. )
  8. if( ([System.Environment]::OSVersion.Version.Major -gt 5) -and -not ( # Vista and ...
  9.    new-object Security.Principal.WindowsPrincipal (
  10.       [Security.Principal.WindowsIdentity]::GetCurrent()) # current user is admin
  11.    ).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) ) {
  12.    
  13. Write-Warning @"
  14. On VISTA and above, BITS limits the number of jobs in the queue to 300 jobs and the number of jobs that a non-administrator user can create to 60 jobs.
  15.  
  16. You MUST run this script from an elevated host if you're on Vista, Windows 7, or Server 2008
  17. "@
  18. }
  19.    
  20. Import-Module BitsTransfer
  21. Push-Location $Destination
  22. $Extension = $(switch -wildcard($MediaType){"wmv*"{"wmv"} "mp4"{"mp4"} "ppt"{"pptx"}})
  23. $BaseUrl = "http://ecn.channel9.msdn.com/o9/mix/10/{0}/{2}.{1}"
  24.  
  25. $DownloadSite= 'http://live.visitmix.com/Videos'
  26. [regex]$regex = ('(CL|DS|EX|FTL|KEY|PR|SVC)[0-9][0-9]')
  27.  
  28. $regex.matches((New-Object system.net.webclient).downloadstring($DownloadSite)) |
  29.     Select-Object -ExpandProperty value |  
  30.     Sort-Object -Unique |
  31.     ForEach-Object { Start-BitsTransfer -Source $($BaseUrl -f  $MediaType, $Extension, $_) -Async }
  32.    
  33. Pop-Location
  34.  
  35. Write-Host "You may now use Get-BitsTransfer to check on the status of the downloads. By default, failed transfers will be retried every 10 minutes for two weeks."
  36. # SIG # Begin signature block
  37. # MIIQpAYJKoZIhvcNAQcCoIIQlTCCEJECAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
  38. # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
  39. # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU1rHbsevByxO2Dg/epgqTER3S
  40. # YH6ggg3ZMIIGyzCCBbOgAwIBAgICAIMwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNV
  41. # BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
  42. # RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD
  43. # bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIE9iamVjdCBDQTAeFw0wOTEyMjIw
  44. # NjAwMTlaFw0xMTEyMjMxMTE2NTdaMIHIMSAwHgYDVQQNExcxMTc2NjEtcTdtZGI4
  45. # Y28zaGhBbXAxMjELMAkGA1UEBhMCVVMxEjAQBgNVBAgTCVdpc2NvbnNpbjESMBAG
  46. # A1UEBxMJR3JlZW5kYWxlMS0wKwYDVQQLEyRTdGFydENvbSBWZXJpZmllZCBDZXJ0
  47. # aWZpY2F0ZSBNZW1iZXIxGDAWBgNVBAMTD1N0ZXZlbiBNdXJhd3NraTEmMCQGCSqG
  48. # SIb3DQEJARYXc3RldmVAdXNlcG93ZXJzaGVsbC5jb20wggEiMA0GCSqGSIb3DQEB
  49. # AQUAA4IBDwAwggEKAoIBAQC94TIYIjVOhj2zKhUQngQ5nxqPCCH6/nsKe49FNqgE
  50. # SPG2PRX9WBNdYIg1QXhpkw16bw+1PItHJi6vjZ7OiYyrS1Sui6iUnQ3Nt40I1H7N
  51. # Hn4i5yn7AcFgUUCBpQgUXEc+10pZUnJ7mY1BqJJGXrDve8I2NxkDPiPwNnm6xqwO
  52. # XkeaWSYpxKv/QXI6J+wnSSvrcMZegMxZ8TbMT7ihNCt8Y+UVlKF7g4jcRjnGzn5h
  53. # F5qJodmgIIuQGkuKspTzqDrIMelJHqZTyvHWBjtA09zkDpMpDlhMP6A4Lu2vpIrc
  54. # 8Ztb9FAFD/+oTLo1cz80QjY2I7rM3oxAWwsdGrCkIn09AgMBAAGjggL3MIIC8zAJ
  55. # BgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIHgDA6BgNVHSUBAf8EMDAuBggrBgEFBQcD
  56. # AwYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDDTAdBgNVHQ4EFgQU
  57. # nU30uCjZk+GBJq9f25DWwbMRxhQwHwYDVR0jBBgwFoAU0E4PQJlsuEsZbzsouODj
  58. # iAc0qrcwggFCBgNVHSAEggE5MIIBNTCCATEGCysGAQQBgbU3AQIBMIIBIDAuBggr
  59. # BgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjA0Bggr
  60. # BgEFBQcCARYoaHR0cDovL3d3dy5zdGFydHNzbC5jb20vaW50ZXJtZWRpYXRlLnBk
  61. # ZjCBtwYIKwYBBQUHAgIwgaowFBYNU3RhcnRDb20gTHRkLjADAgEBGoGRTGltaXRl
  62. # ZCBMaWFiaWxpdHksIHNlZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg
  63. # dGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp
  64. # bGFibGUgYXQgaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjBjBgNV
  65. # HR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jcnRjMi1jcmwu
  66. # Y3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9jcnRjMi1jcmwuY3Js
  67. # MIGJBggrBgEFBQcBAQR9MHswNwYIKwYBBQUHMAGGK2h0dHA6Ly9vY3NwLnN0YXJ0
  68. # c3NsLmNvbS9zdWIvY2xhc3MyL2NvZGUvY2EwQAYIKwYBBQUHMAKGNGh0dHA6Ly93
  69. # d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczIuY29kZS5jYS5jcnQwIwYD
  70. # VR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
  71. # A4IBAQDAKxouOZbRGXHT2avNItDoYlnhoLXypJnLUiRX9LXoOSh5Tlj6EQPJuXyG
  72. # pqVDzPfN3YdqmqTSSVay7r7ndOa+VvyPppIc4xE7nMuSPT8HUej96sDJI0QBbQM2
  73. # +OoEVl/ZXcsPbaIGKVKkPFS3nTJ54UNxPKfHUK71IimVyhMQY/KaucD0BuU9Guqi
  74. # 8rh2eYqm2BKkD8RHJxSbTCoMY1g83B/pvaGs2bI7OCwL+sfICFQhoRzY7RLE2Rvy
  75. # maIr9CzN7EBTNYWSr56j/0vuvNFCn0htw2rspyN8ZS+pa3lc/MiWoLVJ09HwJ1pK
  76. # C1soqH5vqdPHHDkw1E5qY8uraRCRMIIHBjCCBO6gAwIBAgIBFTANBgkqhkiG9w0B
  77. # AQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkG
  78. # A1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
  79. # AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDcxMDI0MjIw
  80. # MTQ1WhcNMTIxMDI0MjIwMTQ1WjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0
  81. # YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRl
  82. # IFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRl
  83. # cm1lZGlhdGUgT2JqZWN0IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
  84. # AQEAyiOLIjUemqAbPJ1J0D8MlzgWKbr4fYlbRVjvhHDtfhFN6RQxq0PjTQxRgWzw
  85. # FQNKJCdU5ftKoM5N4YSjId6ZNavcSa6/McVnhDAQm+8H3HWoD030NVOxbjgD/Ih3
  86. # HaV3/z9159nnvyxQEckRZfpJB2Kfk6aHqW3JnSvRe+XVZSufDVCe/vtxGSEwKCaN
  87. # rsLc9pboUoYIC3oyzWoUTZ65+c0H4paR8c8eK/mC914mBo6N0dQ512/bkSdaeY9Y
  88. # aQpGtW/h/W/FkbQRT3sCpttLVlIjnkuY4r9+zvqhToPjxcfDYEf+XD8VGkAqle8A
  89. # a8hQ+M1qGdQjAye8OzbVuUOw7wIDAQABo4ICfzCCAnswDAYDVR0TBAUwAwEB/zAL
  90. # BgNVHQ8EBAMCAQYwHQYDVR0OBBYEFNBOD0CZbLhLGW87KLjg44gHNKq3MIGoBgNV
  91. # HSMEgaAwgZ2AFE4L7xqkQFulF2mHMMo0aEPQQa7yoYGBpH8wfTELMAkGA1UEBhMC
  92. # SUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdp
  93. # dGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRp
  94. # ZmljYXRpb24gQXV0aG9yaXR5ggEBMAkGA1UdEgQCMAAwPQYIKwYBBQUHAQEEMTAv
  95. # MC0GCCsGAQUFBzAChiFodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9zZnNjYS5jcnQw
  96. # YAYDVR0fBFkwVzAsoCqgKIYmaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3Nmc2Nh
  97. # LWNybC5jcmwwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3Nmc2NhLmNy
  98. # bDCBggYDVR0gBHsweTB3BgsrBgEEAYG1NwEBBTBoMC8GCCsGAQUFBwIBFiNodHRw
  99. # Oi8vY2VydC5zdGFydGNvbS5vcmcvcG9saWN5LnBkZjA1BggrBgEFBQcCARYpaHR0
  100. # cDovL2NlcnQuc3RhcnRjb20ub3JnL2ludGVybWVkaWF0ZS5wZGYwEQYJYIZIAYb4
  101. # QgEBBAQDAgABMFAGCWCGSAGG+EIBDQRDFkFTdGFydENvbSBDbGFzcyAyIFByaW1h
  102. # cnkgSW50ZXJtZWRpYXRlIE9iamVjdCBTaWduaW5nIENlcnRpZmljYXRlczANBgkq
  103. # hkiG9w0BAQUFAAOCAgEAUKLQmPRwQHAAtm7slo01fXugNxp/gTJY3+aIhhs8Gog+
  104. # IwIsT75Q1kLsnnfUQfbFpl/UrlB02FQSOZ+4Dn2S9l7ewXQhIXwtuwKiQg3NdD9t
  105. # uA8Ohu3eY1cPl7eOaY4QqvqSj8+Ol7f0Zp6qTGiRZxCv/aNPIbp0v3rD9GdhGtPv
  106. # KLRS0CqKgsH2nweovk4hfXjRQjp5N5PnfBW1X2DCSTqmjweWhlleQ2KDg93W61Tw
  107. # 6M6yGJAGG3GnzbwadF9BUW88WcRsnOWHIu1473bNKBnf1OKxxAQ1/3WwJGZWJ5Ux
  108. # hCpA+wr+l+NbHP5x5XZ58xhhxu7WQ7rwIDj8d/lGU9A6EaeXv3NwwcbIo/aou5v9
  109. # y94+leAYqr8bbBNAFTX1pTxQJylfsKrkB8EOIx+Zrlwa0WE32AgxaKhWAGho/Ph7
  110. # d6UXUSn5bw2+usvhdkW4npUoxAk3RhT3+nupi1fic4NG7iQG84PZ2bbS5YxOmaII
  111. # sIAxclf25FwssWjieMwV0k91nlzUFB1HQMuE6TurAakS7tnIKTJ+ZWJBDduUbcD1
  112. # 094X38OvMO/++H5S45Ki3r/13YTm0AWGOvMFkEAF8LbuEyecKTaJMTiNRfBGMgnq
  113. # GBfqiOnzxxRVNOw2hSQp0B+C9Ij/q375z3iAIYCbKUd/5SSELcmlLl+BuNknXE0x
  114. # ggI1MIICMQIBATCBkzCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t
  115. # IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25p
  116. # bmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlh
  117. # dGUgT2JqZWN0IENBAgIAgzAJBgUrDgMCGgUAoHgwGAYKKwYBBAGCNwIBDDEKMAig
  118. # AoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgEL
  119. # MQ4wDAYKKwYBBAGCNwIBFjAjBgkqhkiG9w0BCQQxFgQUvCnDmypuBgpyTnsqsizH
  120. # k7dxTZ0wDQYJKoZIhvcNAQEBBQAEggEAKfOmoJWHshLV7kwyeZHtShnB3E1HpxLg
  121. # GTfATRtZFVaomevrDBhFLLkLRLmeTHE6hmLEiRud5C4KOU7GzDG0St3Bb9oggeO/
  122. # dXDrkfUHlk7VJLMz+BiwbANAeiN5BNSuPXDzrYRlYHaGYWbMtrh2z5q9fHT/2IjF
  123. # 40N80PN4KDx2k6M49kPAA49DiLwEuCrjHZSeKgdx6zANNydhkBx8xvkAtpBGP0cX
  124. # lnh22mPL0OAS7vV8Z8Xp9E54eBnjbAVE77QidlRJj9fL7TXuT9bkASiWAFAAYF/J
  125. # fEG7coOCJyr0ZrcIxaOe94HwzR4SMHzU+mpogUXDW6g+lCc9kvJC2w==
  126. # SIG # End signature block

Submit a correction or amendment below (
click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:


Remember me